| Age | Commit message (Expand) | Author |
| 6 hours | Let the load tester log losses to better gauge performance | Dirk Engling |
| 7 hours | Add load tests to sanitize check the trackerlogic, based on udp requests | Dirk Engling |
| 7 hours | Performance improvement, where it works: Let different udp worker threads have their own socket | Dirk Engling |
| 25 hours | The main event loop(s) now also catch an EINTR and return instead of blocking | Dirk Engling |
| 27 hours | Add concurrency test | Dirk Engling |
| 27 hours | Make global torrent counter atomic and fix the setter and getter | Dirk Engling |
| 27 hours | Plug in the new per-thread stats counter, also make sure that the ot_clean sleep does not stall tracker exit | Dirk Engling |
| 28 hours | Second half of moving the stat enum defines to trackerlogic | Dirk Engling |
| 28 hours | Prepare having each thread keep their own stats to avoid data races | Dirk Engling |
| 28 hours | Turn malloc+memset into calloc | Dirk Engling |
| 29 hours | Some more g_now_seconds occurrences | Dirk Engling |
| 29 hours | Forgot some g_now_seconds occurences | Dirk Engling |
| 29 hours | All OSes now do have a cheap monotonic clock, so no caching thread is needed. Also add some relative time helpers | Dirk Engling |
| 29 hours | While we're at it with the dynamic analyzers, add a tsan | Dirk Engling |
| 45 hours | Add test for the revived keep alive | Dirk Engling |
| 45 hours | Fix some tests to match retired stats modes and wrong config file ordering | Dirk Engling |
| 45 hours | Add test for the correct order of partial scrapes | Dirk Engling |
| 45 hours | Add test for the error packet when a hash is blacklisted (the part I forgot in last commit) | Dirk Engling |
| 45 hours | Add test for the error packet when a hash is blacklisted | Dirk Engling |
| 45 hours | Remove enum for a retired stats mode | Dirk Engling |
| 45 hours | Clean build artefacts on macos, too | Dirk Engling |
| 45 hours | Add DWANT_KEEPALIVE to integration test flags to test the whole sub system | Dirk Engling |
| 45 hours | Send udp error packet in case of blacklisted torrent | Dirk Engling |
| 45 hours | Fix: Forgot to add the actual keep alive flag | Dirk Engling |
| 45 hours | Sort info_hashes in a scrape so that the reply forms a valid bencoded dict | Dirk Engling |
| 45 hours | Add new test for connection keep alive | Dirk Engling |
| 45 hours | Revive http keep alive to save tcp connection setup costs | Dirk Engling |
| 47 hours | retrieve the address of the sending socket for comparison. In jails it might be forced to its primary address | Dirk Engling |
| 47 hours | Adding the actual tests to do aforementioned 'Massively increase coverage by pulling fullscrapes and sending udp packets' | Dirk Engling |
| 47 hours | Massively increase coverage by pulling fullscrapes and sending udp packets | Dirk Engling |
| 47 hours | Fix some sanitizer findings, mostly UB if no accesslist is configured and thread join problems | Dirk Engling |
| 48 hours | add more checkers to the sanitizer and integration check runs | Dirk Engling |
| 2 days | Drop -lz as Makefile.gzip already carries it | Dirk Engling |
| 2 days | Avoid an UB of adding NULL + 0 by keeping an offset instead of advancing the pointer into a vector struct | Dirk Engling |
| 2 days | Add integration test and its runner | Dirk Engling |
| 2 days | replace all calls to sprintf with a format helper that advances a cursor. Also convert the meta-formatter (i.e. results printer) to this scheme | Dirk Engling |
| 2 days | Potentially overlapping areas need memmove, not memcpy | Dirk Engling |
| 2 days | Make sure to not accept mere prefixes of addresses from query string | Dirk Engling |
| 2 days | With libowfat gone, we don't need to disable the auto free feature for older versions | Dirk Engling |
| 2 days | Replace libowfat's event waiter with our own abstraction | Dirk Engling |
| 2 days | Add poll/epoll/kqueue wrapper to wait for events | Dirk Engling |
| 2 days | Third run of making variable and function names more readable, integer scans and ip parsers | Dirk Engling |
| 2 days | Second run of making variable and function names more readable, urlencoder now matches overall naming scheme | Dirk Engling |
| 2 days | First run of making variable names more readable | Dirk Engling |
| 2 days | Use new fdstate subsystem to store per fd cookie and timeout | Dirk Engling |
| 2 days | Introduce a sub system that can store io cookies for file descriptors, thread safely so | Dirk Engling |
| 3 days | Factor out the timeout setter, will probably go later once we do the io loop ourself | Dirk Engling |
| 3 days | Replace libowfat's iobatch with our own smaller (and probably only temporary) ot_batch | Dirk Engling |
| 3 days | Prevent UAF when resizing iobatches | Dirk Engling |
| 3 days | Add mutex unit test | Dirk Engling |