Dirk Engling
57b8f256d5
Forgot to notify central counter about torrent removal
2009-02-20 11:07:30 +00:00
Dirk Engling
b3f716a3e7
Add workaround to openbsd's broken v6 API
2009-02-10 14:49:38 +00:00
Dirk Engling
c958c53d40
unify lock and unlock code style
2009-02-10 14:49:11 +00:00
Dirk Engling
3f59235960
make live sync aware of v6 mapped v4 addresses
2009-02-03 17:10:16 +00:00
Dirk Engling
b591b15f2f
Read action codes from correct location and tell ot_stats the correct number of incoming peers.
2009-02-03 17:00:51 +00:00
Dirk Engling
faa38f1518
Formatting
2009-02-03 16:46:31 +00:00
Dirk Engling
fae0329fe9
Reverse logic... do only fail if scan_ip6 cant parse
2009-02-03 16:46:16 +00:00
Dirk Engling
bf362a914d
Reverse logic... do only sync those NOT coming from multi cast
2009-02-03 16:45:44 +00:00
Denis Ahrens
6c618f1015
decrease the udp multicast packetsize so it fits into one ether frame
2009-02-03 14:41:17 +00:00
Dirk Engling
b8394881a4
Forgot to copy the stats?mode=tcp4 parameter
2009-02-03 12:21:36 +00:00
Dirk Engling
74d96438c6
Make snprintf write to the correct location
2009-01-26 11:30:10 +00:00
Dirk Engling
4b77b8b776
Lot of Gehacktes around this keyword scanner. Don't return a match if string to compare is shorter than key from table.
2009-01-26 10:33:46 +00:00
Dirk Engling
78626b6453
This memmove was for real...
2009-01-21 00:11:57 +00:00
Dirk Engling
679016139d
Limit comparison of strings to the length of the shorter string
2009-01-19 18:22:25 +00:00
Dirk Engling
b73fc5042c
Fix a pointer arithmetic issue leading to incorrect peer data being copied. Allocate correct size for debugbuffer. Expect exact values on find keywords, not only prefix match.
2009-01-16 04:17:22 +00:00
Dirk Engling
0b6f30c847
Remove debug message
2009-01-16 02:28:54 +00:00
Dirk Engling
4e7e39dc1c
Use a self pipe to wake from io_wait when a thread finished his work.
2009-01-16 02:26:50 +00:00
Dirk Engling
0987307ea3
Add comments, rename our struct http_data h to cookie, all clientsockets to sock, all size_t from socket_recvs to byte_count. Make signal handler set default handler for the second SIGINT
2009-01-15 23:01:36 +00:00
Dirk Engling
83d62ba0fb
Some premature optimization lead to always only 8bytes of ot_peers being copied
2009-01-15 22:10:54 +00:00
Dirk Engling
9b12b745ae
Make v4 and v6 modes v4/v6-ONLY
2009-01-15 16:20:47 +00:00
Dirk Engling
eb98ff8fe3
We sent an incorrect reply dictionary vor v6 announces
2009-01-15 16:20:18 +00:00
Dirk Engling
c6dd258244
fix parser
2009-01-14 00:05:06 +00:00
Dirk Engling
6337649b08
V6
2009-01-13 22:41:16 +00:00
Dirk Engling
b2ca164922
* http and udp routines now use thread local buffers passed in workstruct containers. In other words they do not use static_buffer anymore and are considered to be thread safe.
...
* the new workstruct also introduces a well defined buffer and result passing path
* a new function scan_find_keywords is a wrapper around scan_urlencoded_query that maps keys in url to values passed in an array of ot_keywords structs
* this new function cleans up much of url parameter parsing work, where read_ptr and write_ptr have been introduced rather than the confusing char *c, *data variables
* I now use memcmp instead of byte_diff to allow compiler to optimize constant size string compares
* got rid of UTORRENT_1600_WORKAROUND
* livesync_ticker is now only called from one (currently main) thread to avoid race conditions
2009-01-05 18:05:38 +00:00
Dirk Engling
823f93a96f
Make opentracker ANSI C again.
2009-01-03 03:25:34 +00:00
Dirk Engling
49ec59cbbe
* opentracker now drops permissions in correct order and really chroots() if ran as root
...
* lock passing between add_peer_to_torrent and return_peers_for_torrent is now avoided by providing a more general add_peer_to_torrent_and_return_peers function that can be used with NULL parameters to not return any peers (in sync case)
* in order to keep a fast overview how many torrents opentracker maintains, every mutex_bucket_unlock operation expects an additional integer parameter that tells ot_mutex.c how many torrents have been added or removed. A function mutex_get_torrent_count has been introduced.
2009-01-02 08:57:49 +00:00
Dirk Engling
621c8462be
Introduce new flag WANT_SYNC_SCRAPE
2009-01-02 07:55:11 +00:00
Dirk Engling
508e170d30
Fix incorrect prototype for accesslist_deinit
2009-01-02 07:52:17 +00:00
Dirk Engling
2cf9b92729
minor white space
2009-01-01 17:49:50 +00:00
Dirk Engling
ea4bff6bdc
minoe white space
2009-01-01 17:44:04 +00:00
Dirk Engling
e6ceb56796
Fix badly formed bencoded answer to stopped events
2008-12-30 18:40:09 +00:00
Dirk Engling
d0c417d9f3
Fix: Did not time stamp a torrent correctly, that once timed out and came back to life
2008-12-11 11:48:34 +00:00
Dirk Engling
6b57113bf0
Propose a scrape sync protocol.
2008-12-10 14:19:37 +00:00
Dirk Engling
343169385e
Make all torrents in their buckets sorted again.
2008-12-08 02:23:21 +00:00
Dirk Engling
32edd0dff8
Fix: auto increment in += is not a post increment...
2008-12-07 13:14:24 +00:00
Dirk Engling
3557e9edd7
Fix post increase on wrong pointer type.
2008-12-07 12:04:43 +00:00
Dirk Engling
efce908bbc
Used wrong variable as offset into hash to copy
2008-12-07 12:04:03 +00:00
Dirk Engling
04e5bac4c3
Handle program end more politely
2008-12-07 03:50:47 +00:00
Dirk Engling
675dad9b3a
Avoid cast warning on 64bit machines
2008-12-06 20:21:15 +00:00
Dirk Engling
fa6c870315
Renamed OT_FLAG to OT_PEERFLAG to make code easier to read
...
Introduced READ16/32 and WRITE16/32 makros to abstract loading/storing from unaligned addresses away on cpu's that can actually load/store everywhere
Removed all unnecessary memmoves, especially where it only moved 6 bytes in inner loop. I replaced them with WRITE16/32(READ16/32()) makros
2008-12-06 18:45:59 +00:00
Dirk Engling
95b6c3b498
Format for full scrapes was not parsed correctly.
2008-12-06 16:57:10 +00:00
Dirk Engling
cec9b44738
Make mutex_lock_bucket_by_hash generic to any OT_BUCKET_COUNT
2008-12-06 00:41:12 +00:00
Dirk Engling
d46a8a5d06
Forgot one define READ32
2008-12-06 00:40:36 +00:00
Dirk Engling
545dab2c18
Tidy up unnecessary includes
2008-12-05 21:28:40 +00:00
Dirk Engling
55af66acb2
Add specialized vector functions to handle peers in sorted lists
...
Assume that compare_size is a mulptiple of 4 in all non-specialized cases and load int32_t to compare.
2008-12-05 20:36:00 +00:00
Dirk Engling
efe40b2726
Let's give a damn about syntactical correctness of peer's http strings. It's too expensive on both sides to check and to reject.
2008-12-05 20:34:24 +00:00
Dirk Engling
d5caa5786b
Now enforce that peers do not come back before our interval by giving out a 'min interval' in responses.
2008-12-03 23:25:45 +00:00
Dirk Engling
d021d86940
printf is buffered, write not. Use printf for all.
2008-12-03 20:49:52 +00:00
Dirk Engling
69f4646df3
fix size of 0 issue
2008-12-03 20:49:25 +00:00
Dirk Engling
7eb5341c78
Add debug code to spot peers that come back too early
2008-12-03 20:40:50 +00:00