Commit Graph

121 Commits (131211b4daf83b7c594337f4e7c71e4711094d71)

Author SHA1 Message Date
erdgeist 3e47339b6c Added whitelisting to reimplement the WANT_CLOSED_TRACKER functionality 2007-08-18 09:56:22 +00:00
erdgeist 51e4b179ab off by -1... or so, strange error class 2007-07-22 18:23:00 +00:00
erdgeist d49c1d5960 Fix endianess issue in /24 stats code 2007-07-22 16:33:16 +00:00
erdgeist afe966b644 some subnet stats... still ugly and untested. 2007-07-22 16:17:26 +00:00
erdgeist c0b00c0bf5 * fixed "nobody " -> "nobody" fuckup when getpwnam-ing
* implemented basic blacklisting:
** the file specified with -b <BLACKLIST> is read and added to a blacklist vector
** if an announce hits a torrent in that blacklist vector, add_peer_to_torrent fails
** sending a SIGHUP to the program forces it to reread the blacklists
** the server returns with a 500, which is not exactly nice but does the job for now
** an adaequat "failure reason:" should be delivered... TODO
2007-07-22 00:40:10 +00:00
denis f3d83559e6 need more space for data because we reach this limit easily now 2007-05-20 14:35:22 +00:00
denis 0f5a092f75 fix a warning 2007-04-10 04:00:49 +00:00
erdgeist 5c18293c9c New Makefile, incorporated some patches sent to me by Robin H. Johnson 2007-04-03 11:08:17 +00:00
erdgeist 33774078ab Added inbound part of sync. This also meant to remove the black/whitelisting as we did by now. A more scalable way to blacklist will follow. 2007-03-27 16:09:03 +00:00
erdgeist b38104b986 Added outbound part of sync Proposed format: d4:syncd20:<info_hash>8*N:(xxxxyy)*Nee, therefore had to refactor torrent cleanup now that it will hit all torrents once every OT_POOL_TIMEOUT units. 2007-03-27 12:07:29 +00:00
denis 5791044029 endianess fix for udp scrape 2007-03-17 01:24:56 +00:00
denis 8ac7768b96 support for udp scrape 2007-03-16 22:46:41 +00:00
erdgeist e75c3e25cd make full scrapes a bit faster, increase checkback time for udp 2007-03-10 15:39:19 +00:00
erdgeist 4c3eb0216e Missing include 2007-03-07 23:15:11 +00:00
erdgeist 0a90216686 udp is working in theory, return_peers_for_torrent accepts a switch to request an udp answer. Fixed prototypes. 2007-03-06 19:43:47 +00:00
erdgeist 175c37c3e8 Can now handle multiple ips/ports, can BIND to udp ports but not yet handle them, now checks if event=completed comes with left=0 and drops it, if it doesnt 2007-03-05 21:14:50 +00:00
erdgeist a73186988f stupid mistake in remove torrent call 2007-03-02 02:23:03 +00:00
erdgeist 2313de59e5 Count completed messages only once per peer 2007-02-16 21:13:44 +00:00
erdgeist 70a65f2842 Add a lot of documentation for static functions in trackerlogic.c. Make vector_remove_peer use hysteresis only, if pool is expected to grow again. Remove too old torrents. 2007-02-04 03:29:29 +00:00
denis 11a1c070ae shortened the dmem debug output 2007-02-04 00:37:45 +00:00
denis d451d32b41 made the output of the memdebug smaller 2007-02-02 23:39:36 +00:00
denis 484565b6b7 clear the freed mempointer 2007-02-01 22:23:56 +00:00
erdgeist 4569b9ffdf release memory for empty peer pools 2007-02-01 17:01:03 +00:00
erdgeist 9882d74b7e Forgot to take into account, that there are OT_POOL_COUNT debuggable pools in one torrent. Fixed. 2007-02-01 15:57:29 +00:00
erdgeist e7f6908fb2 Reserved too few space to hold all data for a memdebug 2007-02-01 15:45:24 +00:00
erdgeist f9c49e9759 el cheapo vector debugging 2007-02-01 13:51:40 +00:00
erdgeist 5a3d6b4029 We now answer as soon as the first \n is seen
We do not copy input buffer to socket's input array anymore, if we find \n in first buffer
We simplified parsing of input string
We removed asserts that were needed to debug negative seeder counts
We split static input and output buffers for obvious reasons
We enlarged static output buffer to prepare multi scrape functionality
We removed -lm from Makefile, this lib was only needed, when our random algorithm worked on floats
We close fds now that come with an empty iocookie into write loop, those don't make sense
We documented query string parser in opentracker.c a lot better to help auditing
2007-01-29 02:02:03 +00:00
erdgeist a244da8d5e really copy in new peer, even if it already existed, to remember its state 2007-01-27 17:04:55 +00:00
erdgeist dc1099dd66 Asserts were always false :/ 2007-01-27 16:42:57 +00:00
erdgeist 6603b51576 Due to recent issues... assert() seed counts 2007-01-27 16:35:56 +00:00
erdgeist c094695add account downloaded before early returns 2007-01-27 16:06:13 +00:00
denis 65675cd4da fix for corrupt fullscrape. did never work until now 2007-01-27 08:57:11 +00:00
erdgeist 05420c40e5 Introduce another unspec'd command: sync which syncs the most recent peer pool for a torrent out. Do some variable type clean up. Do some code structure clean up. 2007-01-26 16:26:49 +00:00
erdgeist dffea5da69 return random check back intervals to our clients 2007-01-25 14:16:26 +00:00
erdgeist c2ed48f73b Return empty dictionary for unknown scrapes 2007-01-24 21:26:50 +00:00
erdgeist 5f7c044b54 Full scrape, kinda tested 2007-01-20 11:13:30 +00:00
erdgeist 908649af98 From now the OT_CLIENT_TIMEOUT will be enforced, even if some data arrived inside this interval 2007-01-18 13:06:49 +00:00
erdgeist 005ff4e231 Simple top5 by peers/seeders table 2007-01-17 11:51:55 +00:00
erdgeist 4eefe49307 Prevent each invocation of clean_peerlist to call time() 2007-01-16 03:57:19 +00:00
erdgeist 43b60783a1 Use mrtg to do periodical cleanup. Hopefully that wont make too much load for stats. 2007-01-16 03:44:13 +00:00
erdgeist ade8268970 Rudimentary stats 2007-01-16 02:59:39 +00:00
denis cde935b5bd set interval to default value from original tracker 2007-01-15 23:40:58 +00:00
erdgeist ad6c1b2019 New, fixpoint distinct random algorithm for choosing peers from the list... may contain bugs. Feedback welcome 2007-01-13 19:06:39 +00:00
erdgeist 575bf7081f casting does floor() by itself 2007-01-12 01:22:03 +00:00
erdgeist 805e46450c Documentation improved, some reindenting (again), variable types checked, unnecessary defines removed 2007-01-11 01:06:10 +00:00
erdgeist 74a7fbd6fe Fixed a bug where I didn't replace new buffer pointer after realloc. Fixed a bug where I didnt copy enough memory when shrinking vectors. Now save some extra bytes in header. 2007-01-09 06:30:37 +00:00
erdgeist 17c21a0bc4 Apply some limits 2007-01-06 22:24:09 +00:00
erdgeist e7532408b6 black listing was the wrong way around 2007-01-05 17:01:20 +00:00
erdgeist 9f63a7bd63 really check g_check_blacklist flag 2007-01-05 16:25:02 +00:00
erdgeist c89cfaad5e Be more helpful 2007-01-05 13:00:06 +00:00
erdgeist 2aa03492a5 added closed tracker and blacklist code 2007-01-05 12:25:44 +00:00
erdgeist cdf2fbabed README\! 2007-01-05 00:00:42 +00:00
erdgeist 33eaf54da7 simplified binary_search, it always does a memcmp. began to implement dump knowledge 2007-01-04 16:14:21 +00:00
erdgeist e0a9c2a4aa Added option to get ip from query string + parser, fixed two bugs concerning grow/shrink of vectors. Now cleans up a torrent BEFORE trying to remove a peer -> this may remove peer already and must be done anyway. 2007-01-03 05:11:48 +00:00
erdgeist 808e370566 random 2006-12-15 23:53:24 +00:00
erdgeist 82b4df6751 Make code endianess save 2006-12-15 23:28:23 +00:00
erdgeist 4761c70843 sorted bencoded order 2006-12-15 22:40:33 +00:00
erdgeist af147a1d14 Fixed mem leak, inmplemented mrtg_scrape 2006-12-15 22:07:33 +00:00
erdgeist 8d13a14584 announce now returns all mandatory answer dictionary entries 2006-12-14 02:54:08 +00:00
erdgeist 688a4edd9e Now actually seems to work for the most parts
Added scraping
Added graceful disconnect
2006-12-14 02:44:50 +00:00
erdgeist c0f667defe Reacts more appropriate, however EXC_BAD_ACCESS triggered 2006-12-13 14:44:14 +00:00
erdgeist d7c26dc71b Trackerlogic done... not tested yet 2006-12-13 02:44:39 +00:00
erdgeist 31c20c515d This is a complete rewrite... assume nothing works. 2006-12-12 02:37:19 +00:00
erdgeist 0de82a8925 Fixed parser 2006-12-09 12:50:42 +00:00
erdgeist 932242eee7 Logic now actually initialized and deinitialized 2006-12-08 22:53:32 +00:00
erdgeist 62a9b02532 Should work now *cough* *cough* 2006-12-08 21:36:26 +00:00
erdgeist 2adf4fb28a Our scanner routine for the URI query string 2006-12-08 19:20:51 +00:00
erdgeist 1c1fd9fe4a Started to implement glue 2006-12-07 02:58:02 +00:00
erdgeist a364c3f010 Reloading peer_list files works in theory 2006-12-07 01:31:11 +00:00
erdgeist e288897eab Cleaned up type namespace, mapping now works, introduced anonymous mapping, made init/deinit code, time now works.... Glue code and init code still missing 2006-12-06 18:37:46 +00:00
erdgeist ad472597c5 Kickoff 2006-12-05 12:56:56 +00:00