X-Git-Url: https://pwan.org/git/?p=certmaster.git;a=blobdiff_plain;f=certmaster%2Fconfig.py;h=bf9b87bad2a47f83266a75bfe5147e83b707a828;hp=4cf2a7fa0ed8779d15913f60abd0984fba00118e;hb=8c1e7ce1f1b146ba794779ccad8816baea16d64a;hpb=d7a437a33c7767917fdc963953a39286a01db696 diff --git a/certmaster/config.py b/certmaster/config.py index 4cf2a7f..bf9b87b 100644 --- a/certmaster/config.py +++ b/certmaster/config.py @@ -17,12 +17,12 @@ import os import sys -import warnings import copy import urlparse from ConfigParser import NoSectionError, NoOptionError, ConfigParser from ConfigParser import ParsingError import exceptions +import warnings CONFIG_FILE = "/etc/certmaster/certmaster.conf" @@ -60,7 +60,7 @@ class Option(object): @param obj: The configuration instance to modify. @param objtype: The type of the config instance (not used). @return: The parsed option value or the default value if the value - wasn't set in the configuration file. + was not set in the configuration file. ''' if obj is None: return self @@ -448,7 +448,7 @@ class BaseConfig(object): self.cfg.write(fileobj) def getConfigOption(self, option, default=None): - warnings.warn('getConfigOption() will go away in a future version of Yum.\n' + warnings.warn('getConfigOption() will go away in a future version of certmaster.\n' 'Please access option values as attributes or using getattr().', DeprecationWarning) if hasattr(self, option): @@ -456,7 +456,7 @@ class BaseConfig(object): return default def setConfigOption(self, option, value): - warnings.warn('setConfigOption() will go away in a future version of Yum.\n' + warnings.warn('setConfigOption() will go away in a future version of certmaster.\n' 'Please set option values as attributes or using setattr().', DeprecationWarning) if hasattr(self, option): @@ -475,4 +475,24 @@ def read_config(config_file, BaseConfigDerived): print >> sys.stderr, "Error reading config file: %s" % e sys.exit(1) opts.populate(confparser, 'main') + + ## build up the cas structure + opts.ca = {} + + ## Add the default items when just using a single ca + opts.ca[''] = BaseConfigDerived() + opts.ca[''].hash_function = "sha256" + opts.ca[''].populate(confparser,'main') + + ## Add additonal ca sections + sections = confparser.sections() + for a_section in sections: + if a_section.startswith('ca:'): + ca_name = a_section[3:] + opts.ca[ca_name] = BaseConfigDerived() + opts.ca[ca_name].hash_function = "sha256" + opts.ca[ca_name].populate(confparser,a_section) + opts.ca[ca_name].cakey = None + opts.ca[ca_name].cacert = None + return opts