* Moved TrackerManager::close() call to the DownloadWrapper dtor so
that tracker STOPPED request will be sent when closing a torrent.
* Fixed some portability issues with Solaris, but still some remain.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@872 e378c898-3ddf-0310-93e7-cc216c733640
* PCB::should_request() didn't check if m_downUnchoked was true, just
m_downChoke.choked(). This would cause requests to be sent while we
were still choked by remote.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@871 e378c898-3ddf-0310-93e7-cc216c733640
* Added "base_path" and "base_filename" types to the
"create/delete_link" command.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@851 e378c898-3ddf-0310-93e7-cc216c733640
deleting symbolic links to downloads.
* Added "on_*" options for calling commands on state changes.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@849 e378c898-3ddf-0310-93e7-cc216c733640
* Allow the user to collapse the directories with the '/' key.
* Cleanup of core::Manager::receive_hashing_changed().
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@841 e378c898-3ddf-0310-93e7-cc216c733640
the code currently in the client.
* Fixed rtorrent.rc to show the right name for the encryption option.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@804 e378c898-3ddf-0310-93e7-cc216c733640
* Moved more encryption related code to HandshakeEncryption.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@797 e378c898-3ddf-0310-93e7-cc216c733640
* Added Download::skip_rate that tells us how many downloaded bytes
were skipped.
* Append '&' instead of '?' to the tracker url when the url already
has '?'.
* Added 'tracker_numwant' to the man page and moved tracker related
options to a seperate section.
* Removed Handshake::generate_hash and replaced it with sha1_salt
function in utils/sha1.h.
* Changed various encryption keys to use c_str.
* Set the handshake buffer size to the minimum required and moved them
to the end of Handshake.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@795 e378c898-3ddf-0310-93e7-cc216c733640
* Shortened the encryption option name to just "encryption".
* Added handshake_encryption.* and moved various stuff from Handshake.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@791 e378c898-3ddf-0310-93e7-cc216c733640
Josef Drexler, public domain as per earlier agreement.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@790 e378c898-3ddf-0310-93e7-cc216c733640
the tracker.
* Added display for the up/down rate total in download info.
* Use completed bytes from Content for download progress reported to
the tracker, rather than download rate total.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@786 e378c898-3ddf-0310-93e7-cc216c733640
* Support for qwertz keyboard layout.
* Added support for preloading chunks which will be
uploaded. Currently just loads the whole chunk, so it needs to be
improved or disabled before release.
* Added PeerInfo::transfer_counter which keeps track of the number of
BlockTransfers referring to this object.
* Added PeerList::cull_peers that is called every hour to remove
unnessesary PeerInfo from the list..
* In PollKQueue and PollEPoll check that the event we received is
still wanted.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@768 e378c898-3ddf-0310-93e7-cc216c733640
* Bound ^F and ^B for navigating and swapped ^P and ^N in some windows
to get correct behavior.
* Sanitized and added PeerInfo and PeerList to the API.
* HashTorrent now waits for the last outstanding chunks finish before
allowing a chunk mapping error to bork the hashing.
* Lowered the default hash_interval to 5 msec and hash_max_tries to 5.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@765 e378c898-3ddf-0310-93e7-cc216c733640
* Map page entry about max_memory_usage and note about units.
* Quick hash checking changes borked the logic for handling FS errors,
etc.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@764 e378c898-3ddf-0310-93e7-cc216c733640
* Check if RLIMIT_AS is present, else use RLIMIT_DATA.
* Don't add one to the timeout in display::Window::mark_dirty() so
that it updates the display immediately upon reorganizing the layout.
* Updated doc/rtorrent.1.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@759 e378c898-3ddf-0310-93e7-cc216c733640
* Allow different min/max peers setting for seeding. Patch by Josef
Drexler.
* Man page entry for "safe_sync" and "max/min_peers_seed".
* The p,o,i,u keys are now bound so they change ElementMenu directly.
* Bound ^P and ^N for moving up/down.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@758 e378c898-3ddf-0310-93e7-cc216c733640
* Delayed the hash done signal.
* Allow quick hash checks that only handles invalid chunks.
* Show failed counter for peers.
* Updated the man page.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@737 e378c898-3ddf-0310-93e7-cc216c733640
* Added corrupt_file, an utility to corrupt files to test chunk
hashing.
* Added "start_tied" option, and don't clear "tied_to_file" when
*_untied are called.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@725 e378c898-3ddf-0310-93e7-cc216c733640
* Cleanup of Block classes.
* Added brackets to error message from the OpenSSL test.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@713 e378c898-3ddf-0310-93e7-cc216c733640
Drexler, public domain.
* Made autogen.sh detect glibtoolize.
* Don't resume torrents that are marked as completed yet the initial
hash check returns failed chunks.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@704 e378c898-3ddf-0310-93e7-cc216c733640
filesystems with less space left than what was passed as the
argument. Patch by Josef Drexler, public domain.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@703 e378c898-3ddf-0310-93e7-cc216c733640
torrent, so the hashing queue doesn't re-open it.
* Randomized the starting position in chunk selector.
* Added man page entry for send/receive buffer size.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@689 e378c898-3ddf-0310-93e7-cc216c733640
* Remove redundant BitField::update calls now that updating
Bitfield::m_set gets handled properly in hash_resume_load.
* Fixed the error message when trying to lock non-existant session
directories.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@687 e378c898-3ddf-0310-93e7-cc216c733640
* Moved around resume save so it doesn't bork on completed last hash
check.
* torrent::Download::hash_resume_clear() no longer removes priority
and mtime information, only the bitfield.
* Added a quick hack that allows libtorrent to split large files. The
parameter needs to be set in the source, no API available yet.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@681 e378c898-3ddf-0310-93e7-cc216c733640
* Added a "last changed" paramter to ViewManager::sort(...) which is
checked, if the ViewDownloads's last_changed timer was poked withing
that timeframe it won't update.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@676 e378c898-3ddf-0310-93e7-cc216c733640
* Added 'view_sort_current', changed 'view_sort' to sort according to
what was defined by the former option.
* 'view_sort_*' now takes a list of sorting options which are applied
in order.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@673 e378c898-3ddf-0310-93e7-cc216c733640
by Josef Drexler, public domain.
* Check if bitfield or have messages has been received before when
getting a bitfield message. This fixes an exception on
PC::using_counter() not begin false.
* Added a switch to disable the use of ncursesw, instead using ncurses.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@669 e378c898-3ddf-0310-93e7-cc216c733640
* Added torrent::TrackerList::{set_,}key() and made rtorrent save the
key between sessions.
* Added import option to the man page.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@665 e378c898-3ddf-0310-93e7-cc216c733640
throw on some obscure bug. Not going to be looking for this one anyway
as there is a rewrite scheduled.
* Added "tos = default|lowdelay|throughput|reliability|mincost" option.
* Made EntryList::value_type a pointer, fixed so FileMeta is
initialized and path set before Download::open().
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@662 e378c898-3ddf-0310-93e7-cc216c733640
message in the buffer, it required an additional byte beyond the size
of the request body.
* More work on ClientInfo.
* Bound 'k' to disconnecting a peer. Consider a better key.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@647 e378c898-3ddf-0310-93e7-cc216c733640
* Added the errno message when a file in a torrent could not be opened.
* Added torrent::Object class which will be replacing torrent::Bencode.
* Ported to Cygwin, patch supplied by Jussi Kivilinna
<jussi.kivilinna@mbnet.fi>.
* Update display before entering the main loop, so it won't seem to be
blocking when loading torrents.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@637 e378c898-3ddf-0310-93e7-cc216c733640
* Added percentage completed to active unfinished torrents.
* Re-enabled different seeding and leeching priorities.
* Make a temporary container in AvailableList::insert(AddressList*)
when doing std::set_differernce. AvailableList's std::vector would
resize and cause invalidated iterators to be used.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@630 e378c898-3ddf-0310-93e7-cc216c733640
didn't get re-added to the task scheduler until a new event happened.
* Added redraw delay interval of 100ms, consider 50ms.
* Removed exceptions from core::DownloadStore::save.
* Added load, load_run, tied_stop and tied_remove to man-page.
* Cleaned up the command/option instances, move them to Control.
* PCB::load_up_chunk grabbed the errno from m_downChunk, not m_upChunk.
* Various string operations were moved to rak/string_manip.h.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@617 e378c898-3ddf-0310-93e7-cc216c733640
don't end up in an infinite loop.
* Fixed a bug that caused failed chunk downloads to result in
ChunkSelector's forgetting to download them again.
* Added note to the man page about the schedule and schedule_remove
setting.
* Display the number of failed chunks in the client.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@612 e378c898-3ddf-0310-93e7-cc216c733640
* Fixed torrent::set_{bind,local}_address(...) so they update
correctly.
* Tweaked the time left display, show minutes instead of seconds.
* Add earlier check on validity of the socket address of
incoming/outgoing connection.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@610 e378c898-3ddf-0310-93e7-cc216c733640
would in some rare occasions cause memory to be corrupted. leading to
a crash.
* Added option for setting the http proxy and proccess's umask.
* Save the total uploaded for downloads between sessions.
* Moved from sigc++ to my own lightweight slot class for the task
scheduler. This saves some 5-600kb when compiled with debugging
symbols, 1-200kb without.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@605 e378c898-3ddf-0310-93e7-cc216c733640
* Added enums to torrent::Tracker to allow the client to check
whetever the tracker is an UDP or HTTP tracker.
* Added "enable_udp_trackers" setting for disabling the use of UDP
trackers, enabled by default.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@498 e378c898-3ddf-0310-93e7-cc216c733640