示例#1
0
文件: daemon.py 项目: abec/vsmtpd
 def load_config(self):
     self._config = load_config(self.options.config or 'vsmtpd.cfg', {
         'vsmtpd': {
             'port': 25,
             'interface': None,
             'backlog': 50,
             'workers': 0,
             'size_limit': 0,
             'helo_host': None,
             'connection_limit': 100,
             'spool_dir': '/var/spool/vsmtpd',
             'keyfile': None,
             'certfile': None,
             'cert_reqs': None,
             # FIXME: Provide a default secure (SSLV3/TLSV1) cipher setup
             'ssl_version': None,
             'ca_certs': None,
             'suppress_ragged_eofs': None,
             'do_handshake_on_connect': None,
             # FIXME: Provide a default secure (SSLV3/TLSV1) cipher setup
             'ciphers': None,
             'plugin_path': '/usr/share/vsmtpd/plugins'
         }
     })
     self.config = ConfigWrapper(self._config, 'vsmtpd')
示例#2
0
文件: plugin.py 项目: abec/vsmtpd
    def config(self, name, defaults=None):
        """
        Loads a configuration file using SafeConfigParser and returns the
        resulting Config object.

        :param name: The name of the configuration file
        :type name: str
        """
        return load_config(name, defaults)
示例#3
0
    def test_plugin_config(self):
        plugin_cfg = self.plugin.config('test', {'test': {'test1': 1}})
        config = load_config('test', {'test': {'test1': 1}})

        self.assertEqual(plugin_cfg.has_section('test'),
            config.has_section('test'))
        self.assertEqual(plugin_cfg.has_section('missing'),
            config.has_section('missing'))
        self.assertEqual(plugin_cfg.get('test', 'test1'),
            config.get('test', 'test1'))
示例#4
0
    def test_config_wrapper(self):
        path = os.path.join(os.path.dirname(__file__), 'test_config.cfg')
        config = ConfigWrapper(load_config(path), 'vsmtpd')
        self.assertEqual(config.get('helo_host'), 'smtp.example.com')
        self.assertEqual(config.getint('port'), 25)
        self.assertEqual(config.getfloat('float'), 3.123)
        self.assertEqual(config.getboolean('ssl'), True)
        self.assertTrue(config.has_option('backlog'))

        items = [
            ('port', '25'),
            ('workers', '4'),
            ('backlog', '250'),
            ('helo_host', 'smtp.example.com'),
            ('ssl', 'true'),
            ('float', '3.123')
        ]
        options = [i[0] for i in items]
        self.assertEqual(config.items(), items)
        self.assertEqual(config.options(), options)
        self.assertTrue('port' in config)

        config.set('backlog', '150')
        self.assertEqual(config.getint('backlog'), 150)