Blob Blame History Raw
From c540338b798a15b736770a51f87eb13606faa544 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michal=20=C5=BDidek?= <mzidek@redhat.com>
Date: Thu, 15 Oct 2015 18:53:37 +0200
Subject: [PATCH 4/6] SSSDConfig: Do not raise exception if config_file_version
 is missing
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Ticket:
https://fedorahosted.org/sssd/ticket/2837

Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
(cherry picked from commit 6a044fa43d53638c1d0b874d43f58c0428820362)
(cherry picked from commit a2363aa5984a707b8834816ea8538fe7de250a63)
---
 src/config/SSSDConfig/__init__.py.in | 8 ++++----
 src/config/SSSDConfigTest.py         | 5 -----
 2 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/src/config/SSSDConfig/__init__.py.in b/src/config/SSSDConfig/__init__.py.in
index 038de16d55423a73c0bed6a0e27d99e1ab46a90f..bf61c402796122050fa43cf41128faec4771c5d2 100644
--- a/src/config/SSSDConfig/__init__.py.in
+++ b/src/config/SSSDConfig/__init__.py.in
@@ -1405,10 +1405,10 @@ class SSSDConfig(SSSDChangeConf):
         try:
             if int(self.get('sssd', 'config_file_version')) != self.API_VERSION:
                 raise ParsingError("Wrong config_file_version")
-        except:
-            # Either the 'sssd' section or the 'config_file_version' was not
-            # present in the config file
-            raise ParsingError("File contains no config_file_version")
+        except TypeError:
+            # This happens when config_file_version is missing. We
+            # can assume it is the default version and continue.
+            pass
 
     def new_config(self):
         """
diff --git a/src/config/SSSDConfigTest.py b/src/config/SSSDConfigTest.py
index 5047bd7237188be4df83f76054afe6b43ceeec1d..a850b8d2c5933c4c08b5b0e8f4db79f3c88fc5ee 100755
--- a/src/config/SSSDConfigTest.py
+++ b/src/config/SSSDConfigTest.py
@@ -1226,11 +1226,6 @@ class SSSDConfigTestSSSDConfig(unittest.TestCase):
                                            srcdir + "/etc/sssd.api.d")
         self.assertRaises(SSSDConfig.ParsingError, sssdconfig.import_config, srcdir + "/testconfigs/sssd-badversion.conf")
 
-        # Negative Test - No config file version
-        sssdconfig = SSSDConfig.SSSDConfig(srcdir + "/etc/sssd.api.conf",
-                                           srcdir + "/etc/sssd.api.d")
-        self.assertRaises(SSSDConfig.ParsingError, sssdconfig.import_config, srcdir + "/testconfigs/sssd-noversion.conf")
-
         # Negative Test - Already initialized
         sssdconfig = SSSDConfig.SSSDConfig(srcdir + "/etc/sssd.api.conf",
                                            srcdir + "/etc/sssd.api.d")
-- 
2.5.0