diff options
Diffstat (limited to 'base/server/src/engine/pkiparser.py')
| -rw-r--r-- | base/server/src/engine/pkiparser.py | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/base/server/src/engine/pkiparser.py b/base/server/src/engine/pkiparser.py index 8918eb8a6..f10706ac6 100644 --- a/base/server/src/engine/pkiparser.py +++ b/base/server/src/engine/pkiparser.py @@ -27,6 +27,7 @@ import ldap import logging import os import random +import requests import string import subprocess import sys @@ -396,7 +397,15 @@ class PKIConfigParser: def sd_get_info(self): sd = pki.system.SecurityDomainClient(self.sd_connection) - return sd.getSecurityDomainInfo() + try: + info = sd.getSecurityDomainInfo() + except requests.exceptions.HTTPError as e: + config.pki_log.info( + "unable to access security domain through REST interface. " +\ + "Trying old interface. " + str(e), + extra=config.PKI_INDENTATION_LEVEL_2) + info = sd.getOldSecurityDomainInfo() + return info def sd_authenticate(self): self.sd_connection.authenticate( @@ -404,8 +413,18 @@ class PKIConfigParser: config.pki_master_dict['pki_security_domain_password']) account = pki.account.AccountClient(self.sd_connection) - account.login() - account.logout() + try: + account.login() + account.logout() + except requests.exceptions.HTTPError as e: + code = e.response.status_code + if code == 404 or code == 501: + config.pki_log.warning( + "unable to validate security domain user/password " +\ + "through REST interface. Interface not available", + extra=config.PKI_INDENTATION_LEVEL_2) + else: + raise def compose_pki_master_dictionary(self): "Create a single master PKI dictionary from the sectional dictionaries" |
