From 3a608a16367a9066a1a1d462d3ed089090684296 Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Wed, 4 Dec 2024 10:59:51 -0500 Subject: [PATCH] Add more config file validation --- lib/nntp/tiny/server.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/nntp/tiny/server.py b/lib/nntp/tiny/server.py index d910cd5..daa8406 100644 --- a/lib/nntp/tiny/server.py +++ b/lib/nntp/tiny/server.py @@ -26,6 +26,15 @@ class Server(): self.sslctx = None if config['listen'].get('tls', 'no') == 'yes': + if not config.has_section('tls'): + raise ConfigSectionException('tls') + + if not config.has_option('tls', 'cert'): + raise ConfigValueException('tls', 'cert') + + if not config.has_option('tls', 'key'): + raise ConfigValueException('tls', 'key') + self.sslctx = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER) self.sslctx.load_cert_chain(config['tls']['cert'], config['tls']['key']) @@ -33,6 +42,12 @@ class Server(): self._init_newsgroups() def connect_to_db(self): + if not self.config.has_section('database'): + raise ConfigSectionException('database') + + if not self.config.has_option('database', 'path'): + raise ConfigValueException('database', 'path') + return Database.connect(self.config['database']['path']) def _init_newsgroups(self):