Dirk Engling
e8d385f176
Move _GNU_SOURCE declaration further to the top, so recursive inclusion of stdio does not ignore the macro
2024-04-21 14:58:42 +02:00
Dirk Engling
33bd2c9094
Add support for zstd
2024-04-18 14:54:34 +02:00
Dirk Engling
160ba08074
Only have huge downloads (aka chunked) be application/octet-stream
2024-04-18 14:50:51 +02:00
Dirk Engling
b56e648b5e
Let our fullscrapes have a binary content-type
2024-04-17 21:34:20 +02:00
Dirk Engling
ff03fd7449
chrome does not accept chunked gzip encoding for http/1.0 protocol version
2024-04-17 15:03:14 +02:00
Dirk Engling
d3985b00b5
Remove CVS version tags, they did not work anymore after moving to git
2024-04-16 16:18:53 +02:00
Dirk Engling
a6c4766348
define _GNU_SOURCE to silence warning about asprintf
2024-04-15 16:44:07 +02:00
Dirk Engling
a4161f911f
Use bzero instead of the new iob_init for older libowfats
2024-04-15 16:38:37 +02:00
Dirk Engling
f8637baaeb
Allow the use of iob_init if the new libowfat is not yet available
2024-04-15 15:20:21 +02:00
Dirk Engling
7c633c259e
clang-format
2024-04-15 00:39:02 +02:00
Dirk Engling
6ae819ae10
remove debug fprintfs used to catch a bug
2024-04-14 13:12:11 +02:00
Dirk Engling
fceffdefba
Call io_dontwantread only once on a socket
2024-04-14 05:12:42 +02:00
Dirk Engling
57f859728d
Initialise io_batches with their appropiate init function
2024-04-13 16:54:44 +02:00
Dirk Engling
a3d27dff8c
Remove unused macro
2024-04-13 16:54:20 +02:00
Dirk Engling
638ca0f56c
Use asprintf to allocate header instead of fixed array
2024-04-13 16:53:29 +02:00
Dirk Engling
3a2a711a29
Fix type warnings in debug strings
2024-04-13 16:52:46 +02:00
Dirk Engling
bd4992435c
Add proper parsing for the gzip content encoding
2024-04-13 14:04:18 +02:00
Dirk Engling
3a6d99dd46
Better track current iobatch
2024-04-13 02:54:08 +02:00
Dirk Engling
1a70d9f9ef
First shot on chunked transfers
2024-04-13 00:47:29 +02:00
Dirk Engling
1b976863fc
white space
2024-04-10 00:25:45 +02:00
Dirk Engling
aedd7e30cb
Silence warning on older compilers
2024-04-07 00:37:38 +02:00
Dirk Engling
18554498c2
Whitespace fix
2024-04-07 00:06:54 +02:00
Dirk Engling
d9a5f04675
Return peer from both address families on announce
2024-04-06 19:21:03 +02:00
Dirk Engling
2afc4893bf
Prepare opentracker for dual stack capabilities
2024-04-03 22:25:30 +02:00
Dirk Engling
aca3ee0ac8
Prevent proxied ips of the wrong flavour to poison our clients
2024-03-31 13:36:26 +02:00
Dirk Engling
543ab73017
Allow networks to be used instead of ip addresses when blessing is involved
2024-03-29 03:30:13 +01:00
Dirk Engling
6604d65779
Some clients have added the /stats URL as /announce URL and cause a lot of expensive operations. Prevent that
2024-03-09 23:58:41 +01:00
Dirk Engling
3168071175
Fix two issues when splitting an iovec to large iobatches
2021-05-09 00:07:32 +02:00
Dirk Engling
397cd035a4
Turn mmaps into malloc
2021-04-25 18:23:00 +02:00
Dirk Engling
95f1780f0b
Split huge iovecs over multiple io_batches
2021-04-24 03:25:30 +02:00
Dirk Engling
9c7be324f5
break belongs inside the guard
2017-04-28 15:43:14 +02:00
Dirk Engling
d1e6e4486c
incorporate a more verbose ascii dump, provided by Tom <tom@foscore.com>
2017-04-28 15:42:17 +02:00
Dirk Engling
a215479d1a
Accept was counted twice
2015-11-25 02:11:29 +01:00
erdgeist
954f5029df
Fix immediate overwrite in the X-forwarded-for passing case. Thanks to Alexander Luetjen.
2013-08-04 10:05:35 +00:00
denis
7d36ea2732
new flag to enforce gzip even if client did not request it
2012-05-29 20:42:00 +00:00
erdgeist
05e0de1a5f
Add a top100 for most popular torrents
2012-05-18 05:16:57 +00:00
erdgeist
730d4bb6ae
Reset http request input array on error case
2010-08-09 14:22:12 +00:00
erdgeist
d42bf5a031
** struct ot_workstruct gets ritcher (and will become even ritcher soon).
...
This is where we encapsulate all per-request data from peer to hash to peer_id, so that it is
available everywhere without passing hundreds of pointers down the stack. Most functions that
do work down the stack now accept an ot_workstruct and some flags. So it can end up in the
stats/event-handler where it will be the default parameter in the future.
** peer_id is now being copied by default and moved to ot_workstruct
So it is available in stats and subsequent functions.
** sync scrape madness is gone
SYNC_SCRAPE was intended to sync tracker state that would normally be lost on restarts i.e.
downloaded counts per torrent. The way was to push it in the tracker cloud after finding all
neighbouring trackers.
This is madness. It never was tested and can be done per tracker by fetching
stats/mode=statedump from time to time and starting opentracker with the -l option later.
** livesync thread has its own ot_workstruct now
So it can behave like ot_udp and ot_http against trackerlogic.c and get rid of the first half
of the embarrassing global variables. The sending half will be fixed soon [tm].
** stats can log completed events
The author recognizes the needs of original content distributors to keep track of the amount
of times a work has been downloaded. While not feasible and used on openbittorrent and other
open and anonymous tracker installations, a tracker user can now choose to send those events
to syslog.
2010-04-22 22:08:42 +00:00
erdgeist
3baa1abc56
Fix white spaces
2010-04-21 14:43:36 +00:00
erdgeist
85e6880233
Make opentracker's user runtime configurable. Also add more debug output to aid finding problems.
2010-04-09 10:15:51 +00:00
erdgeist
a7cd2084df
Fixed including another error message
2009-12-01 02:56:33 +00:00
erdgeist
f3c0359876
Make header parsing more efficient, prepare multithreading and keep-alive.
2009-11-18 04:00:26 +00:00
erdgeist
1665c54179
prevent infinite loop when looking for X-Forwarded-For: Headers
2009-11-16 18:58:34 +00:00
erdgeist
c27631e516
Reenable statedump
2009-10-15 19:33:30 +00:00
erdgeist
0bf88427c6
Add spotting woodpeckers, thanks to Vasya P. again
2009-09-02 02:18:36 +00:00
erdgeist
4c4303a156
Temporary feature: log amount of numwants. See if we can save traffic if we reduce max numwant to something less than 200
2009-08-30 17:57:54 +00:00
erdgeist
478884660f
Enable limiting fullscrapes to only every 5 minutes per IP
2009-08-29 13:55:59 +00:00
erdgeist
6073127ad0
Add some subnet debugging features
2009-08-26 21:23:26 +00:00
erdgeist
3afbbc37d0
Don't default the incoming port to 6881 but rather use 0 to indicate a less than valid announce
2009-07-14 13:05:03 +00:00
erdgeist
65d7d9b89c
Allow /stats to be located anywhere in your trackers path
2009-06-17 15:06:31 +00:00