Commit Graph

197 Commits (e88a799172b8af6f5e187c32f8d28856eafe1678)

Author SHA1 Message Date
Dirk Engling 5f35e4bef7 Be even more stupidistas-tolerant 16 years ago
Dirk Engling c69e375393 Fix debug output 16 years ago
Dirk Engling 0da6f316d6 Enable _DEBUG_HTTPERROR to avoid warning... 16 years ago
Dirk Engling 6de5b8544a Include time since startup in full scrape debug output 16 years ago
Dirk Engling 1a864b16c1 Now limit full scrape to requests sending exactly "GET /scrape HTTP/" 16 years ago
Dirk Engling d3f8013a18 Introducing multiscrape 16 years ago
Dirk Engling 463aabe5f7 Prevent url-decoding for debug by using a temp buffer 16 years ago
Dirk Engling 33530a2ac6 Those stupid "announce ?info_hash" torrents get really annoying. Fix it in announce and scrape. 16 years ago
Dirk Engling e0f88d7545 be more verbose about what full scrape consumers deliver in their http requests 16 years ago
Dirk Engling 8c3624ce9d give opentracker the missing header file 16 years ago
Dirk Engling dd7c0a3cab Must not dealloc mmaped buffers with free() 16 years ago
Dirk Engling 61204221c1 Fix misunderstandig of what libowfat thinks are seconds and what I did... 16 years ago
Dirk Engling cafb0d45fe Since array and io_batch are in a union, and we also have time-outing writable sockets, we need to mark, which of the union is used. Also remove the blessed flag from struct http, since its rarely used and can be done in a seperate memcmp. 16 years ago
Dirk Engling 53054700c8 Cannot access members after they are freed :/ 16 years ago
Dirk Engling 2c3b4e3de7 Save a lot of work when skipping through uninteresting http request parameters 16 years ago
Dirk Engling 1d4eb17452 Increase send timeout. Also use an own variable for that. 16 years ago
Dirk Engling 23465c215a io_timeout is absolute, not relative :/ 16 years ago
Dirk Engling 7d4db8015d Free iobatches on timeout 16 years ago
Dirk Engling 938d063919 HEADS UP: you need to check out the latest libowfat! Huge allocations are now taken from mmap()ed regions, not from heap anymore 16 years ago
Dirk Engling 962ad63424 Sockets we write to now do also timeout 16 years ago
Dirk Engling 5b82b40439 Exclude empty torrents from full scrape, also try to shrink full scrape buffer after it is full 16 years ago
Dirk Engling 9ffe557e6f fixed line breaks in log 16 years ago
Dirk Engling 1815dd3e53 Log all expansive operations to stderr 16 years ago
Dirk Engling 854c21cece Most open trackers do not have the problem of not being called often enough.. so do not introduce an extra timeout when waiting for activity. That also removes one of the last extraneous gettimeofday calls 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
Denis Ahrens 943b296f46 fixed some stat output 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 42433aef94 Under Linux one gets SIG_ALRMs from time to time when using epoll. Ignore those. 16 years ago
Dirk Engling 7043b69e49 Sort of addressed a concorrency issue when receiving mutliple SIG_HUPs 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 bd1562f8bd Clean up pw-structs 16 years ago
Denis Ahrens f8c2f994ff add comment for udp spec location 16 years ago
Denis Ahrens 4f173a3334 check for mafic udp id 16 years ago
Denis Ahrens 03f92a0051 fixed an overflow in ot_overall_* variables 16 years ago
Dirk Engling 6d290ff767 Clean up help and usage 16 years ago
Dirk Engling 20635e3544 New Makefile, incorporated some patches sent to me by Robin H. Johnson 16 years ago
Dirk Engling 59cac9cb80 Try to figure out nobodys uid und gid using getpwnam 16 years ago
Dirk Engling 691f58cf4a Fix endianess issue with blessed ips. Document -A feature. 16 years ago
Dirk Engling ac0b38c401 added the -A feature that blesses a certain IP address for administrative use (like sync) 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 62a41a85c8 code cleanup and more specific comments. tracker starts now also with udp port 6969 as default 16 years ago
Denis Ahrens 1fba7078d7 some udp scrape style cleanup 16 years ago
Denis Ahrens b3f72c444b support for udp scrape 16 years ago
Denis Ahrens f2313f3aff fix the stats a little for not accepting udp scrapes 16 years ago
Denis Ahrens 272d7a6bdc udp first connect needs to be counted as a connection too 16 years ago
Denis Ahrens 521cb31ad3 added the udp stats to the main stats 16 years ago
Denis Ahrens a45648f301 new modes for udp4 and tcp4 stats 16 years ago
Denis Ahrens 2291dfc00f collecting stats for udp connections (2nd try) 16 years ago
Denis Ahrens a0a4ea3469 collecting stats for udp connections 16 years ago
Denis Ahrens 7dcd592a17 fixed udp peerport endianess handling 16 years ago
Denis Ahrens 634b9cc10e fixed udp remoteport handling 16 years ago
Dirk Engling df6b33f8d8 some 64bit and endianess issues with udp... 16 years ago
Dirk Engling eea5c628de make full scrapes a bit faster, increase checkback time for udp 16 years ago
Dirk Engling b82e06fc9b Port is a short, not a long 16 years ago
Dirk Engling b506cb39a9 Sanify handling of server sockets 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
Dirk Engling 123ca420a8 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 16 years ago
Dirk Engling b283462534 zero copy sockets do only work on page aligned buffers for page sized blocks. So remove the code that tried to take advantage of false assuming, it would work on any buffer 17 years ago
Denis Ahrens 6117e68584 fixed the last commit. now it really counts the scrapes and fullscrapes 17 years ago
Denis Ahrens fa7f089536 add the scrapes to the valid requests (blue mrtg line) 17 years ago
Dirk Engling b0eee67849 el cheapo vector debugging 17 years ago
Dirk Engling b518c4809a Use multiple output buffers to try to avoid copy on write when unnecessary 17 years ago
Dirk Engling bd5f75f1a6 Try to shake off too stupid clients by sending an Bittorrent error rather than an HTTP 400 17 years ago
Dirk Engling 158ce4d616 Use signed size_t wherever appropriate 17 years ago
Dirk Engling e2d15c9c4b size_t cant get < 0 and thus wont report errors 17 years ago
Dirk Engling d299bd4937 provide mrtg with more sane strings 17 years ago
Dirk Engling 8fc31f7e29 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
17 years ago
Dirk Engling 8f1d76e65e complete_D_ ... ECODERTOODUMB 17 years ago
Dirk Engling 342e3a25c0 account downloaded before early returns 17 years ago
Dirk Engling cbd2a8f8f8 announce.php and scrape.php are now being handled 17 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. 17 years ago
Dirk Engling 0f85392889 return random check back intervals to our clients 17 years ago
Dirk Engling 94b94106c3 Code cleanup reindenting 17 years ago
Denis Ahrens 1e471b0826 backout Revision 1.67 17 years ago
Denis Ahrens 4b1d9edf58 workaround for some weird requests 17 years ago
Denis Ahrens b78c6a989a Denis wanted scrapes and erdgeist didnt give it :) 17 years ago
Denis Ahrens f85444542e Copy request before expanding url-encoded bytes 17 years ago
Dirk Engling 2746c1d258 Debugging for failed requests. 17 years ago
Dirk Engling d2aa76a80b Count successful announces extra 17 years ago
Dirk Engling d880646196 FD-debug also in new iob_send path 17 years ago
Dirk Engling c5d5867900 Full scrape, kinda tested 17 years ago
Denis Ahrens 1a5952c3ee increase the timeout to make the ride a little smoother for some clients 17 years ago
Dirk Engling 27199ad1c3 -m64 is not usually a correct compile option 17 years ago
Dirk Engling 0210ea5d90 Debug file descriptors 17 years ago
Denis Ahrens e4323e3fe2 *seuftz* 17 years ago
Denis Ahrens 6d049b33d3 set the interval to 1800 for announce (last change was only for scrape) 17 years ago
Dirk Engling f05ed877ed From now the OT_CLIENT_TIMEOUT will be enforced, even if some data arrived inside this interval 17 years ago
Dirk Engling d3b93762fa Tidied main loop do accept() and read() before timeout() 17 years ago
Dirk Engling 003d5a52a2 Give our server some air to check for timedout connections 17 years ago
Dirk Engling 7df1f66840 Rearranged code to try to read data as soon as socket is accepted, also raise backlog for listening socket 17 years ago
Dirk Engling cc07b8ca2c Simple top5 by peers/seeders table 17 years ago
Dirk Engling f51335b9b8 Rudimentary stats 17 years ago
Dirk Engling 7fd4de2dfc Do some timeout checking on the first possible moment 17 years ago
Dirk Engling 03b2e45e0a Previous answer to event=stopped irritated some clients. Now reply with a static nothing-message 17 years ago
Dirk Engling add4de97bf Cast types for mrtg_scrape sprintf 17 years ago