summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
3 daysFix s24s stats to ensure no unallocated vector is dereferenced. Drive-by fix for the ip= scanner in the http parserDirk Engling
3 daysStart to opentracker's memory requirementsDirk Engling
* peer lists for v4 and v6 are now lazily allocated and, more importantly, will be freed once there are no more peers * The downloaded count is now per torrent and not per peer list anymore, moving in what was alignment loss, anyway * The (now) per torrent downloaded and the per peer list peer and seed count shrunk from size_t to uint32_t * A helper guards accesses to the peer and seed count to prevent null pointer dereferences * The base time also shrank from time_t to uint32_t, minutes since the epoch currently fits in 25 bits
4 daysFix a theoretical bug where a short request packet yields an oob readDirk Engling
4 daysfix a theoretical bug where a shrinking realloc failure would leave a vector with pointer NULL and size > 0Dirk Engling
4 daysFix an accesslist reload issue where an empty-but-present changeset after a reload could potentially walk a NULL arrayDirk Engling
4 daysIf an inline handler closed the connection on error, the cookie may have become invalid. Stop processing thenDirk Engling
4 daysAlso drop supplementary groups on startupDirk Engling
4 daysTo silence leak checkers, properly deinit fullscrape writers when zlib is used, in case opentracker stops mid-creationDirk Engling
4 daysSilence an unused return warningDirk Engling
4 daysFix: livesync watermark used sizeof(ot_peer) which is a byte. Clamping on copy length nowDirk Engling
4 daysGives urlencoded_parse a destination boundDirk Engling
4 daysAdd a wall clock helper so that statedumps can be written and re-readDirk Engling
4 daysDo not offset the null pointer of an empty peer vectorDirk Engling
4 daysBound what load_state will accept for an ageDirk Engling
4 daysStop reading a connection a worker has taken overDirk Engling
5 daysUse poll instead of a condition variable to time the sleepersDirk Engling
5 daysAnswer blacklisted torrent announces with an empty packet, that carries a re-announce timeoutDirk Engling
5 daysMark sockets as desinterested after reading the first task, so that the next one does not replace the old one mid flightDirk Engling
5 daysInitialise memory before it's pointers are used in case of a failed allocationDirk Engling
5 daysStart live sync where main knows the state file is inDirk Engling
5 daysInstall signal handlers before the first thread is spawnedDirk Engling
5 daysStop the cleaner before the modules it still needsDirk Engling
5 daysRead the accesslist before any consumer consults itDirk Engling
5 daysSome minor indenting and man page language style fixesDirk Engling
5 daysStep 2 of the WANT_RESTRICT_FULLSCRAPE feature (fixing a bug along the way)Dirk Engling
5 daysActually implement the OT_PERMISSION_MAY_FULLSCRAPE mechanics and add a config file entryDirk Engling
5 daysFix: Restoring a state file doubled every completed countDirk Engling
5 daysTake the clock off the wallDirk Engling
5 daysRemove stale comment about the hex conversion helperDirk Engling
5 daysClamp every elapsed time span at zero, using a set of helper functionsDirk Engling
7 daysBind mcast socket to its group rather than the wildcardDirk Engling
7 daysRefuse to start on a listen statement that does not parseDirk Engling
7 daysRefuse to start on a livesync.cluster.group that is not oneDirk Engling
7 daysLet a user pick their cluster's own multicast groupDirk Engling
7 daysSend live sync to the port it listens onDirk Engling
7 daysFix: Source, header and config file disagreed about which mcast group to join.Dirk Engling
7 daysLet a tracker with live sync built in run without a clusterDirk Engling
7 daysGive the live sync worker a real workstructDirk Engling
8 daysMove the build sources into src/Dirk Engling