Dirk Engling
fca2b993a9
Increase number of locks to accomodate for more cores on contemporary CPUs
10 years ago
Dirk Engling
f0026ed1e0
Avoid reacting to our own error packets, should the happen to end up on our interface with a spoofed source IP. Thanks to zorun.
10 years ago
Dirk Engling
27499d7a55
Fix typo in stat reporting, use udp and not tcp counter. Thanks to zebulon
10 years ago
erdgeist
6c60309745
Protect static data by mutex
10 years ago
erdgeist
77c13fe6ef
Only kick off udp handlers, when everything is initialised
10 years ago
erdgeist
9816750420
Initialise all values of aes key
10 years ago
erdgeist
954f5029df
Fix immediate overwrite in the X-forwarded-for passing case. Thanks to Alexander Luetjen.
11 years ago
erdgeist
4b6f7a7a54
Fix spelling error ;)
12 years ago
erdgeist
85dfec1822
Dont make srandomdev the default, it exists only in BSDs
13 years ago
erdgeist
5233046241
Make woodpecker spotting more usable by adjusting count every 2 minutes
13 years ago
erdgeist
8741c91a7d
Calculate the old hash for the ip address only, when the current one mismatches
13 years ago
erdgeist
7e2bef9bf7
Dont ruin the srandomdev initialisation in trackerlogic's init
13 years ago
erdgeist
eed4a42292
Forgot variable declaration
13 years ago
erdgeist
f6c9dd8a13
reduce zlib warnings to when there really is something failing
13 years ago
denis
7d36ea2732
new flag to enforce gzip even if client did not request it
13 years ago
erdgeist
0d4909e631
Add rijndael to version report
13 years ago
erdgeist
95a4ed9043
Remove debug info
13 years ago
erdgeist
dc90c8867c
Report connection id missmatch count
13 years ago
erdgeist
37db5f94fa
udp now generates a cryptographically secure token for connecting clients. This is later verified.
13 years ago
erdgeist
3eeb536a44
Init prng before udp code needs it.
13 years ago
erdgeist
ae16a23ae0
Add connection id missmatch code
13 years ago
erdgeist
44e004ac9a
Adding rijndael code for udp connection id calculation
13 years ago
erdgeist
8e683affd1
Do not always grow the vector, shrink the first iovec to 0 before filling the second one
13 years ago
erdgeist
50b5c750cc
Need more space for top100
13 years ago
erdgeist
05e0de1a5f
Add a top100 for most popular torrents
13 years ago
erdgeist
914e0ac302
Add functionality to distribute udp to several workers
13 years ago
erdgeist
ae413a675b
undo last change, it did not work well
13 years ago
erdgeist
8bf40b6717
fix tiny issue
13 years ago
erdgeist
09f1234aa9
fix prototype
13 years ago
erdgeist
1af67bab1d
Try to act upon all udp packets at once
13 years ago
denis
1968f47d74
silenced some clang warnings
13 years ago
erdgeist
85df3dbc01
Open syslog connection before dropping privileges
14 years ago
erdgeist
09adf4a9e1
Prevent infinite loop if whitelist ends in several returns
14 years ago
erdgeist
216447492a
Chomp all trailing space characters, including new lines, when parsing the config file
14 years ago
erdgeist
aae0227ee6
Load state only after initialising all structs. Thanks to Michael S. Combs for pointing out the buf
14 years ago
erdgeist
894bd4625f
Stop sending tracker id with every packet
14 years ago
erdgeist
470a690e0d
Don't only walk through outgoing connections to search for connected peers
15 years ago
erdgeist
4b3189eb44
Address reconnecting issues
15 years ago
erdgeist
3e30fa32aa
Fixed sync loss bug
15 years ago
erdgeist
4fe2f35595
Looking into pointer arithmetics issue
15 years ago
erdgeist
9cfab8dbc6
tidy up peer count parser code
15 years ago
erdgeist
c8d1ae0468
Fix encoding of peer count in proxy sync packet
15 years ago
erdgeist
c005b42be4
enable proxy.debug target
15 years ago
erdgeist
8d025a1745
Tidy up sync proxy code
15 years ago
erdgeist
730d4bb6ae
Reset http request input array on error case
15 years ago
erdgeist
a75c824187
the keep-alive loop must not run, if no keep alive is configured or requested for connection
15 years ago
erdgeist
426c5f30c2
We have been too overly cautious not to read beyond the boundary.
15 years ago
erdgeist
3636be6cc7
Make whitelist parser more robust against comments. I assumed perfectly arranged white lists until now
15 years ago
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.
15 years ago
erdgeist
ae9ab76941
Get rid of SYNC_SCRAPE madness. It's overkill and no one uses it.
15 years ago