Attempting to login on the onion service for trac (http://ea5faa5po25cf7fb.onion) results in 'Error: Bad request. Missing or invalid form token. Secure cookies are enabled, you must use https to submit forms.'
The onion service doesn't work with HTTPS.
Trac: Username: nido
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items 0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items 0
Link issues together to show that they're related.
Learn more.
Not only login, but any form submitted, e.g. any custom query.
Trac: Username: nido Summary: Cannot login on Trac onion site ('must use HTTPS to submit forms') to Cannot login or submit forms Trac onion site ('must use HTTPS to submit forms')
Yes, this is expected, and not straightforward to fix.
Trac isn't written to be able to think of itself as multiple server names.
Also, it defends itself from having you use it over plain http, and it doesn't know about onion services so it doesn't know to maybe treat them differently.
The ultimate answer is probably to get an https cert for trac's onion service (which will be more straightforward once onion services are permitted to get DV https certs), and also to rewrite trac as needed so it can handle being multiple server names.
In the mean time, it's probably simplest to close this ticket as a "wontfix", in that we would welcome a trac rewrite but I can't imagine anybody is actually going to do it.
if self.env.secure_cookies and req.scheme == 'http': msg = _('Secure cookies are enabled, you must ' 'use https to submit forms.') else: msg = _('Do you have cookies enabled?')
Remove or uncomment these might be the answer.
I tried to ask this question to trac mailling list but it's using google maillist.
I don't want to connect to google.com.
No, I don't think that by itself will work -- we don't want to make the cookies insecure (i.e. make the browser willing to send them to http sites), so just changing how the server handles it when it receives a cookie won't be enough.