Commit Graph

61 Commits (e88a799172b8af6f5e187c32f8d28856eafe1678)

Author SHA1 Message Date
Dirk Engling 5f7e2dafaa Make ot_try_bind local again. 15 years ago
Dirk Engling e076dab883 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,
15 years ago
Dirk Engling e767fae72a Introduce some kind of versioning 16 years ago
Dirk Engling 5b3eb23f5f Drop ot_{byte,word,dword} and use uint{8,16,32}_t, also simplify includes 16 years ago
Dirk Engling 7e570f0f60 Fixing mmap allocation went to ot_mutex.c. Clean all torrents moved to ot_clean.c. Also make static buffers static 16 years ago
Dirk Engling f03b2740dd Moving accesslist stuff to its own object 16 years ago
Dirk Engling 0bc163060e Full scrape moves to its own object 16 years ago
Dirk Engling 2e2c1762d3 Move stats out of opentracker.c, also have an own file handle udp requests. 16 years ago
Dirk Engling fed78043a6 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. 16 years ago
Dirk Engling 44cbe3de53 Make to_hex thread safe. Get rid off old /24 counting code. Protect more bucket accesses by locks. 16 years ago
Dirk Engling ee8369dbcf We do now use the tools for locking buckets in order to prepare MT code 16 years ago
Dirk Engling aa25c390dd Introducing first tools to make opentracker multithreaded. 16 years ago
Dirk Engling 472f8469d2 Introduce configuration dependent number of parameters in a nicer way 16 years ago
Dirk Engling 1b467d186c Allow for more than one admin ip address 16 years ago
Dirk Engling 66b21d1e28 Add more full scrape stats 16 years ago
Dirk Engling f37e510592 Reenabled syncing 16 years ago
Dirk Engling df30bc8484 Number of buckets is 1024 now
Clean all torrents now only cleans one bucket at a time
All torrents that are being worked upon in an announce are being cleaned on demoand
torrent's peer lists now keep extra counts for seeds and peers to speed up scrape and announce
Sync has gone for now. I will think up a new way to implement. The old one was way to slow.
16 years ago
Dirk Engling d3f8013a18 Introducing multiscrape 16 years ago
Dirk Engling 71436d6b24 After studying opentracker live data, I decided to radically reduce default allocation for vectors and making it grow faster instead: Most pools only had one or two peers, wasting 8*15 or 8*14 bytes. 16 years ago
Dirk Engling 6891fa78bc Increase check interval for timeouted sockets to 10 seconds. That may prevent some disrupted scrapes. 16 years ago
Dirk Engling b61651394a Increase send timeout. Also use an own variable for that. 16 years ago
Dirk Engling 7a3ddcfbce since gettimeofday is rather expansive, we do only fetch time once in a 5 second period, when we are delivered a SIGALRM. 16 years ago
Dirk Engling b3f834951c make 64bit safe 16 years ago
Dirk Engling 4319defc9c New stats for s24s code, this is debug, do not use in real world 16 years ago
Dirk Engling c863c6e108 An announce with event=stopped now returns correct number of leechers and seeders. In TCP and UDP. 16 years ago
Dirk Engling d58db69d9a Added whitelisting to reimplement the WANT_CLOSED_TRACKER functionality 16 years ago
Dirk Engling 6382386416 some subnet stats... still ugly and untested. 16 years ago
Dirk Engling 8ef59b0351 * 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
16 years ago
Dirk Engling cb90c27b28 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. 16 years ago
Dirk Engling 2a646cf4a0 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. 16 years ago
Denis Ahrens b3f72c444b support for udp scrape 16 years ago
Denis Ahrens a45648f301 new modes for udp4 and tcp4 stats 16 years ago
Dirk Engling 622e34f2b0 udp is working in theory, return_peers_for_torrent accepts a switch to request an udp answer. Fixed prototypes. 16 years ago
Denis Ahrens 3409074dc0 increased the interval random variation 16 years ago
Denis Ahrens 4cebf91d22 make the interval with random an average value around the real value and not additional 16 years ago
Dirk Engling 48d0196995 Make timeouts more human readable 16 years ago
Dirk Engling f545ad8774 Wasted too much space for minimum element count. Now minimum elements in vektor is 16, it grows and shrinks by a factor of 4 and a shrinking hysteresis of a factor of 5 16 years ago
Dirk Engling b0eee67849 el cheapo vector debugging 16 years ago
Dirk Engling 47eaad59df On linux time.h must be included to use time() 16 years ago
Dirk Engling 342e3a25c0 account downloaded before early returns 16 years ago
Dirk Engling 96e5b5a076 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. 16 years ago
Dirk Engling 0f85392889 return random check back intervals to our clients 16 years ago
Dirk Engling c5d5867900 Full scrape, kinda tested 16 years ago
Dirk Engling f05ed877ed From now the OT_CLIENT_TIMEOUT will be enforced, even if some data arrived inside this interval 16 years ago
Dirk Engling ddd1609efd Simple top5 by peers/seeders table 16 years ago
Dirk Engling f51335b9b8 Rudimentary stats 16 years ago
Dirk Engling afa05fad96 Documentation improved, some reindenting (again), variable types checked, unnecessary defines removed 16 years ago
Dirk Engling 9957e9ea1f Be more helpful 16 years ago
Dirk Engling 1c97e9cd8c added closed tracker and blacklist code 16 years ago
Dirk Engling a3ac795bec README\! 16 years ago