* Using a char buffer instead of std::string in
Handshake::prepare_key_plus_pad().
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@813 e378c898-3ddf-0310-93e7-cc216c733640
* Resume data was not being used as it was comparing the number of
entries with size_bytes, not size_files.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@812 e378c898-3ddf-0310-93e7-cc216c733640
* Removed the old FileList and replaced it with the cleaned up
EntryList code. The API now gives a FileList* instead of FileList.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@810 e378c898-3ddf-0310-93e7-cc216c733640
up. The user now uses File* instead of File.
* Changed apply_low_diskspace to use
torrent::Download::free_diskspace() instead of the old file path hack.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@809 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
EntryList::open.
* Removed preload_min_pipelined option and added preload_type, which
disables preload on 0, uses madvise willneed on 1 and does direct
touching of the pages on 2.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@801 e378c898-3ddf-0310-93e7-cc216c733640
request.
* Implemented options for read-ahead of
chunks. 'preload_min_pipelined', 'preload_min_size' and
'preload_required_rate' are used to decide when to read-ahead a chunk.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@800 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
http proxy. Doesn't currently support error checking or such. Use the
'connection_proxy' option to enable.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@796 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
before any of the open file's last touched timer.
* Display upload total, not download for both, in the download info
screen.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@787 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
!= end()" test.
* Properly clean up trailing '/' in EntryList::set_root_dir(...) and
fixed EntryList::make_directory so it actually makes them.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@776 e378c898-3ddf-0310-93e7-cc216c733640
* When testing for mincore, cast the address pointer to (char*).
* Failure during syncing causes the download to stop, unless
flag_ignore_error is set.
* Trigger storage error signal for HashTorrent in
DownloadWrapper::receive_initial_hash.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@774 e378c898-3ddf-0310-93e7-cc216c733640
* Use the list of indirect links in EntryList when checking for
available free diskspace.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@773 e378c898-3ddf-0310-93e7-cc216c733640
being seeded.
* Added a flag to PeerInfo for those that are in handshake, which is
used by PeerList::connect_keep_handshake flag to decide if that
address is to be re-added to the available list when there is already
a connection in progress. This ensures that multiple ports on the same
address don't end up discarded prematurely.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@770 e378c898-3ddf-0310-93e7-cc216c733640
piece is downloaded, and it no longer checks the whole dequeue for
invalid transfers.
* Fixed a bad exception in
PeerConnectionBase::down_chunk_from_buffer(), it is supposed to check
the buffer was used up only when the transfer is unfinished, not when
finished.
* Added --with-address-space to allow the user to change the address
space size. Defaults to 1024 MB on 32 bit, 4096 MB on 64 bit archs.
* Added a parameter to display::Manager::schedule_update that sets the
minimum update interval. Normal updates use 50 msec, adjust_layout
uses 0 msec.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@769 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
keyboard input is disabled due to bugs in MacOSX 10.4.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@763 e378c898-3ddf-0310-93e7-cc216c733640
* Messed up the patch, now properly sets min/max_peers on incomplete
downloads.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@760 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
* Added timeout to WindowText and updated download and peer info.
* Moved default http agent string to rtorrent/configure.ac.
* Periodic syncing of chunks now tries to only sync tightly packed
ranges of chunks unless timeout_sync has been reached.
* ChunkManager now checks if max memory is set to RLIM_INFINITY, if so
use 2^32.
* Added safe_sync option that forces MS_SYNC to be used before
unmapping chunks.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@757 e378c898-3ddf-0310-93e7-cc216c733640
* Finished the download information screen, removed the redunant
entries in WindowPeerInfo.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@755 e378c898-3ddf-0310-93e7-cc216c733640
* The curl perform loop wasn't properly checking the returned pointer,
which caused a segfault with libcurl 7.15.5.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@754 e378c898-3ddf-0310-93e7-cc216c733640
* If a storage error was thrown from make_directory in
EntryList::open, it would try to erase a FileMeta that wasn't inserted.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@753 e378c898-3ddf-0310-93e7-cc216c733640
* Use bold when ElementMenu loses focus.
* Added an exit slot to ElementBase and bind to that from withing the
subclasses.
* Moved peer info to ElementPeerList, accessed by the right
arrow. Download info will be moved to a seperate Element.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@752 e378c898-3ddf-0310-93e7-cc216c733640
* Added min/max size to display::Window. Added flags for windows that
should be on located at the left/bottom side of a Frame.
* Reversed print order in WindowLog*.
* Added display::TextElement and subclasses for flexible printing to a
char buffer with associated attributes. Added display::Attributes and
display::Canvas::print_attributes.
* Added display::WindowText for use with display::TextElement's.
* Added ui::ElementMenu for generic menus, and started work adding
this to ui::Download.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@751 e378c898-3ddf-0310-93e7-cc216c733640
and WindowLog.
* Added bindings to input::TextInput and disabled other bindings while
it is active.
* ^K now sets ignore_commands.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@750 e378c898-3ddf-0310-93e7-cc216c733640
* Added parameter to torrent::resume_save_progress to indicate that
only completed files are to be saved. This is used when the torrent is
active.
* Update the display when priority is changed.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@746 e378c898-3ddf-0310-93e7-cc216c733640
caller greater control through the use of flags. MS_SYNC is only used
if the caller either requires it or asks for remaining free diskspace
to be checked.
* Moved various flags from DownloadMain to DownloadInfo.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@744 e378c898-3ddf-0310-93e7-cc216c733640