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
16 years ago
Denis Ahrens
6117e68584
fixed the last commit. now it really counts the scrapes and fullscrapes
16 years ago
Denis Ahrens
fa7f089536
add the scrapes to the valid requests (blue mrtg line)
16 years ago
Dirk Engling
b0eee67849
el cheapo vector debugging
16 years ago
Dirk Engling
b518c4809a
Use multiple output buffers to try to avoid copy on write when unnecessary
16 years ago
Dirk Engling
bd5f75f1a6
Try to shake off too stupid clients by sending an Bittorrent error rather than an HTTP 400
16 years ago
Dirk Engling
158ce4d616
Use signed size_t wherever appropriate
16 years ago
Dirk Engling
e2d15c9c4b
size_t cant get < 0 and thus wont report errors
16 years ago
Dirk Engling
d299bd4937
provide mrtg with more sane strings
16 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
16 years ago
Dirk Engling
8f1d76e65e
complete_D_ ... ECODERTOODUMB
16 years ago
Dirk Engling
342e3a25c0
account downloaded before early returns
16 years ago
Dirk Engling
cbd2a8f8f8
announce.php and scrape.php are now being handled
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
94b94106c3
Code cleanup reindenting
16 years ago
Denis Ahrens
1e471b0826
backout Revision 1.67
16 years ago
Denis Ahrens
4b1d9edf58
workaround for some weird requests
16 years ago
Denis Ahrens
b78c6a989a
Denis wanted scrapes and erdgeist didnt give it :)
16 years ago
Denis Ahrens
f85444542e
Copy request before expanding url-encoded bytes
16 years ago
Dirk Engling
2746c1d258
Debugging for failed requests.
16 years ago
Dirk Engling
d2aa76a80b
Count successful announces extra
16 years ago
Dirk Engling
d880646196
FD-debug also in new iob_send path
16 years ago
Dirk Engling
c5d5867900
Full scrape, kinda tested
16 years ago
Denis Ahrens
1a5952c3ee
increase the timeout to make the ride a little smoother for some clients
16 years ago
Dirk Engling
27199ad1c3
-m64 is not usually a correct compile option
16 years ago
Dirk Engling
0210ea5d90
Debug file descriptors
16 years ago
Denis Ahrens
e4323e3fe2
*seuftz*
16 years ago
Denis Ahrens
6d049b33d3
set the interval to 1800 for announce (last change was only for scrape)
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
d3b93762fa
Tidied main loop do accept() and read() before timeout()
16 years ago
Dirk Engling
003d5a52a2
Give our server some air to check for timedout connections
16 years ago
Dirk Engling
7df1f66840
Rearranged code to try to read data as soon as socket is accepted, also raise backlog for listening socket
16 years ago
Dirk Engling
cc07b8ca2c
Simple top5 by peers/seeders table
16 years ago
Dirk Engling
f51335b9b8
Rudimentary stats
16 years ago
Dirk Engling
7fd4de2dfc
Do some timeout checking on the first possible moment
16 years ago
Dirk Engling
03b2e45e0a
Previous answer to event=stopped irritated some clients. Now reply with a static nothing-message
16 years ago
Dirk Engling
add4de97bf
Cast types for mrtg_scrape sprintf
16 years ago
Dirk Engling
6d25d0681f
Drop permission, if we can
16 years ago
Dirk Engling
afa05fad96
Documentation improved, some reindenting (again), variable types checked, unnecessary defines removed
16 years ago
Dirk Engling
400c9a4d6f
Ignore SIGPIPE. This is safe, since it only raises, when the remote site died before we could send our paket back and is catched by write() returning -1
16 years ago
Dirk Engling
f5f4c3e2ce
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.
16 years ago
Dirk Engling
ea9970f77a
Now we also check, if no io happens
16 years ago
Dirk Engling
b51bbd6a4f
Some code spacifying. Added actually checking timeouts.
16 years ago
Dirk Engling
6510d31887
Indent. Sorry. Plus timeout on every connection, for every byte we got.
16 years ago
Dirk Engling
c55c17a871
This one breaks all ;) Lets see, what happens
16 years ago
Dirk Engling
2f9ae6c584
add timeout for clients
16 years ago
Dirk Engling
6df186ff06
shutdown was unnecessary
16 years ago
Dirk Engling
def981fe44
Apply some limits
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
Dirk Engling
aa444b6e18
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.
16 years ago
Dirk Engling
dca356ee24
Remove some integer constants from code. Bad coder. Very bad coder :/
16 years ago
Dirk Engling
82d969277e
Now every answer goes in one buffer
16 years ago
Dirk Engling
07c7a58269
Try early answers
16 years ago
Dirk Engling
28037e46dd
Missing header file
16 years ago
Dirk Engling
cbf3b309f7
try shutdown() the socket after writing
16 years ago
Denis Ahrens
c1b8fafd8e
corrected the modifier for size_t
16 years ago
Dirk Engling
f779a22f1b
Fixed two mem leaks from httpd :/
16 years ago
Dirk Engling
e2722edabb
Fixed memleak in example httpd :/
16 years ago
Dirk Engling
48962c678e
Made answer http/1.1
16 years ago
Dirk Engling
e07ea9bf71
Division in stats now works
16 years ago