diff -ur roundup-1.4.19/roundup/cgi/client.py roundup-1.4.19.changed/roundup/cgi/client.py --- roundup-1.4.19/roundup/cgi/client.py 2011-07-15 09:53:32.000000000 -0400 +++ roundup-1.4.19.changed/roundup/cgi/client.py 2012-03-04 17:50:37.360125000 -0500 @@ -774,12 +774,15 @@ # open the database or only set the user if not hasattr(self, 'db'): self.db = self.instance.open(username) + self.db.txSource = "cgi" else: if self.instance.optimize: self.db.setCurrentUser(username) + self.db.txSource = "cgi" else: self.db.close() self.db = self.instance.open(username) + self.db.txSource = "cgi" # The old session API refers to the closed database; # we can no longer use it. self.session_api = Session(self) diff -ur roundup-1.4.19/roundup/instance.py roundup-1.4.19.changed/roundup/instance.py --- roundup-1.4.19/roundup/instance.py 2011-07-15 04:03:38.000000000 -0400 +++ roundup-1.4.19.changed/roundup/instance.py 2012-03-03 20:59:59.485419800 -0500 @@ -134,6 +134,8 @@ if libdir in sys.path: sys.path.remove(libdir) db = vars['db'] + db.txSource = "unset" + # apply the detectors for detector in detectors: detector(db) diff -ur roundup-1.4.19/roundup/mailgw.py roundup-1.4.19.changed/roundup/mailgw.py --- roundup-1.4.19/roundup/mailgw.py 2011-06-16 17:19:37.000000000 -0400 +++ roundup-1.4.19.changed/roundup/mailgw.py 2012-03-04 17:51:39.078875000 -0500 @@ -1019,6 +1019,9 @@ This tracker has been configured to require all email be PGP signed or encrypted.""") + # signature has been verified + self.db.txSource = "email/pgp" + def get_content_and_attachments(self): ''' get the attachments and first text part from the message ''' @@ -1447,6 +1450,9 @@ ''' # get database handle for handling one email self.db = self.instance.open ('admin') + + self.db.txSource = "email" + try: return self._handle_message(message) finally: