erdgeist
c0b00c0bf5
* 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
18 years ago
denis
f3d83559e6
need more space for data because we reach this limit easily now
18 years ago
denis
0f5a092f75
fix a warning
18 years ago
erdgeist
5c18293c9c
New Makefile, incorporated some patches sent to me by Robin H. Johnson
18 years ago
erdgeist
33774078ab
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.
18 years ago
erdgeist
b38104b986
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.
18 years ago
denis
5791044029
endianess fix for udp scrape
18 years ago
denis
8ac7768b96
support for udp scrape
18 years ago
erdgeist
e75c3e25cd
make full scrapes a bit faster, increase checkback time for udp
18 years ago
erdgeist
4c3eb0216e
Missing include
18 years ago
erdgeist
0a90216686
udp is working in theory, return_peers_for_torrent accepts a switch to request an udp answer. Fixed prototypes.
18 years ago
erdgeist
175c37c3e8
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
18 years ago
erdgeist
a73186988f
stupid mistake in remove torrent call
18 years ago
erdgeist
2313de59e5
Count completed messages only once per peer
18 years ago
erdgeist
70a65f2842
Add a lot of documentation for static functions in trackerlogic.c. Make vector_remove_peer use hysteresis only, if pool is expected to grow again. Remove too old torrents.
18 years ago
denis
11a1c070ae
shortened the dmem debug output
18 years ago
denis
d451d32b41
made the output of the memdebug smaller
18 years ago
denis
484565b6b7
clear the freed mempointer
18 years ago
erdgeist
4569b9ffdf
release memory for empty peer pools
18 years ago
erdgeist
9882d74b7e
Forgot to take into account, that there are OT_POOL_COUNT debuggable pools in one torrent. Fixed.
18 years ago
erdgeist
e7f6908fb2
Reserved too few space to hold all data for a memdebug
18 years ago
erdgeist
f9c49e9759
el cheapo vector debugging
18 years ago
erdgeist
5a3d6b4029
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
18 years ago
erdgeist
a244da8d5e
really copy in new peer, even if it already existed, to remember its state
18 years ago
erdgeist
dc1099dd66
Asserts were always false :/
18 years ago
erdgeist
6603b51576
Due to recent issues... assert() seed counts
18 years ago
erdgeist
c094695add
account downloaded before early returns
18 years ago
denis
65675cd4da
fix for corrupt fullscrape. did never work until now
18 years ago
erdgeist
05420c40e5
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.
18 years ago
erdgeist
dffea5da69
return random check back intervals to our clients
18 years ago
erdgeist
c2ed48f73b
Return empty dictionary for unknown scrapes
18 years ago
erdgeist
5f7c044b54
Full scrape, kinda tested
18 years ago
erdgeist
908649af98
From now the OT_CLIENT_TIMEOUT will be enforced, even if some data arrived inside this interval
18 years ago
erdgeist
005ff4e231
Simple top5 by peers/seeders table
18 years ago
erdgeist
4eefe49307
Prevent each invocation of clean_peerlist to call time()
18 years ago
erdgeist
43b60783a1
Use mrtg to do periodical cleanup. Hopefully that wont make too much load for stats.
18 years ago
erdgeist
ade8268970
Rudimentary stats
18 years ago
denis
cde935b5bd
set interval to default value from original tracker
18 years ago
erdgeist
ad6c1b2019
New, fixpoint distinct random algorithm for choosing peers from the list... may contain bugs. Feedback welcome
18 years ago
erdgeist
575bf7081f
casting does floor() by itself
18 years ago
erdgeist
805e46450c
Documentation improved, some reindenting (again), variable types checked, unnecessary defines removed
18 years ago
erdgeist
74a7fbd6fe
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.
18 years ago
erdgeist
17c21a0bc4
Apply some limits
18 years ago
erdgeist
e7532408b6
black listing was the wrong way around
18 years ago
erdgeist
9f63a7bd63
really check g_check_blacklist flag
18 years ago
erdgeist
c89cfaad5e
Be more helpful
18 years ago
erdgeist
2aa03492a5
added closed tracker and blacklist code
18 years ago
erdgeist
cdf2fbabed
README\!
18 years ago
erdgeist
33eaf54da7
simplified binary_search, it always does a memcmp. began to implement dump knowledge
18 years ago
erdgeist
e0a9c2a4aa
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.
18 years ago
erdgeist
808e370566
random
18 years ago
erdgeist
82b4df6751
Make code endianess save
18 years ago
erdgeist
4761c70843
sorted bencoded order
18 years ago
erdgeist
af147a1d14
Fixed mem leak, inmplemented mrtg_scrape
18 years ago
erdgeist
8d13a14584
announce now returns all mandatory answer dictionary entries
18 years ago
erdgeist
688a4edd9e
Now actually seems to work for the most parts
...
Added scraping
Added graceful disconnect
18 years ago
erdgeist
c0f667defe
Reacts more appropriate, however EXC_BAD_ACCESS triggered
18 years ago
erdgeist
d7c26dc71b
Trackerlogic done... not tested yet
18 years ago
erdgeist
31c20c515d
This is a complete rewrite... assume nothing works.
18 years ago
erdgeist
0de82a8925
Fixed parser
18 years ago
erdgeist
932242eee7
Logic now actually initialized and deinitialized
18 years ago
erdgeist
62a9b02532
Should work now *cough* *cough*
18 years ago
erdgeist
2adf4fb28a
Our scanner routine for the URI query string
18 years ago
erdgeist
1c1fd9fe4a
Started to implement glue
18 years ago
erdgeist
a364c3f010
Reloading peer_list files works in theory
18 years ago
erdgeist
e288897eab
Cleaned up type namespace, mapping now works, introduced anonymous mapping, made init/deinit code, time now works.... Glue code and init code still missing
18 years ago
erdgeist
ad472597c5
Kickoff
18 years ago