X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Ftrust%2Ftrustedroots.py;h=a505aea461f8022de004fefd56887324e7f51ce5;hb=e80760cd31b6b247f2841ba86a4828fa3be13e56;hp=65b97fa63bf474e204434c7845dec3b46cf37a17;hpb=2ddd571064c5ec6a31cbc748e6ddc21407bba4b4;p=sfa.git diff --git a/sfa/trust/trustedroots.py b/sfa/trust/trustedroots.py index 65b97fa6..a505aea4 100644 --- a/sfa/trust/trustedroots.py +++ b/sfa/trust/trustedroots.py @@ -2,8 +2,15 @@ import os.path import glob from sfa.trust.gid import GID +from sfa.util.sfalogging import logger + +class TrustedRoots: + + # we want to avoid reading all files in the directory + # this is because it's common to have backups of all kinds + # e.g. *~, *.hide, *-00, *.bak and the like + supported_extensions= [ 'gid', 'cert', 'pem' ] -class TrustedRootList: def __init__(self, dir): self.basedir = dir # create the directory to hold the files, if not existing @@ -20,8 +27,17 @@ class TrustedRootList: def get_file_list(self): file_list = [] - pattern=os.path.join(self.basedir,"*.gid") + pattern=os.path.join(self.basedir,"*") for cert_file in glob.glob(pattern): if os.path.isfile(cert_file): - file_list.append(cert_file) + if self.has_supported_extension(cert_file): + file_list.append(cert_file) + else: + logger.warning("File %s ignored - supported extensions are %r"%\ + (cert_file,TrustedRoots.supported_extensions)) return file_list + + def has_supported_extension (self,path): + (_,ext)=os.path.splitext(path) + ext=ext.replace('.','').lower() + return ext in TrustedRoots.supported_extensions