Roundup Tracker - Issues

Message3768

Author stefan
Recipients ajaksu2, richard, stefan
Date 2009-07-13.01:50:24
Message-id <1247449825.78.0.577373636443.issue2550563@psf.upfronthosting.co.za>
In-reply-to
Roundup seems to now be trying to ensure that modifications occur via
HTTP POST transactions, presumably as a security thing.  (It's hard to
construct a POST than simply to type a URL into your browser; this
isn't more secure in a theoretical sense, but it is more secure in
practice.)  

But, these checks aren't actually generating errors.  For example,
from RetireAction.handle:

        if self.client.env['REQUEST_METHOD'] != 'POST':
            self.client.error_message.append(self._('Invalid request'))

But, note that there is no return statement at this point, or
exception thrown.  Therefore, all that's going to happen is that the
user will see the error -- but the retire is still going to occur.
There's no security, but there will be user confusion -- the user will
see an "Invalid request" error *but the transaction will still occur*.
The user will perhaps think it didn't, but it did.  Furthermore,
that's a horrible error message; it should be something like "Actions
that modify the database must be done via HTTP POST" or something.
The same problem seems to be true in all cases where this check is
performed.
History
Date User Action Args
2009-07-13 01:50:25stefansetmessageid: <1247449825.78.0.577373636443.issue2550563@psf.upfronthosting.co.za>
2009-07-13 01:50:25stefansetrecipients: + stefan, richard, ajaksu2
2009-07-13 01:50:25stefanlinkissue2550563 messages
2009-07-13 01:50:24stefancreate