Log received data AFTER filtering.

This allows applications to filter out sensitive information, such
as passwords, so that it won't appear in the logs.

It does mean that the debug logs will not show the actual received
data, and there will be no indication of tampering, unless the
filter author explicitly logs and notes that a change was made.
This commit is contained in:
Lance Stout 2011-12-14 21:14:27 -08:00
parent 45ed68006f
commit f6e30edbc4

View file

@ -1276,8 +1276,6 @@ class XMLStream(object):
:param xml: The :class:`~sleekxmpp.xmlstream.stanzabase.ElementBase` :param xml: The :class:`~sleekxmpp.xmlstream.stanzabase.ElementBase`
stanza to analyze. stanza to analyze.
""" """
log.debug("RECV: %s", tostring(xml, xmlns=self.default_ns,
stream=self))
# Apply any preprocessing filters. # Apply any preprocessing filters.
xml = self.incoming_filter(xml) xml = self.incoming_filter(xml)
@ -1291,6 +1289,9 @@ class XMLStream(object):
if stanza is None: if stanza is None:
return return
log.debug("RECV: %s", tostring(xml, xmlns=self.default_ns,
stream=self))
# Match the stanza against registered handlers. Handlers marked # Match the stanza against registered handlers. Handlers marked
# to run "in stream" will be executed immediately; the rest will # to run "in stream" will be executed immediately; the rest will
# be queued. # be queued.