summaryrefslogtreecommitdiff
path: root/ot_http.c
AgeCommit message (Expand)Author
9 hoursIntroduce a fast path assuming that a tcp connection's payload already has arrived at accept timeDirk Engling
19 hoursEnforce the invariant that each socket is only ever expected to be read from or written to, never bothDirk Engling
19 hoursDon't treat a full send buffer as an error when sending http. Retry laterDirk Engling
30 hoursReduce number of per connection sys callsDirk Engling
31 hoursConsolidate all tcp/http tear down into a single http_close function to prevent a rare UAF for expiring connectionsDirk Engling
3 daysPlug in the new per-thread stats counter, also make sure that the ot_clean sleep does not stall tracker exitDirk Engling
4 daysAll OSes now do have a cheap monotonic clock, so no caching thread is needed. Also add some relative time helpersDirk Engling
4 daysSort info_hashes in a scrape so that the reply forms a valid bencoded dictDirk Engling
4 daysRevive http keep alive to save tcp connection setup costsDirk 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 daysMake sure to not accept mere prefixes of addresses from query stringDirk Engling
5 daysReplace libowfat's event waiter with our own abstractionDirk Engling
5 daysThird run of making variable and function names more readable, integer scans and ip parsersDirk Engling
5 daysSecond run of making variable and function names more readable, urlencoder now matches overall naming schemeDirk Engling
5 daysUse new fdstate subsystem to store per fd cookie and timeoutDirk Engling
5 daysFactor out the timeout setter, will probably go later once we do the io loop ourselfDirk Engling
5 daysReplace libowfat's iobatch with our own smaller (and probably only temporary) ot_batchDirk Engling
5 daysPrevent UAF when resizing iobatchesDirk Engling
6 daysBe stricter about const char*, Wwrite-strings will warn in the future and we don't want to try to overwrite string literalsDirk Engling
6 daysFor workqueue tasks, class has to be in the tasktype or no worker will ever claim the task, forgot oneDirk Engling
7 daysReplace custom int64 with its standardized int64_t typeDirk Engling
7 daysPrevent a task from outliving its connectionDirk Engling
7 daysReplace libowfat's ip scanner and formatters with own ownDirk Engling
7 daysReplace libowfat's array with our new blob abstractionDirk Engling
7 daysNull terminate the request at the final return and not after it, preventing a buffer overrunDirk Engling
7 daysUse new ranged unsigned int scanner everywhere and squash some bugs along the wayDirk Engling
7 daysUse strncasecmp instead of libowfat's case_equalbDirk Engling
7 daysReplace endianess helpers and remove unused system and libowfat includedDirk Engling
2026-04-03Clean up top100 stats codeDirk Engling
2026-04-03turn all int offsets into size_tDirk Engling
2025-04-25Do not ignore return value of iob_init_autofreeDirk Engling
2024-04-21Move _GNU_SOURCE declaration further to the top, so recursive inclusion of stdio does not ignore the macroDirk Engling
2024-04-18Add support for zstdDirk Engling
2024-04-18Only have huge downloads (aka chunked) be application/octet-streamDirk Engling
2024-04-17Let our fullscrapes have a binary content-typeDirk Engling
2024-04-17chrome does not accept chunked gzip encoding for http/1.0 protocol versionDirk Engling
2024-04-16Remove CVS version tags, they did not work anymore after moving to gitDirk Engling
2024-04-15define _GNU_SOURCE to silence warning about asprintfDirk Engling
2024-04-15Use bzero instead of the new iob_init for older libowfatsDirk Engling
2024-04-15Allow the use of iob_init if the new libowfat is not yet availableDirk Engling
2024-04-15clang-formatDirk Engling
2024-04-14remove debug fprintfs used to catch a bugDirk Engling
2024-04-14Call io_dontwantread only once on a socketDirk Engling
2024-04-13Initialise io_batches with their appropiate init functionDirk Engling
2024-04-13Remove unused macroDirk Engling
2024-04-13Use asprintf to allocate header instead of fixed arrayDirk Engling
2024-04-13Fix type warnings in debug stringsDirk Engling
2024-04-13Add proper parsing for the gzip content encodingDirk Engling
2024-04-13Better track current iobatchDirk Engling
2024-04-13First shot on chunked transfersDirk Engling