diff options
Diffstat (limited to 'base/server/python/pki/server/deployment/pkiparser.py')
-rw-r--r-- | base/server/python/pki/server/deployment/pkiparser.py | 47 |
1 files changed, 34 insertions, 13 deletions
diff --git a/base/server/python/pki/server/deployment/pkiparser.py b/base/server/python/pki/server/deployment/pkiparser.py index b7cece722..dba1f50f1 100644 --- a/base/server/python/pki/server/deployment/pkiparser.py +++ b/base/server/python/pki/server/deployment/pkiparser.py @@ -405,29 +405,50 @@ class PKIConfigParser: port = self.pki_master_dict['pki_ds_ldap_port'] self.ds_connection = ldap.initialize(protocol + '://' + hostname + ':' + port) - self.ds_connection.search_s('', ldap.SCOPE_BASE) def ds_bind(self): self.ds_connection.simple_bind_s( self.pki_master_dict['pki_ds_bind_dn'], self.pki_master_dict['pki_ds_password']) - def ds_base_dn_exists(self): - try: - results = self.ds_connection.search_s( - self.pki_master_dict['pki_ds_base_dn'], - ldap.SCOPE_BASE) + def ds_search(self, key=None): + if key is None: + key = '' + self.ds_connection.search_s(key, ldap.SCOPE_BASE) - if results is None or len(results) == 0: - return False + def ds_close(self): + self.ds_connection.unbind_s() - return True + def ds_verify_configuration(self): - except ldap.NO_SUCH_OBJECT: - return False + try: + self.ds_connect() + self.ds_bind() + self.ds_search() + except: + raise + finally: + self.ds_close() - def ds_close(self): - self.ds_connection.unbind_s() + def ds_base_dn_exists(self): + base_dn_exists = True + try: + self.ds_connect() + self.ds_bind() + self.ds_search() + try: + results = self.ds_search(self.pki_master_dict['pki_ds_base_dn']) + + if results is None or len(results) == 0: + base_dn_exists = False + + except ldap.NO_SUCH_OBJECT: + base_dn_exists = False + except: + raise + finally: + self.ds_close() + return base_dn_exists def sd_connect(self): self.sd_connection = pki.client.PKIConnection( |