import os
import sys
-import warnings
import copy
import urlparse
from ConfigParser import NoSectionError, NoOptionError, ConfigParser
@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
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):
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):
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 = None
+ opts.ca[''].populate(confparser,'main')
+
+ if opts.ca[''].hash_function == 'sha1':
+ log.warning('hash_function value of sha1 is deprecated', DeprecationWarning)
+ elif opts.ca[''].hash_function == 'md5':
+ print >> sys.stderr, "Error: hash_function of md5 is not supported"
+
+ ## 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 = None
+ opts.ca[ca_name].populate(confparser,a_section)
+ opts.ca[ca_name].cakey = None
+ opts.ca[ca_name].cacert = None
+
+ if opts.ca[ca_name].hash_function == 'sha1':
+ warnings.warn('hash_function value of sha1 is deprecated in ca:%s section' % ca_name, DeprecationWarning)
+ elif opts.ca[ca_name].hash_function == 'md5':
+ print >> sys.stderr, "Error: hash_function of md5 is not supported in ca:% section" % ca_name
+
return opts