New TODO for better total number of nodes calculation.
New TODO item for rotating DNS entries.
New TODO for hashing files with detached GPG signatures.
Better handling and logging for intermittent HTTP client submission errors.
Set the Last-Modified header when downloading from peers.
Remove temporary files from the peer's download cache.
Refresh expired DHT hashes concurrently instead of sequentially.
Don't check file when listing expired hashes, instead check files at startup.
Make the DHT timeouts configuration parameters.
Conf time parser works with floats, and lengthened DHT hash expiry to 3 hours.
Some more TODO items.
Add all files to the DB with their hashes. Non-DHT files are marked as such. HTTP server looks up the cache path to decide whether to return a file.
Make the downloader statistics work. The previous (untested) commit was not working at all, this one now does, though the TODO mentions some future work.
Retransmit DHT requests before timeout occurs is complete.
Add statistics reporting to the main program (untested).
Try to rejoin DHT periodically after failures using exponential backoff. Also make the get and store functions call errbacks if not joined. Also modify the callers of the get and store functions to respond well to errbacks. Also add a unittest for the rejoining functionality.
Fix some tests and add some TODO items.
Massive work on the peer downloading, not working or complete yet.
Return 404s to all requests for Packages.diff and Sources.diff.
Retire one TODO and add another.