summaryrefslogtreecommitdiff
path: root/ot_clean.c
AgeCommit message (Collapse)Author
19 hoursReplace libowfat's event waiter with our own abstractionDirk Engling
It's with a heavy heart that I remove libowfat as my event library from opentracker. libowfat is what taught opentracker to walk and then fly. The tracker was literally standing on the shoulder of giants when I started writing it in 2006. For its time, the event abstraction was unparalleled and it has held up for many years, and it served the bittorrent community greatly. https://erdgeist.org/gitweb/opentracker/commit/?id=ad472597c569568bad0526d116b601dfcb36638c Unfortunately, it is very likely that libowfat will not be maintained anymore for the foreseeable future, it is already not easy to get its source from upstream and opentracker started receiving bug reports that I can not reasonably answer or patch. Before the project gets more dependent on the limitations of libowfat's current state, I need to teach opentracker to stand on its own feet and fly by itself. I've learned a great deal in the process and have even more respect now for what libowfat pioneered. The path for opentracker is cleared now. Ground work has already been laid in the migration process to support multi threaded http processing while keeping the aggressive reduction of syscalls alive that made the libowfat+opentracker combo so scalable. Here be some dragons, though: Even though there is a unit test suite now, the event loop's rewrite has not been battle tested yet. So you might want to hold up for a bit before jumping on the solo band wagon. What awaits at the end will be a long overdue v1.0, which will be named in honour of Felix.
2026-04-03turn all int offsets into size_tDirk Engling
2024-04-16Remove CVS version tags, they did not work anymore after moving to gitDirk Engling
2024-04-15clang-formatDirk Engling
2024-04-07Number of reported removed peers was too high, correct it by size of peerDirk Engling
2024-04-03Prepare opentracker for dual stack capabilitiesDirk Engling
2022-11-24Clean accesslists every five minutesDirk Engling
2012-06-03Make woodpecker spotting more usable by adjusting count every 2 minuteserdgeist
2011-11-16silenced some clang warningsdenis
2009-02-20Formattingerdgeist
2009-01-15Add comments, rename our struct http_data h to cookie, all clientsockets to sock, all size_t from socket_recvs to byte_count. Make signal handler set ↵erdgeist
default handler for the second SIGINT
2009-01-15Some premature optimization lead to always only 8bytes of ot_peers being copiederdgeist
2009-01-02* opentracker now drops permissions in correct order and really chroots() if ran as rooterdgeist
* lock passing between add_peer_to_torrent and return_peers_for_torrent is now avoided by providing a more general add_peer_to_torrent_and_return_peers function that can be used with NULL parameters to not return any peers (in sync case) * in order to keep a fast overview how many torrents opentracker maintains, every mutex_bucket_unlock operation expects an additional integer parameter that tells ot_mutex.c how many torrents have been added or removed. A function mutex_get_torrent_count has been introduced.
2008-12-07Handle program end more politelyerdgeist
2008-12-06Renamed OT_FLAG to OT_PEERFLAG to make code easier to readerdgeist
Introduced READ16/32 and WRITE16/32 makros to abstract loading/storing from unaligned addresses away on cpu's that can actually load/store everywhere Removed all unnecessary memmoves, especially where it only moved 6 bytes in inner loop. I replaced them with WRITE16/32(READ16/32()) makros
2008-12-05Tidy up unnecessary includeserdgeist
2008-11-28The BIG refactoring [tm]. Too many changes to count them. If it doesn't suite you, revert to last version.erdgeist
2008-11-03Spread the amount of time spent in cleanup about 2 minuteserdgeist
2008-10-28Whitespace fixeserdgeist
2008-10-07Reverting last commit. Debug effect not seen.erdgeist
2008-10-07allow threads to be named. not posix compliant.erdgeist
2008-10-04added live sync codeerdgeist
added a config file parser added tracker id changed WANT_CLOSED_TRACKER and WANT_BLACKLIST into WANT_ACCESS_WHITE and WANT_ACCESS_BLACK changed WANT_TRACKER_SYNC to WANT_SYNC_BATCH and added WANT_SYNC_LIVE added an option to switch off fullscrapes cleaned up many internal hardcoded values, like PROTO_FLAG,
2007-12-20Introduce some kind of versioningerdgeist
2007-12-03Simplify includeserdgeist
2007-11-20Make clean_single_torrent return much faster, if nothing is to doerdgeist
2007-11-19Cleanup now moved to its own thread, tooerdgeist
2007-11-06Fixed warnings about newlines at end of fileerdgeist
2007-11-06No one can get access to buckets now without locking them. Also split up the trackerlogic.c-monster in functional sub-units. HEADS UP: this code is untested ↵erdgeist
and not considered stable.