sha1 supprt checkpoint
[certmaster.git] / certmaster / config.py
index 2cec66f..c6e9174 100644 (file)
@@ -17,7 +17,6 @@
 
 import os
 import sys
-import warnings
 import copy
 import urlparse
 from ConfigParser import NoSectionError, NoOptionError, ConfigParser
@@ -448,7 +447,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 +455,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):
@@ -481,16 +480,28 @@ def read_config(config_file, BaseConfigDerived):
 
     ## 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