summaryrefslogtreecommitdiff
path: root/ot_http.c
AgeCommit message (Collapse)Author
2009-01-13V6erdgeist
2009-01-05* http and udp routines now use thread local buffers passed in workstruct containers. In other words they do not use static_buffer anymore and are ↵erdgeist
considered to be thread safe. * the new workstruct also introduces a well defined buffer and result passing path * a new function scan_find_keywords is a wrapper around scan_urlencoded_query that maps keys in url to values passed in an array of ot_keywords structs * this new function cleans up much of url parameter parsing work, where read_ptr and write_ptr have been introduced rather than the confusing char *c, *data variables * I now use memcmp instead of byte_diff to allow compiler to optimize constant size string compares * got rid of UTORRENT_1600_WORKAROUND * livesync_ticker is now only called from one (currently main) thread to avoid race conditions
2009-01-03Make opentracker ANSI C again.erdgeist
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-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-06Format for full scrapes was not parsed correctly.erdgeist
2008-12-05Let's give a damn about syntactical correctness of peer's http strings. It's too expensive on both sides to check and to reject.erdgeist
2008-12-03Add debug code to store peer iderdgeist
2008-12-03stats fuer syncdenis
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-03Add stats about when peers renew their announces.erdgeist
2008-10-28Whitespace fixeserdgeist
2008-10-28Fix stats parse code to allow modes with more than 4 characters. Wir wurden ja langsam zum Gespoett der Leute.erdgeist
2008-10-24Tidy up stats task.erdgeist
2008-10-22fixed the lengthdenis
2008-10-06Bugfix: API change missed in two points, when calling return_peers_for_torrent. is_tcp was replaced by FLAG_TCP or FLAG_UDPerdgeist
2008-10-05white space in commenterdgeist
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,
2008-01-17Introducing live busy network detection.erdgeist
2007-12-20Enable revision watching from the interneterdgeist
2007-12-20Introduce some kind of versioningerdgeist
2007-12-14add support for more stats:denis
1. stats for added and removed torrents 2. stats for start and stopped events from peers this should help to detect DoS attacks and is useful for profiling
2007-12-08add mrtgstyle stats for number of torrentsdenis
2007-12-05/ can now be redirected to any URLerdgeist
2007-12-04Count invalid requestserdgeist
2007-12-03 Avoid warnings about unused variables without certain defineserdgeist
2007-12-03Move http handling to its own sourceserdgeist