Commit Graph

113 Commits (5fb58458f60c07a46f27167bcb210a3610c9c55a)

Author SHA1 Message Date
erdgeist 7120799379 Now enforce that peers do not come back before our interval by giving out a 'min interval' in responses.
erdgeist 405ef01dd3 printf is buffered, write not. Use printf for all.
erdgeist eda3ae7f91 Add debug code to spot peers that come back too early
erdgeist 566e8267e1 Live Sync for peers that do not come back too early.
erdgeist 334c6e4bbb The BIG refactoring [tm]. Too many changes to count them. If it doesn't suite you, revert to last version.
erdgeist bb1c5d2805 Add stats about when peers renew their announces.
erdgeist daaee855b2 Whitespace fixes
erdgeist 4b31dce3b3 release pools only after all other services have been stopped.
denis 1c3c5d57da only sync when the peer is actually added to the first pool. this saves ca. 40% syncdata
erdgeist 0dafc2ab26 Bugfix: overwrote bencoded data with udp reply data when sending an event=stopped
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,
denis c71505fd9a send out the total downloaders for a announce response
erdgeist cadf1803e1 Fix endianess issues, also obey number of peers requested in udp announces
erdgeist c28cf398fd Introduce some kind of versioning
erdgeist d3b8375080 Fix include for iovecs
erdgeist 848a06a706 Drop ot_{byte,word,dword} and use uint{8,16,32}_t, also simplify includes
erdgeist f697fa3dda Fixed a bug where we forgot to stamp torrents that are not new.
erdgeist acaf7ae2b3 Fixing mmap allocation went to ot_mutex.c. Also startup new sync thread.
erdgeist 49ba269b9d Cleanup now moved to its own thread, too
erdgeist 697e239027 Moving accesslist stuff to its own object
erdgeist a0d12f9ab5 Full scrape moves to its own object
erdgeist 4ccbc9bd0e Fixed a forgotten unlock and a messed up string pointer
erdgeist bbbaa0e09d Fixed warnings about newlines at end of file
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.
erdgeist 785a9f13bd Make to_hex thread safe. Get rid off old /24 counting code. Protect more bucket accesses by locks.
erdgeist 4a68f8692b We do now use the tools for locking buckets in order to prepare MT code
erdgeist 8acc0ff48f Introduce configuration dependent number of parameters in a nicer way
erdgeist 31eada6168 Reenabled syncing
erdgeist b19bbd6a85 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.
erdgeist 68a104ad2a Now measure the time a clean_all_torrents takes
erdgeist 41019c79d8 Introducing multiscrape
erdgeist 870c995fbb Remove an unused variable
erdgeist cab763d4ee Release exactly all unused bytes in mmap allocation.
erdgeist 8e78ac7012 HEADS UP: you need to check out the latest libowfat! Huge allocations are now taken from mmap()ed regions, not from heap anymore
erdgeist c730a24d0a Fixed 24h clean bug. Allocate less memory for full scrape. Free torrents without any downloaders immediately.
erdgeist 28d88e3380 Exclude empty torrents from full scrape, also try to shrink full scrape buffer after it is full
erdgeist 4c15dc7a70 make 64bit safe
erdgeist dd82db18ad There is a pool leak somewhere... try to find it
erdgeist c350fa0b3c New stats for s24s code, this is debug, do not use in real world
denis c4f924810e fixed a small bug with 0 torrents and a cosmetical one
erdgeist 33c9c530d0 An announce with event=stopped now returns correct number of leechers and seeders. In TCP and UDP.
erdgeist ea276fa0bf Fixed the inverse interpretation of black/white listing
erdgeist 3e47339b6c Added whitelisting to reimplement the WANT_CLOSED_TRACKER functionality
erdgeist 51e4b179ab off by -1... or so, strange error class
erdgeist d49c1d5960 Fix endianess issue in /24 stats code
erdgeist afe966b644 some subnet stats... still ugly and untested.
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
denis f3d83559e6 need more space for data because we reach this limit easily now
denis 0f5a092f75 fix a warning
erdgeist 5c18293c9c New Makefile, incorporated some patches sent to me by Robin H. Johnson