diff --git a/offlineimap/repository/IMAP.py b/offlineimap/repository/IMAP.py index a6c330e..68f1800 100644 --- a/offlineimap/repository/IMAP.py +++ b/offlineimap/repository/IMAP.py @@ -233,13 +233,15 @@ class IMAPRepository(BaseRepository): def getsslcacertfile(self): """Determines CA bundle. - Returns path to the CA bundle. It is either explicitely specified - or requested via "OS-DEFAULT" value (and we will search known - locations for the current OS and distribution). + Returns path to the CA bundle. It is explicitely specified or + requested via "OS-DEFAULT" value (and we will search known + locations for the current OS and distribution). If it is not + specified, we will search it in the known locations. - If search via "OS-DEFAULT" route yields nothing, we will throw an - exception to make our callers distinguish between not specified - value and non-existent default CA bundle. + If search route, via "OS-DEFAULT" or because is not specified, + yields nothing, we will throw an exception to make our callers + distinguish between not specified value and non-existent + default CA bundle. It is also an error to specify non-existent file via configuration: it will error out later, but, perhaps, with less verbose explanation, @@ -250,7 +252,10 @@ class IMAPRepository(BaseRepository): xforms = [os.path.expanduser, os.path.expandvars, os.path.abspath] cacertfile = self.getconf_xform('sslcacertfile', xforms, None) # Can't use above cacertfile because of abspath. - if self.getconf('sslcacertfile', None) == "OS-DEFAULT": + conf_sslacertfile = self.getconf('sslcacertfile', None) + if conf_sslacertfile == "OS-DEFAULT" or \ + conf_sslacertfile == None or \ + conf_sslacertfile == '': cacertfile = get_os_sslcertfile() if cacertfile is None: searchpath = get_os_sslcertfile_searchpath()