summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
16 hoursAdd an http load generatorDirk Engling
16 hoursReduce number of per connection sys callsDirk Engling
17 hoursCheck for free port in the udp integration test, also speed it up by a bitDirk Engling
17 hoursConsolidate all tcp/http tear down into a single http_close function to prevent a rare UAF for expiring connectionsDirk Engling
41 hoursBuild everything in one sweep, without intermediate object filesDirk Engling
41 hoursadd wake-up tester that helped figuring out how to tickle hanging udp readersDirk Engling
41 hoursRevert last wake-up experiment. Having each udp worker wake up once a second to check if the tracker stops is wastefulDirk Engling
43 hoursFix a test that would over-report success rate when losing the race for cycles to the test targetDirk Engling
43 hoursLivesync now also gets proper deinit codeDirk Engling
43 hoursWith more workers blockingly waiting on udp sockets, we need to keep track of all sockets to shut them down on exitDirk Engling
47 hoursDefault udp workers to 1, as it is the most sane choice everywhere, also reflect the new udp parallelism in the man pagesDirk Engling
2 daysLet the load tester log losses to better gauge performanceDirk Engling
2 daysAdd load tests to sanitize check the trackerlogic, based on udp requestsDirk Engling
2 daysPerformance improvement, where it works: Let different udp worker threads have their own socketDirk Engling
3 daysThe main event loop(s) now also catch an EINTR and return instead of blockingDirk Engling
3 daysAdd concurrency testDirk Engling
3 daysMake global torrent counter atomic and fix the setter and getterDirk Engling
3 daysPlug in the new per-thread stats counter, also make sure that the ot_clean sleep does not stall tracker exitDirk Engling
3 daysSecond half of moving the stat enum defines to trackerlogicDirk Engling
3 daysPrepare having each thread keep their own stats to avoid data racesDirk Engling
3 daysTurn malloc+memset into callocDirk Engling
3 daysSome more g_now_seconds occurrencesDirk Engling
3 daysForgot some g_now_seconds occurencesDirk Engling
3 daysAll OSes now do have a cheap monotonic clock, so no caching thread is needed. Also add some relative time helpersDirk Engling
3 daysWhile we're at it with the dynamic analyzers, add a tsanDirk Engling
4 daysAdd test for the revived keep aliveDirk Engling
4 daysFix some tests to match retired stats modes and wrong config file orderingDirk Engling
4 daysAdd test for the correct order of partial scrapesDirk Engling
4 daysAdd test for the error packet when a hash is blacklisted (the part I forgot in last commit)Dirk Engling
4 daysAdd test for the error packet when a hash is blacklistedDirk Engling
4 daysRemove enum for a retired stats modeDirk Engling
4 daysClean build artefacts on macos, tooDirk Engling
4 daysAdd DWANT_KEEPALIVE to integration test flags to test the whole sub systemDirk Engling
4 daysSend udp error packet in case of blacklisted torrentDirk Engling
4 daysFix: Forgot to add the actual keep alive flagDirk Engling
4 daysSort info_hashes in a scrape so that the reply forms a valid bencoded dictDirk Engling
4 daysAdd new test for connection keep aliveDirk Engling
4 daysRevive http keep alive to save tcp connection setup costsDirk Engling
4 daysretrieve the address of the sending socket for comparison. In jails it might be forced to its primary addressDirk Engling
4 daysAdding the actual tests to do aforementioned 'Massively increase coverage by pulling fullscrapes and sending udp packets'Dirk Engling
4 daysMassively increase coverage by pulling fullscrapes and sending udp packetsDirk Engling
4 daysFix some sanitizer findings, mostly UB if no accesslist is configured and thread join problemsDirk Engling
4 daysadd more checkers to the sanitizer and integration check runsDirk Engling
4 daysDrop -lz as Makefile.gzip already carries itDirk Engling
4 daysAvoid an UB of adding NULL + 0 by keeping an offset instead of advancing the pointer into a vector structDirk Engling
4 daysAdd integration test and its runnerDirk Engling
4 daysreplace all calls to sprintf with a format helper that advances a cursor. Also convert the meta-formatter (i.e. results printer) to this schemeDirk Engling
4 daysPotentially overlapping areas need memmove, not memcpyDirk Engling
4 daysMake sure to not accept mere prefixes of addresses from query stringDirk Engling
4 daysWith libowfat gone, we don't need to disable the auto free feature for older versionsDirk Engling