diff --git a/raven/processors.py b/raven/processors.py index b097bc1a8..d200bcea7 100644 --- a/raven/processors.py +++ b/raven/processors.py @@ -25,6 +25,9 @@ def process(self, data, **kwargs): if resp: data = resp + if 'stacktrace' in data: + self.filter_stacktrace(data['stacktrace']) + if 'exception' in data: if 'values' in data['exception']: for value in data['exception'].get('values', []): @@ -67,7 +70,8 @@ class SanitizePasswordsProcessor(Processor): """ MASK = '*' * 8 FIELDS = frozenset([ - 'password', 'secret', 'passwd', 'authorization', 'api_key', 'apikey' + 'password', 'secret', 'passwd', 'authorization', 'api_key', 'apikey', + 'pw', 'cred' ]) VALUES_RE = re.compile(r'^(?:\d[ -]*?){13,16}$') diff --git a/tests/processors/tests.py b/tests/processors/tests.py index 041aa7216..d6f395f71 100644 --- a/tests/processors/tests.py +++ b/tests/processors/tests.py @@ -15,6 +15,8 @@ 'a_password_here': 'hello', 'api_key': 'secret_key', 'apiKey': 'secret_key', + 'pw': 'hello', + 'cred': 'hello', } @@ -25,6 +27,8 @@ def _will_throw_type_error(foo, **kwargs): a_password_here = "Don't look at me!" # NOQA F841 api_key = "I'm hideous!" # NOQA F841 apiKey = "4567000012345678" # NOQA F841 + pw = "this is my pw" # NOQA F841 + cred = "my credential" # NOQA F841 # TypeError: unsupported operand type(s) for /: 'str' and 'str' raise exception_class() @@ -83,6 +87,10 @@ def _check_vars_sanitized(self, vars, proc): self.assertEquals(vars['api_key'], proc.MASK) self.assertTrue('apiKey' in vars) self.assertEquals(vars['apiKey'], proc.MASK) + self.assertTrue('pw' in vars) + self.assertEquals(vars['pw'], proc.MASK) + self.assertTrue('cred' in vars) + self.assertEquals(vars['cred'], proc.MASK) def test_stacktrace(self, *args, **kwargs): """