From bb7987cf4cd1f50eb1f2a171b6423b91ba35172d Mon Sep 17 00:00:00 2001 From: Hariharan Date: Tue, 17 Feb 2026 09:50:31 +0530 Subject: [PATCH] user configured password - logged fix --- lib/pan/xapi.py | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/lib/pan/xapi.py b/lib/pan/xapi.py index 9e454c2..9aa47a3 100644 --- a/lib/pan/xapi.py +++ b/lib/pan/xapi.py @@ -603,22 +603,26 @@ def keygen(self, extra_qs=None): if extra_qs is not None: query = self.__merge_extra_qs(query, extra_qs) - response = self.__api_request(query) - if not response: - raise PanXapiError(self.status_detail) + try: + response = self.__api_request(query) + if not response: + raise PanXapiError(self.status_detail) - if not self.__set_response(response): - raise PanXapiError(self.status_detail) + if not self.__set_response(response): + raise PanXapiError(self.status_detail) - if self.element_result is None: - raise PanXapiError('keygen(): result element not found') - element = self.element_result.find('key') - if element is None: - raise PanXapiError('keygen(): key element not found') + if self.element_result is None: + raise PanXapiError('keygen(): result element not found') + element = self.element_result.find('key') + if element is None: + raise PanXapiError('keygen(): key element not found') - self.api_key = element.text + self.api_key = element.text - return self.api_key + return self.api_key + finally: + if isinstance(query, dict) and 'password' in query: + del query['password'] @staticmethod def __qs_to_dict(qs):