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