Browse Source

Merge "safe_log Sanitize Passwords in List of Dicts"

changes/56/143256/5
Jenkins 7 years ago
committed by Gerrit Code Review
parent
commit
84f18e8167
1 changed files with 2 additions and 16 deletions
  1. +2
    -16
      oslo/messaging/_drivers/common.py

+ 2
- 16
oslo/messaging/_drivers/common.py View File

@ -27,6 +27,7 @@ from oslo import messaging
from oslo.messaging._i18n import _
from oslo.messaging import _utils as utils
from oslo.serialization import jsonutils
from oslo.utils import strutils
LOG = logging.getLogger(__name__)
@ -70,8 +71,6 @@ _MESSAGE_KEY = 'oslo.message'
_REMOTE_POSTFIX = '_Remote'
_SANITIZE = ['_context_auth_token', 'auth_token', 'new_pass']
class RPCException(Exception):
msg_fmt = _("An unknown RPC related exception occurred.")
@ -162,22 +161,9 @@ class Connection(object):
raise NotImplementedError()
def _fix_passwords(d):
"""Sanitizes the password fields in the dictionary."""
for k in six.iterkeys(d):
if k.lower().find('password') != -1:
d[k] = '<SANITIZED>'
elif k.lower() in _SANITIZE:
d[k] = '<SANITIZED>'
elif isinstance(d[k], dict):
_fix_passwords(d[k])
return d
def _safe_log(log_func, msg, msg_data):
"""Sanitizes the msg_data field before logging."""
return log_func(msg, _fix_passwords(copy.deepcopy(msg_data)))
return log_func(msg, strutils.mask_password(six.text_type(msg_data)))
def serialize_remote_exception(failure_info, log_failure=True):


Loading…
Cancel
Save