RSN: o Switch backend to sqlite X Drop email->bridge mappings after N days o Bump up epoch length a lot. o Test DB migration code. o Drop email persistence. o Rate-limit email replies. o Stop looking for "get bridges" in emails. o Clean email backend periodically - Write a spec. Soon: - List only one bridge per /16 per reply. o It keeps corrupting its database, causing Roger to delete the old database and undermine this whole give-the-same-answer-each-time design: https://bugs.torproject.org/flyspray/index.php?do=details&id=1098 [SOLUTION: Switch to sqlite.] - Keep strings in gettext file, internationalize properly with gettext o Send back an email even if there are no bridges o Check dkim headers for sanity. X Make the 'magic word' for the email configurable, case-tolerant, html-tolerant, and punctuation-tolerant X for bonus points, make it base64-tolerant - make all the rest of the email options configurable. o bug: the email handler gets really upset when the email doesn't have a message-id header in it. o When we hit the end of a period, forget email address history. X When sending bridges to an email address in the history, check for liveness. . Make bounces go to the right address. o Make address sent in "mail from" command configurable. - Actually configure it. - make the bridge list you get back include at least one *non*443 bridge. turns out sometimes 443 isn't all it's cracked up to be. X write the ip addresses of the unallocated bridges to a local file, so we can give them out manually as needed [Instead, we keep them in a sqlite database. That should be good enough to query manually.] Not now: - check that incoming IP of email is sane. - check more email headers for sanity Later: - document stuff better - better area division logic . make all proxies get stuck in their own area. o implement slightly nicer logging - add captchas o decent template for web interface o decent template for mail interface - implement 'help' command - Reload configuration on sighup; not just bridges. - Reply with locale support. - Check host option in http