summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
16 hoursAdd concurrency testDirk Engling
16 hoursMake global torrent counter atomic and fix the setter and getterDirk Engling
16 hoursPlug in the new per-thread stats counter, also make sure that the ot_clean sleep does not stall tracker exitDirk Engling
17 hoursSecond half of moving the stat enum defines to trackerlogicDirk Engling
17 hoursPrepare having each thread keep their own stats to avoid data racesDirk Engling
17 hoursTurn malloc+memset into callocDirk Engling
18 hoursSome more g_now_seconds occurrencesDirk Engling
18 hoursForgot some g_now_seconds occurencesDirk Engling
18 hoursAll OSes now do have a cheap monotonic clock, so no caching thread is needed. Also add some relative time helpersDirk Engling
19 hoursWhile we're at it with the dynamic analyzers, add a tsanDirk Engling
34 hoursAdd test for the revived keep aliveDirk Engling
34 hoursFix some tests to match retired stats modes and wrong config file orderingDirk Engling
34 hoursAdd test for the correct order of partial scrapesDirk Engling
34 hoursAdd test for the error packet when a hash is blacklisted (the part I forgot in last commit)Dirk Engling
34 hoursAdd test for the error packet when a hash is blacklistedDirk Engling
34 hoursRemove enum for a retired stats modeDirk Engling
34 hoursClean build artefacts on macos, tooDirk Engling
34 hoursAdd DWANT_KEEPALIVE to integration test flags to test the whole sub systemDirk Engling
34 hoursSend udp error packet in case of blacklisted torrentDirk Engling
35 hoursFix: Forgot to add the actual keep alive flagDirk Engling
35 hoursSort info_hashes in a scrape so that the reply forms a valid bencoded dictDirk Engling
35 hoursAdd new test for connection keep aliveDirk Engling
35 hoursRevive http keep alive to save tcp connection setup costsDirk Engling
36 hoursretrieve the address of the sending socket for comparison. In jails it might be forced to its primary addressDirk Engling
36 hoursAdding the actual tests to do aforementioned 'Massively increase coverage by pulling fullscrapes and sending udp packets'Dirk Engling
36 hoursMassively increase coverage by pulling fullscrapes and sending udp packetsDirk Engling
37 hoursFix some sanitizer findings, mostly UB if no accesslist is configured and thread join problemsDirk Engling
37 hoursadd more checkers to the sanitizer and integration check runsDirk Engling
38 hoursDrop -lz as Makefile.gzip already carries itDirk Engling
38 hoursAvoid an UB of adding NULL + 0 by keeping an offset instead of advancing the pointer into a vector structDirk Engling
39 hoursAdd integration test and its runnerDirk Engling
39 hoursreplace 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
40 hoursPotentially overlapping areas need memmove, not memcpyDirk Engling
41 hoursMake sure to not accept mere prefixes of addresses from query stringDirk Engling
41 hoursWith libowfat gone, we don't need to disable the auto free feature for older versionsDirk Engling
42 hoursReplace libowfat's event waiter with our own abstractionDirk Engling
43 hoursAdd poll/epoll/kqueue wrapper to wait for eventsDirk Engling
44 hoursThird run of making variable and function names more readable, integer scans and ip parsersDirk Engling
45 hoursSecond run of making variable and function names more readable, urlencoder now matches overall naming schemeDirk Engling
45 hoursFirst run of making variable names more readableDirk Engling
45 hoursUse new fdstate subsystem to store per fd cookie and timeoutDirk Engling
2 daysIntroduce a sub system that can store io cookies for file descriptors, thread safely soDirk Engling
3 daysFactor out the timeout setter, will probably go later once we do the io loop ourselfDirk Engling
3 daysReplace libowfat's iobatch with our own smaller (and probably only temporary) ot_batchDirk Engling
3 daysPrevent UAF when resizing iobatchesDirk Engling
3 daysAdd mutex unit testDirk Engling
3 daysBe stricter about const char*, Wwrite-strings will warn in the future and we don't want to try to overwrite string literalsDirk Engling
3 daysFor workqueue tasks, class has to be in the tasktype or no worker will ever claim the task, forgot oneDirk Engling
3 daysFor workqueue tasks, class has to be in the tasktype or no worker will ever claim the taskDirk Engling
3 dayswhite space fixesDirk Engling