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