* Added 'd.get_bitfield' command for retrieving the bitfield in hex format. Patch by Thomas Rosner. (PD)
* Fixed include headers for gcc-4.4.0. Patch by 'kloeri'.
* Switched a 'long long' with 'int64_t' in xmlrpc.cc to avoid incompatible types for some systems.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1092 e378c898-3ddf-0310-93e7-cc216c733640
* Fixes a crash when parsing a malformed get_peers (or find_node) response throws an exception and fails to remove the corresponding transaction. Ticket #1622.
* Fix automatic unchoking of new peers exceeding the max upload slots of the download.
* Stops rtorrent from always creating and resizing ALL files, even those set to "off". Files will still be created, but with a size of zero, until a part of them is getting downloaded. This helps with filesystems that don't support sparse files (such as FAT, HFS+, and others).
* Fix inefficient piece distribution due to linear chunk request strategy by randomizing position every few (on average 32) chunks, see ticket #190.
* Fixes lack of return values for user-defined commands (using system.method.insert). When there are multiple commands, returns the result of the last one.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1089 e378c898-3ddf-0310-93e7-cc216c733640
d.set_custom=key,value
d.get_custom=key (returns "" if not set)
d.get_custom_throw=key (returns error if not set)
* With this patch, rtorrent will detect and complain about .torrent files with broken bencode representation (e.g. where the order of dictionary keys is not lexicographic).
* Choose a different poll type using the RTORRENT_POLL env. variable (if it's implemented), probably only useful as RTORRENT_POLL=select.
* Add the commands execute_capture and execute_capture_nothrow that work like their other counterparts but return the OUTPUT (stdout) of the given command.
Note that the output is not modified in any way, in particular a trailing newline is NOT removed. To work around this, have the command write its output without it e.g. using echo -n. Also note that with execute_capture_nothrow there is no way to check if the command failed.
Example usage: d.set_custom4=$execute_capture=handler.sh
* When logging peer communication errors, show IP and peer ID to help debugging.
All patches above by Josef Drexler.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1088 e378c898-3ddf-0310-93e7-cc216c733640
commands.
* Enabled different ratio settings for different groups of
downloads.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1079 e378c898-3ddf-0310-93e7-cc216c733640
it. Also set a 5-minute timeout for (previously unlimited) torrent
transfers and fixes the argument type for curl_easy_setopt values.
* Allows bandwidth throttles to work without floating point support.
* Adds a d.add_peer=host[:port] command to manually add a peer (not
for torrents marked "private"), port is 6881 by default.
* Allows banning the selected peer with "B". No unbanning is possible
yet.
All the above patches were written by Josef Drexler.
* Differentiate between commands that have no target, and those that
take generic targets, when using XMLRPC.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1073 e378c898-3ddf-0310-93e7-cc216c733640
* Fixes a segfault when configure finds execinfo.h.
* Fix compile errors and warnings with g++ 4.3.x.
* Fixes an interoperability issue in the get_peers handling, now it
behaves according to the clarified BEP-0005. Also fixes a minor issue
of not being able to generate error packets.
* Fix a crash in scgi_local or scgi_port when calling freeaddrinfo
with a NULL pointer.
* Only check the filename cache for loading tied torrents (e.g. from
watch dirs) but not manually loaded ones via <enter>/<bs>, to allow
loading those again (ticket #1227).
* Fix display of multi-byte characters with attributes (i.e. utf-8
filenames in the file list), and make the list aware of characters
occupying two screen positions.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1064 e378c898-3ddf-0310-93e7-cc216c733640
* Fixed a couple of memory leaks in xmlrpc.cc. Reported by Novik.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1057 e378c898-3ddf-0310-93e7-cc216c733640
* Removed std:: from snprintf in window_file_list.cc.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1052 e378c898-3ddf-0310-93e7-cc216c733640
triggered when a download is added/removed from the specified view.
* Minor compiler errors fixed.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1045 e378c898-3ddf-0310-93e7-cc216c733640
larger buffer size for handling direct loading of torrents through
xmlrpc.
* Allow file and tracker targets with the compact xmlrpc syntax,
e.g. "<infohash>:f<id>".
* Fixed an alignment bug in the DHT code.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1040 e378c898-3ddf-0310-93e7-cc216c733640
* Cleaned up XMLRPC handling and added support for empty targets so it
will handle print and cat properly.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1039 e378c898-3ddf-0310-93e7-cc216c733640
* Changed more key bindings in ElementDownloadList to commands.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1038 e378c898-3ddf-0310-93e7-cc216c733640
ensure resource usage gets spread out over time.
* Changed element_file_list.cc to use te_command.
* File commands on file list iterators will be called on the File
pointed to.
* Fixed some sigc++ 2.1 compile errors.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@992 e378c898-3ddf-0310-93e7-cc216c733640
* Allow commands to be appended to "{stop,close}_on_ratio".
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@976 e378c898-3ddf-0310-93e7-cc216c733640
newline. Patch by Jussi Judin under Public Domain.
* Added warnings on usage of scgi_port.
* Include a file's completed chunks count in the resume data.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@973 e378c898-3ddf-0310-93e7-cc216c733640
* Moved most of src/ui/download.cc to use commands for TextElements.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@967 e378c898-3ddf-0310-93e7-cc216c733640
* Cleaned up duplicate code in 'xmlrpc.cc'.
* Cleaned up 'parse_commands.h'.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@966 e378c898-3ddf-0310-93e7-cc216c733640
* Added 'load_raw*' commands for loading torrents directly from the
data passed through the first argument.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@964 e378c898-3ddf-0310-93e7-cc216c733640
to 'd.multicall'.
* Cleanup of 'rpc/parse_commands.h'.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@961 e378c898-3ddf-0310-93e7-cc216c733640
* SocketFd::open_local() should use SOCK_STREAM, not SOCK_DGRAM.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@959 e378c898-3ddf-0310-93e7-cc216c733640
* Added framework for commands on peers, but due to deficiencies in
the libtorrent API it won't be enabled yet.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@955 e378c898-3ddf-0310-93e7-cc216c733640
* Added 'call_command' that takes a view as the first parameter and
then a list of commands. It will return a list of lists containing the
results from those commands.
* Fixed the xmlrpc-c-config usage.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@954 e378c898-3ddf-0310-93e7-cc216c733640
* Allow lists as arguments in commands by using '{' and '}'. The list
will be recursed and all '$' will be called, while '~' will only be
expanded when in the first element in the list. E.g "execute =
touch,{~/tmp/,$get_client_version=}"
* Added rak::path_expand that works on char buffers.
* Fixed RequestList::calculate_pipe_size so it doesn't request too
many pieces from fast peers.
* Added 'execute_log' for logging the result of calls to 'execute'.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@952 e378c898-3ddf-0310-93e7-cc216c733640
* Properly catch the exceptions being thrown by the 'in_*' events.
* Expand ~ in ExecFile.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@950 e378c898-3ddf-0310-93e7-cc216c733640
* Added 'get_{client,library}_version' commands.
* Removed support for appending more than one command to 'schedule'.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@949 e378c898-3ddf-0310-93e7-cc216c733640
* The print command was not properly adding the final nul char to the
buffer.
* Added 'get_d_name' command.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@944 e378c898-3ddf-0310-93e7-cc216c733640
* CommandMap::call_command(...) now uses a single function for all
calls using an integer id to figure out the object type.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@942 e378c898-3ddf-0310-93e7-cc216c733640
before it is started.
* The "load_*" commands now allow a list of commands to be appended.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@941 e378c898-3ddf-0310-93e7-cc216c733640
* Fixed a compile error when using xmlrpc-c >= 1.07.
* Added various download commands for getting torrent sizes, peers,
etc.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@940 e378c898-3ddf-0310-93e7-cc216c733640
xmlrpc command takes the download info-hash and the file index as the
first two parameters.
* Added several file commands.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@937 e378c898-3ddf-0310-93e7-cc216c733640
the string parser, so it must be preceeded by whitespace.
* Allow escaping of newlines in the resource file.
* Cleanup of the parse_command_* commands.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@936 e378c898-3ddf-0310-93e7-cc216c733640