Richard Nyberg
8f4fde49ee
Fix bug in benc_length. benc_first shouldn't be used here since it returns
NULL on empty lists or dictionaries. This could cause crashes.
Reported by Robert Jonsson.
17 лет назад
Richard Nyberg
2886768d30
Clean up the #include sections in the btpd files. Most common headers and
all btpd headers are included through btpd.h.
17 лет назад
Richard Nyberg
e8a5b6cf28
Added some more info to CHANGES and version information to README.
17 лет назад
Richard Nyberg
24c2c1cd4a
#include order.
17 лет назад
Richard Nyberg
7c2b7b656e
Fix problem introduced in r345. A call to http_get could cause the
callback to be called before http_get returned.
17 лет назад
Richard Nyberg
630f11d18b
I had missed a check for tracker errors. When a torrent is stopping it's
supposed to stop if it can't contact the tracker in STOP_ERRORS tries.
17 лет назад
Richard Nyberg
f26afae214
Fix from libevent r353.
17 лет назад
Richard Nyberg
84ae36cd2b
Only keep one block of outgoing data in memory.
17 лет назад
Richard Nyberg
771e649c41
Don't try to resolve the host if it is already given as an ip address.
17 лет назад
Richard Nyberg
098664da9a
btpd doesn't need pthreads and curl, and libevent is included. Scratch
the dependencies from the README.
17 лет назад
Richard Nyberg
bac7eb9249
Changes for 0.13.
17 лет назад
Richard Nyberg
796e706974
Update the info files regularly. Before they were only updated when a torrent
stopped.
17 лет назад
Richard Nyberg
5e09c5b127
Update for 2007.
17 лет назад
Richard Nyberg
3c59bb01e2
Set torrent deletion flag as parameter to torrent_stop. Update torrent info
in torrent_stop rather than torrent_kill. The data doesn't change but there
may be some time between the two events.
17 лет назад
Richard Nyberg
9bd0fc6cdc
o Rename net_(write|read)32 to (enc|dec)_be32. Add similar functions for 64
bits as well. Implement them in libmisc instead of in btpd.
o Change resume file format and related APIs. The resume files are now memory
mapped.
17 лет назад
Richard Nyberg
c8ab530c95
Some code for udp trackers. Not done yet, so it isn't hooked to the build.
17 лет назад
Richard Nyberg
b2fd196e12
Update to libevent-1.3b.
17 лет назад
Richard Nyberg
564fe5afe1
Some better logging.
18 лет назад
Richard Nyberg
91f85c222b
Update to libevent from patches-1.3 r335.
18 лет назад
Richard Nyberg
372cec7b53
Some clean up of the values sent for tget answers. Send values that makes
sense instead of errors. Fix wrong type for IPC_TVAL_CSIZE, reported by
Arnaud Bergeron.
18 лет назад
Richard Nyberg
02733b16ec
Get rid of tp->relpath.
18 лет назад
Richard Nyberg
e117d81cf3
Only trigger error handling if an error actually occured. :P
18 лет назад
Richard Nyberg
8d7898d728
o Make errors when reading or writing torrent data non fatal. Instead of
killing btpd, only the troublesome torrent will be stopped.
o Some code shuffle.
18 лет назад
Richard Nyberg
d00d1fc36a
Call peer_on_no_reqs at the appropriate time.
18 лет назад
Richard Nyberg
12c3181b65
Add an option to specify the ip the tracker should distribute for this peer.
18 лет назад
Richard Nyberg
eeb9d252e1
Fix bug in get_op. Increase the tracker error counter, and reduce the timeout
for trying the next url, for url's that we can't use. The timeout is in this
case just there to keep btpd from busy looping on a bad url.
18 лет назад
Richard Nyberg
68c4f99b29
Fix evbuffer_add_vprintf. Patch taken from < http://monkeymail.org/archives/libevent-users/2006-October/000299.html >.
18 лет назад
Richard Nyberg
6fbf0b520f
Fix return value from evdns_resolv_conf_parse and initialization of the
dns transaction id.
18 лет назад
Richard Nyberg
393ee77bbc
Update COPYRIGHT to match the current copyrights and licenses in the btpd
package.
18 лет назад
Richard Nyberg
352ed70600
Update the build scripts for the following events:
o Some new source files.
o Inclusion of libevent.
o Removal of curl and pthreads dependencies.
18 лет назад
Richard Nyberg
95371d8453
Remove files not needed by btpd. Make the build scripts more suitable for
btpd.
18 лет назад
Richard Nyberg
ba4efecb6d
Bring in fixes from libevent trunk.
18 лет назад
Richard Nyberg
5ccf414cbf
Include libevent 1.2 in btpd.
18 лет назад
Richard Nyberg
568d116335
Remove a couple of forgotten debug printfs.
18 лет назад
Richard Nyberg
8c5200b568
Instead of immediately reading all data a peer requests into outgoing net
buffers, we put placeholder buffers on the list and fill them as they are
needed. At most 4 blocks will be filled per peer we upload to. This number
should probably be made tunable or be based on SO_SNDBUF or something.
Anyway, this should lower btpd's memory usage if one has many uploads.
18 лет назад
Richard Nyberg
acc03a93e2
Must call next_url if the current url cannot be requested.
18 лет назад
Richard Nyberg
3bb3d2c074
Initialize the interval variable even when we don't read its value from the
tracker reply.
18 лет назад
Richard Nyberg
db7f22db73
Avoid unnecessary operations on tracker stop. Use STOP_ERRORS constant
for the number of tracker errors to tolerate when we're stopping.
18 лет назад
Richard Nyberg
ebef96d5f8
Missed this file in the last commit. Simplify some interfaces by polling
for state changes when appropriate instead of being called directly at any
time.
18 лет назад
Richard Nyberg
95e83bb247
Make the content code unthreaded and remove the no longer needed inter
thread messaging code. Also simplify some interfaces by polling for
state changes when appropriate instead of being called directly at any
time.
18 лет назад
Richard Nyberg
00e242ce2b
Add bts_filename which gets the current filename from a bt_stream.
18 лет назад
Richard Nyberg
abe4001938
Add initialization of evdns.
18 лет назад
Richard Nyberg
fb64d693f1
Now that btpd doesn't use select, we don't need to limit fd's to FD_SETSIZE
unless libevent uses the select method.
18 лет назад
Richard Nyberg
4466a515e7
Remove calls to the already removed old http code.
18 лет назад
Richard Nyberg
1d7b396fc7
Some cleanup. Use names for some numeric constants.
18 лет назад
Richard Nyberg
03c3b7ec49
Split the tracker code into a generic part and a http specific part. This
allows me to add code for other types of trackers.
Remove the curl interface glue, since I use my own http client now. The curl
code was my main reason for using threads, so I'm a large step closer to make
btpd unthreaded again.
18 лет назад
Richard Nyberg
80dcfecbe5
Rename callback type, add timeouts and and allow any http version in the
reply.
18 лет назад
Richard Nyberg
f939819e28
No parenthesis needed around a string value.
18 лет назад
Richard Nyberg
d5700c2f20
Add max(x, y) macro.
18 лет назад
Richard Nyberg
1b7bb76fb7
Add a simple http client. Since it uses libevent it's a better fit for btpd
than curl.
18 лет назад