1
0
mirror of git://erdgeist.org/opentracker synced 2025-02-06 12:06:25 +00:00

216 Commits

Author SHA1 Message Date
erdgeist
ff3c0feab5 Add workaround to openbsd's broken v6 API 2009-02-10 14:49:38 +00:00
erdgeist
2d3718151d Fix a pointer arithmetic issue leading to incorrect peer data being copied. Allocate correct size for debugbuffer. Expect exact values on find keywords, not only prefix match. 2009-01-16 04:17:22 +00:00
erdgeist
0b875273d4 Remove debug message 2009-01-16 02:28:54 +00:00
erdgeist
f12fa4c362 Use a self pipe to wake from io_wait when a thread finished his work. 2009-01-16 02:26:50 +00:00
erdgeist
66c906d5d3 Add 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 default handler for the second SIGINT 2009-01-15 23:01:36 +00:00
erdgeist
02b3abbab6 Make v4 and v6 modes v4/v6-ONLY 2009-01-15 16:20:47 +00:00
erdgeist
131211b4da V6 2009-01-13 22:41:17 +00:00
erdgeist
779d6c235f * 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 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-05 18:05:39 +00:00
erdgeist
8bdc0d73f6 Make opentracker ANSI C again. 2009-01-03 03:25:37 +00:00
erdgeist
2df09905f5 * opentracker now drops permissions in correct order and really chroots() if ran as root
* 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.
2009-01-02 08:57:53 +00:00
erdgeist
5c99e50e25 minoe white space 2009-01-01 17:44:04 +00:00
erdgeist
c6947b160f Handle program end more politely 2008-12-07 03:50:51 +00:00
erdgeist
ad8c9ee1ef Avoid cast warning on 64bit machines 2008-12-06 20:21:15 +00:00
erdgeist
08c7162783 Renamed OT_FLAG to OT_PEERFLAG to make code easier to read
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-06 18:46:00 +00:00
erdgeist
334c6e4bbb The BIG refactoring [tm]. Too many changes to count them. If it doesn't suite you, revert to last version. 2008-11-28 22:21:10 +00:00
erdgeist
daaee855b2 Whitespace fixes 2008-10-28 01:27:22 +00:00
erdgeist
529919ac83 Fix: blacklist and whitelist config option parsing code was the wrong way 2008-10-26 12:01:58 +00:00
erdgeist
06b503a11f Enable stats restricting config file option 2008-10-24 00:04:02 +00:00
erdgeist
f4283be677 Fix debug output for addresses >127 2008-10-17 15:21:11 +00:00
erdgeist
fae73214af A new config file option to connect to tcp and udp at once has been added. Also some clarifications have been put into the sample config file. 2008-10-06 11:42:03 +00:00
erdgeist
bca01f4cde document the new config file feature. 2008-10-06 03:42:51 +00:00
erdgeist
17724dde29 Make ot_try_bind local again. Also dont handle multi cast udp packets in opentracker.c, ot_livesync.c does it by itself. 2008-10-06 02:03:08 +00:00
erdgeist
68b1b8409b Make scan_ip4_port API more sane, add debug output, be less tolerant when syntax checking command line options 2008-10-05 12:30:06 +00:00
erdgeist
e534db03c6 added live sync code
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-10-04 05:40:51 +00:00
denis
b637fdcdf3 add missing include on linux 2008-09-17 02:49:23 +00:00
erdgeist
408c5f98ed Introducing live busy network detection. 2008-01-17 10:46:25 +00:00
erdgeist
c28cf398fd Introduce some kind of versioning 2007-12-20 05:59:34 +00:00
erdgeist
bee364a6f3 / can now be redirected to any URL 2007-12-05 01:40:24 +00:00
denis
362a0e052a [19:19] <eRdgEiSt> Denis: erdgeist ist ein Volltrottel! 2007-12-04 18:29:34 +00:00
erdgeist
828831bbb6 Dont need arpa/inet 2007-12-03 01:21:34 +00:00
erdgeist
fd41161407 Finally split up the opentracker.c cruft into ot_http.c, ot_accesslist.c and just leave in socket handling and parameter parsing 2007-12-03 00:58:18 +00:00
denis
0a1cc18358 add scrape stats and small correction to udp stats 2007-12-02 03:58:36 +00:00
erdgeist
ae1863f232 Encforce setting the clock more often. This hopefully fixes a rare bug of g_now not being updated anymore. 2007-11-29 15:43:30 +00:00
erdgeist
09a662dfce Missed the second strnstr... fixed. 2007-11-24 20:34:41 +00:00
erdgeist
54560fdcd3 strnstr is not part of what posix conform libc has to offer... replace it by strstr after cutting off the last byte 2007-11-23 18:14:22 +00:00
erdgeist
b1c8723609 Introducing compression for fullscrapes and tpbs stats 2007-11-22 04:39:08 +00:00
erdgeist
e65ac51a28 Last user of sendmmapdata is gone. Purge it. 2007-11-21 01:53:17 +00:00
erdgeist
cf8d4fae1d Sockets do not inherit non-blocking state in libowfat... 2007-11-20 02:21:53 +00:00
erdgeist
49ba269b9d Cleanup now moved to its own thread, too 2007-11-19 21:10:53 +00:00
erdgeist
8d5f221785 Full scrapes are now being delivered in different modes, as triggered by stats&mode=tpbs 2007-11-18 16:47:37 +00:00
erdgeist
6458a37d82 introducing multithreaded full scrape creation. 2007-11-16 00:23:42 +00:00
erdgeist
e476006019 Move dead socket handling from handle_(read,write,timedout) into its own function handle_dead 2007-11-14 13:06:34 +00:00
erdgeist
697e239027 Moving accesslist stuff to its own object 2007-11-12 04:39:53 +00:00
erdgeist
a8993b8eea Moving full scrapes to iovec-creating thread safe function 2007-11-12 01:41:57 +00:00
erdgeist
927ac023ce The expensive DMEM stats is gone. No need for it, too much potential to DOS. 2007-11-06 18:02:03 +00:00
erdgeist
41120f6a0d Move stats out of opentracker.c, also have an own file handle udp requests. 2007-11-06 17:50:41 +00:00
erdgeist
8900cc0dd9 No 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 and not considered stable. 2007-11-06 11:58:32 +00:00
erdgeist
a859ae78e5 Cleaned up stats return format. Also reflect APPI changes due to MT code in trackerlogic.{c,h} 2007-11-06 01:28:40 +00:00
erdgeist
8acc0ff48f Introduce configuration dependent number of parameters in a nicer way 2007-11-02 13:13:03 +00:00
erdgeist
5aa41e9d82 The last experiment failed. No more accept deferral 2007-11-02 04:18:52 +00:00