comparison roundup/instance.py @ 4781:6e9b9743de89

Implementation for: http://issues.roundup-tracker.org/issue2550731 Add mechanism for the detectors to be able to tell the source of the data changes. Support for tx_Source property on database handle. Can be used by detectors to find out the source of a change in an auditor to block changes arriving by unauthenticated mechanisms (e.g. plain email where headers can be faked). The property db.tx_Source has the following values: * None - Default value set to None. May be valid if it's a script that is created by the user. Otherwise it's an error and indicates that some code path is not properly setting the tx_Source property. * "cli" - this string value is set when using roundup-admin and supplied scripts. * "web" - this string value is set when using any web based technique: html interface, xmlrpc .... * "email" - this string value is set when using an unauthenticated email based technique. * "email-sig-openpgp" - this string value is set when email with a valid pgp signature is used. (*NOTE* the testing for this mode is incomplete. If you have a pgp infrastructure you should test and verify that this is properly set.) This also includes some (possibly incomplete) tests cases for the modes above and an example of using ts_Source in the customization.txt document.
author John Rouillard <rouilj@ieee.org>
date Tue, 23 Apr 2013 23:06:09 -0400
parents e339583eae8e
children 7920d700e580 5251e97b1de0
comparison
equal deleted inserted replaced
4774:3adff0fb0207 4781:6e9b9743de89
119 # reload extensions and detectors 119 # reload extensions and detectors
120 for extension in self.get_extensions('extensions'): 120 for extension in self.get_extensions('extensions'):
121 extension(self) 121 extension(self)
122 detectors = self.get_extensions('detectors') 122 detectors = self.get_extensions('detectors')
123 db = env['db'] 123 db = env['db']
124 db.tx_Source = None
125
124 # apply the detectors 126 # apply the detectors
125 for detector in detectors: 127 for detector in detectors:
126 detector(db) 128 detector(db)
127 # if we are running in debug mode 129 # if we are running in debug mode
128 # or this is the first time the database is opened, 130 # or this is the first time the database is opened,

Roundup Issue Tracker: http://roundup-tracker.org/