Dirk Engling
e767fae72a
Introduce some kind of versioning
2007-12-20 05:59:34 +00:00
Dirk Engling
5c1c1c94d8
/ can now be redirected to any URL
2007-12-05 01:40:24 +00:00
Denis Ahrens
6e6504dfcf
[19:19] <eRdgEiSt> Denis: erdgeist ist ein Volltrottel!
2007-12-04 18:29:34 +00:00
Dirk Engling
72175c3205
Dont need arpa/inet
2007-12-03 01:21:34 +00:00
Dirk Engling
a76deb3982
Finally split up the opentracker.c cruft into ot_http.c, ot_accesslist.c and just leave in socket handling and parameter parsing
2007-12-03 00:58:18 +00:00
Denis Ahrens
bfe37ff99b
add scrape stats and small correction to udp stats
2007-12-02 03:58:36 +00:00
Dirk Engling
4e00938ee2
Encforce setting the clock more often. This hopefully fixes a rare bug of g_now not being updated anymore.
2007-11-29 15:43:30 +00:00
Dirk Engling
10ca610952
Missed the second strnstr... fixed.
2007-11-24 20:34:41 +00:00
Dirk Engling
f2bae3a5a2
strnstr is not part of what posix conform libc has to offer... replace it by strstr after cutting off the last byte
2007-11-23 18:14:22 +00:00
Dirk Engling
d44c5bd162
Introducing compression for fullscrapes and tpbs stats
2007-11-22 04:39:08 +00:00
Dirk Engling
469e15de22
Last user of sendmmapdata is gone. Purge it.
2007-11-21 01:53:17 +00:00
Dirk Engling
819f9cc1dd
Sockets do not inherit non-blocking state in libowfat...
2007-11-20 02:21:53 +00:00
Dirk Engling
032224f150
Cleanup now moved to its own thread, too
2007-11-19 21:10:53 +00:00
Dirk Engling
53a7c09bc0
Full scrapes are now being delivered in different modes, as triggered by stats&mode=tpbs
2007-11-18 16:47:37 +00:00
Dirk Engling
e1aa9168b4
introducing multithreaded full scrape creation.
2007-11-16 00:23:42 +00:00
Dirk Engling
2746822a9b
Move dead socket handling from handle_(read,write,timedout) into its own function handle_dead
2007-11-14 13:06:34 +00:00
Dirk Engling
f03b2740dd
Moving accesslist stuff to its own object
2007-11-12 04:38:43 +00:00
Dirk Engling
cc7274b7f8
Moving full scrapes to iovec-creating thread safe function
2007-11-12 01:41:57 +00:00
Dirk Engling
c37d25fd75
The expensive DMEM stats is gone. No need for it, too much potential to DOS.
2007-11-06 18:02:01 +00:00
Dirk Engling
2e2c1762d3
Move stats out of opentracker.c, also have an own file handle udp requests.
2007-11-06 17:50:41 +00:00
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.
2007-11-06 11:58:12 +00:00
Dirk Engling
9ee006d393
Cleaned up stats return format. Also reflect APPI changes due to MT code in trackerlogic.{c,h}
2007-11-06 01:28:40 +00:00
Dirk Engling
472f8469d2
Introduce configuration dependent number of parameters in a nicer way
2007-11-02 13:13:03 +00:00
Dirk Engling
a2f3ab87b0
The last experiment failed. No more accept deferral
2007-11-02 04:18:52 +00:00
Dirk Engling
6c8a69da19
Trying to accept connections only when data has come in. This is an experiment.
2007-11-02 03:21:56 +00:00
Dirk Engling
1b467d186c
Allow for more than one admin ip address
2007-11-01 20:13:03 +00:00
Dirk Engling
66b21d1e28
Add more full scrape stats
2007-10-31 15:39:41 +00:00
Dirk Engling
f37e510592
Reenabled syncing
2007-10-29 17:22:05 +00:00
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.
2007-10-27 14:06:07 +00:00
Dirk Engling
7075730766
some clients chose to accidently send negative numwants
2007-10-23 00:39:15 +00:00
Dirk Engling
f2f93d093f
Accept clients that forget to spell announce at all...
2007-10-23 00:30:46 +00:00
Dirk Engling
d16c925901
This uTorrent/1600 client requires some... measures :/ I dont like the workaround.
2007-10-23 00:01:10 +00:00
Dirk Engling
8b81b12af6
Now measure the time a clean_all_torrents takes
2007-10-22 00:44:11 +00:00
Dirk Engling
df85d516c8
assume anything looking like GET /a to be an announce...
2007-10-21 05:36:10 +00:00
Dirk Engling
c3eaa46d8f
Last fix was not enough to get rid off those 1600er buggers.
2007-10-21 05:26:55 +00:00
Dirk Engling
75d96f1f50
Work around the stupid utorrent 1600 bug. That'll be removed after a while.
2007-10-21 05:15:35 +00:00
Dirk Engling
9268f32200
Now the Holzhammer: GET /an is announce, GET /sc is scrape. Period.
2007-10-21 04:55:19 +00:00
Dirk Engling
b56035424e
now accept more classes of announce fuckups
2007-10-21 04:37:37 +00:00
Dirk Engling
ec5395b57c
Just one more typo
2007-10-21 04:23:39 +00:00
Dirk Engling
7149cb5600
Just one more typo
2007-10-21 04:20:42 +00:00
Dirk Engling
f1ad491e66
Work around more typos that might end up in torrent files as announce urls
2007-10-21 04:13:53 +00:00
Dirk Engling
d5839b8407
Debug code sometimes copied too much data
2007-10-21 03:37:26 +00:00
Dirk Engling
f2e615720b
Fixed one leak from struct_http
2007-10-21 01:11:45 +00:00
Dirk Engling
5f35e4bef7
Be even more stupidistas-tolerant
2007-10-19 23:15:13 +00:00
Dirk Engling
c69e375393
Fix debug output
2007-10-19 22:55:13 +00:00
Dirk Engling
0da6f316d6
Enable _DEBUG_HTTPERROR to avoid warning...
2007-10-19 22:36:28 +00:00
Dirk Engling
6de5b8544a
Include time since startup in full scrape debug output
2007-10-19 22:20:42 +00:00
Dirk Engling
1a864b16c1
Now limit full scrape to requests sending exactly "GET /scrape HTTP/"
2007-10-19 22:13:59 +00:00
Dirk Engling
d3f8013a18
Introducing multiscrape
2007-10-19 21:56:59 +00:00
Dirk Engling
463aabe5f7
Prevent url-decoding for debug by using a temp buffer
2007-10-19 21:00:57 +00:00
Dirk Engling
33530a2ac6
Those stupid "announce ?info_hash" torrents get really annoying. Fix it in announce and scrape.
2007-10-19 20:02:41 +00:00
Dirk Engling
e0f88d7545
be more verbose about what full scrape consumers deliver in their http requests
2007-10-19 15:37:00 +00:00
Dirk Engling
8c3624ce9d
give opentracker the missing header file
2007-10-19 03:41:23 +00:00
Dirk Engling
dd7c0a3cab
Must not dealloc mmaped buffers with free()
2007-10-19 03:39:04 +00:00
Dirk Engling
61204221c1
Fix misunderstandig of what libowfat thinks are seconds and what I did...
2007-10-19 02:00:53 +00:00
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.
2007-10-19 01:26:33 +00:00
Dirk Engling
53054700c8
Cannot access members after they are freed :/
2007-10-19 00:34:56 +00:00
Dirk Engling
2c3b4e3de7
Save a lot of work when skipping through uninteresting http request parameters
2007-10-18 23:33:07 +00:00
Dirk Engling
1d4eb17452
Increase send timeout. Also use an own variable for that.
2007-10-17 22:50:48 +00:00
Dirk Engling
23465c215a
io_timeout is absolute, not relative :/
2007-10-17 21:13:13 +00:00
Dirk Engling
7d4db8015d
Free iobatches on timeout
2007-10-17 20:25:18 +00:00
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
2007-10-17 14:43:13 +00:00
Dirk Engling
962ad63424
Sockets we write to now do also timeout
2007-10-16 18:23:36 +00:00
Dirk Engling
5b82b40439
Exclude empty torrents from full scrape, also try to shrink full scrape buffer after it is full
2007-10-16 00:23:13 +00:00
Dirk Engling
9ffe557e6f
fixed line breaks in log
2007-10-15 18:03:13 +00:00
Dirk Engling
1815dd3e53
Log all expansive operations to stderr
2007-10-15 18:01:38 +00:00
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
2007-10-13 17:58:20 +00:00
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.
2007-10-13 17:40:37 +00:00
Dirk Engling
b3f834951c
make 64bit safe
2007-10-12 21:57:10 +00:00
Denis Ahrens
943b296f46
fixed some stat output
2007-10-03 22:57:35 +00:00
Dirk Engling
4319defc9c
New stats for s24s code, this is debug, do not use in real world
2007-09-26 16:49:13 +00:00
Dirk Engling
c863c6e108
An announce with event=stopped now returns correct number of leechers and seeders. In TCP and UDP.
2007-09-10 02:43:10 +00:00
Dirk Engling
d58db69d9a
Added whitelisting to reimplement the WANT_CLOSED_TRACKER functionality
2007-08-18 09:56:22 +00:00
Dirk Engling
42433aef94
Under Linux one gets SIG_ALRMs from time to time when using epoll. Ignore those.
2007-08-18 09:29:39 +00:00
Dirk Engling
7043b69e49
Sort of addressed a concorrency issue when receiving mutliple SIG_HUPs
2007-08-11 13:39:36 +00:00
Dirk Engling
6382386416
some subnet stats... still ugly and untested.
2007-07-22 16:17:26 +00:00
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
2007-07-22 00:40:10 +00:00
Dirk Engling
bd1562f8bd
Clean up pw-structs
2007-07-20 10:20:02 +00:00
Denis Ahrens
f8c2f994ff
add comment for udp spec location
2007-06-24 01:53:30 +00:00
Denis Ahrens
4f173a3334
check for mafic udp id
2007-06-06 16:45:48 +00:00
Denis Ahrens
03f92a0051
fixed an overflow in ot_overall_* variables
2007-05-04 23:08:38 +00:00
Dirk Engling
6d290ff767
Clean up help and usage
2007-04-07 00:24:17 +00:00
Dirk Engling
20635e3544
New Makefile, incorporated some patches sent to me by Robin H. Johnson
2007-04-03 11:08:17 +00:00
Dirk Engling
59cac9cb80
Try to figure out nobodys uid und gid using getpwnam
2007-04-02 17:26:40 +00:00
Dirk Engling
691f58cf4a
Fix endianess issue with blessed ips. Document -A feature.
2007-03-29 15:04:06 +00:00
Dirk Engling
ac0b38c401
added the -A feature that blesses a certain IP address for administrative use (like sync)
2007-03-28 23:24:30 +00:00
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.
2007-03-27 16:09:03 +00:00
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.
2007-03-27 12:07:29 +00:00
Denis Ahrens
62a41a85c8
code cleanup and more specific comments. tracker starts now also with udp port 6969 as default
2007-03-16 23:37:04 +00:00
Denis Ahrens
1fba7078d7
some udp scrape style cleanup
2007-03-16 23:04:24 +00:00
Denis Ahrens
b3f72c444b
support for udp scrape
2007-03-16 22:46:41 +00:00
Denis Ahrens
f2313f3aff
fix the stats a little for not accepting udp scrapes
2007-03-16 20:11:22 +00:00
Denis Ahrens
272d7a6bdc
udp first connect needs to be counted as a connection too
2007-03-15 23:33:09 +00:00
Denis Ahrens
521cb31ad3
added the udp stats to the main stats
2007-03-15 23:22:26 +00:00
Denis Ahrens
a45648f301
new modes for udp4 and tcp4 stats
2007-03-15 23:14:14 +00:00
Denis Ahrens
2291dfc00f
collecting stats for udp connections (2nd try)
2007-03-15 21:34:02 +00:00
Denis Ahrens
a0a4ea3469
collecting stats for udp connections
2007-03-15 21:32:14 +00:00
Denis Ahrens
7dcd592a17
fixed udp peerport endianess handling
2007-03-13 23:31:06 +00:00
Denis Ahrens
634b9cc10e
fixed udp remoteport handling
2007-03-13 23:24:53 +00:00
Dirk Engling
df6b33f8d8
some 64bit and endianess issues with udp...
2007-03-13 22:19:03 +00:00