Richard Nyberg
d218b1cbfa
Add missing include.
18 lat temu
Richard Nyberg
a087071b45
Make the del command work for active torrents too.
18 lat temu
Richard Nyberg
a497ca472a
Help text changes and make del and start take the --help option.
18 lat temu
Richard Nyberg
0eb36d3914
btcli list now displays size, ratio and the percentage got of torrents.
It sorts by name instead of number (should probably add options for sorting).
It now also takes torrents to list as optional arguments. Added ratio to
btcli stat display. Changed the help text for both commands. Some code shuffle
and other tweaks.
18 lat temu
Richard Nyberg
e652eefa26
Add value queries for total amount up- and downloaded. Use the cached values
for torrent size and amount gotten when the torrent isn't active.
18 lat temu
Richard Nyberg
7ae55cac4d
Save the total amount down- and uploaded and cache the torrent size and the
amount we have in the info file.
18 lat temu
Richard Nyberg
326dc406e7
Remove unneeded braces.
18 lat temu
Richard Nyberg
ba9ae40fe7
Add command to stop all active torrents. The command is sent by
'btcli stop -a'.
18 lat temu
Richard Nyberg
30601882e5
Whitespace.
18 lat temu
Richard Nyberg
00db1f1ced
Add function benc_strcmp.
18 lat temu
Richard Nyberg
ce0ef9d46b
Better message for ENOTENT.
18 lat temu
Richard Nyberg
311a05f613
btcli add now starts the torrent if not told otherwise. Soem cleanup and
improved error output.
18 lat temu
Richard Nyberg
b169d038fe
Return rates in bytes/s instead of time factor * bytes/s. Clients should
not need to know about the sample time.
18 lat temu
Richard Nyberg
b0d013a7aa
Make tests for unit changes to take rounding into account.
18 lat temu
Richard Nyberg
2483f77ff5
Reprint the header at suitable intervals. Display sizes >= 1000MB in gigs
instead of megs. Similarily, display rates >= 1000kB/s in MB/s instead of
kB/s.
18 lat temu
Richard Nyberg
a5ae3e120f
Some changes to the iobuf interface. Remove a debug assert from btpd_if.c and
make it act properly on iobuf errors.
18 lat temu
Richard Nyberg
e33b8a57e6
Move the td_* functions to their own file. Remove lots of unneeded includes.
18 lat temu
Richard Nyberg
fd7d7fca08
Implement the "key" tracker extension.
18 lat temu
Richard Nyberg
0c9cc2aa1d
Enable printf format type checking.
18 lat temu
Richard Nyberg
1911f326a6
Implement the multitracker extension. Removed checks for URLs that
btpd can handle for now, so if no such URLs exists there will be a
lot of tracker errors reported.
18 lat temu
Richard Nyberg
fa6de9c8a5
btinfo output tweaks.
18 lat temu
Richard Nyberg
2c15b5701f
No need to have the net structs on a list. Fix a test for finding a torrent
with active net.
18 lat temu
Richard Nyberg
86754d7d53
btpd now has a library of torrents indexed by number and info hash.
The add and del commands adds or removes torrents from this library.
The start and stop commands are used to active or deactivate torrents.
Also, a mechanism for qeurying data on torrents has been added. It's
only used by the btcli list and stat commands yet though.
btcli has been split into different files for each command.
Both btpd and btcli now use misc/btpd_if.h for all ipc definitions.
Misc changes:
- struct metainfo is gone. Use the new mi_* functions.
- Add printf format type checking where appropriate.
18 lat temu
Richard Nyberg
763cbbb59f
Hook the new files to the build.
18 lat temu
Richard Nyberg
8695ecdf18
Pointers to different things need not be represented in the same way.
Use the fact that we only can store structs in the table to make the
complex pointer use safe. Unfortunately the equal and hash functions
need to take void * arguments.
18 lat temu
Richard Nyberg
848de36107
This file contains the definitions of the constants used in the btpd
interface.
18 lat temu
Richard Nyberg
a162d34982
Moved from ../cli.
18 lat temu
Richard Nyberg
28380064b7
Moved to ../misc.
18 lat temu
Richard Nyberg
d3f404c07e
The btpd interface now consists of these commands:
add - adds a torrent to btpd's library
del - removes a torrent from btpd's library
start - activates a torrent from the library
stop - deactivates an active torrent
tget - get data from torrents
tget obsoletes stat and list.
Commands for setting values and query other data will be
added later.
18 lat temu
Richard Nyberg
13607e007a
Remove unused function bts_hashes.
18 lat temu
Richard Nyberg
334c94db46
There is no spoon^H^H^H^Htruct metainfo. Use struct mi_file instead.
18 lat temu
Richard Nyberg
cd0eb82f20
The metainfo code provided a load -> test -> struct metainfo interface.
The metainfo struct has been replaced by functions for qeurying specific
items from the torrent. In addition, the tests of the torrent data has
been improved.
18 lat temu
Richard Nyberg
fc20273a80
Moved to ../misc/queue.h
18 lat temu
Richard Nyberg
c41c08adca
Moved from ../btpd/queue.h
18 lat temu
Richard Nyberg
a27913a47d
Add functions for conversions between binary data and ascii hex.
Add function for reading a whole file.
Enable printf format checking for some functions.
18 lat temu
Richard Nyberg
203d4148e4
Add a hashtable implementation.
18 lat temu
Richard Nyberg
c9ea09b1ad
Enable printf format type checking for buf_print.
18 lat temu
Richard Nyberg
47358cf420
Add function benc_strlen.
18 lat temu
Richard Nyberg
c4379cdfb9
Send keepalives.
18 lat temu
Richard Nyberg
1f4ef6cb15
Reduce the number of HAVE messages sent by only sending them to peers missing
the piece. Remove seeder peers when our download is finished and remove peers
who doesn't show any interest for a long time when we're seeding.
18 lat temu
Richard Nyberg
e0877d2870
Torrents that were active when btpd was last killed will now be automatically
started when btpd starts. The new '--empty-start' option turns this off.
18 lat temu
Richard Nyberg
251b5d2e18
Add a delay for contacting the same announce url. This way we don't spam
a tracker with connections even if we add a lot of torrents with the same
tracker at the same time.
18 lat temu
Richard Nyberg
eb1581a673
Change version to 0.11 and document the changes.
18 lat temu
Richard Nyberg
7ce1098dff
Remove the events for a peer's socket before closing it. At least the epoll
libevent backend didn't like the fd to be closed. Reported by Ludvig Omholt.
18 lat temu
Richard Nyberg
45ceb46c42
Change version to 0.10 and document the changes.
18 lat temu
Richard Nyberg
336a4d4c02
Changed the help for the '--ipcprot' option.
18 lat temu
Richard Nyberg
2e073c13f2
Truncate the pid file when opening it. Now it actually will contain the pid
of the btpd process :)
18 lat temu
Richard Nyberg
2285473192
Make sure btpd_dir contains an absolute path. If btpd was started with
'-d some/releative/path' it would fail to set up the ipc socket correctly.
Reported by Arnaud Bergeron.
18 lat temu
Richard Nyberg
7810b15cfd
Add the '--ipcprot' option to change the protection mode of the command
socket. From Arnaud Bergeron.
18 lat temu
Richard Nyberg
2a462baead
Btpd could be DOS'ed by incoming connections that never send any data.
Strangely such connections are not entirely uncommon. Added a hand shake
time out of 60 seconds to resolve this.
Added a peer_on_tick function which is used to monitor peers for different
timeouts. Timestamps are compared against the reborn btpd_seconds.
The issue has been reported by Ludvig Omholt and Arnaud Bergeron.
18 lat temu