1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511
|
2009-06-18 Jari Sundell <sundell.software@gmail.com>
* Add support for any number of custom download values identified by
string keys.
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.
* Fixes the code that detects which peer was sending bad data. Peers
are then automatically banned after sending three bad chunks.
* 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.
* Enable custom throttles, both per-download or per-IP. See
http://libtorrent.rakshasa.no/ticket/20 for info and instructions.
* Fix crashes/errors due to rtorrent attempting to pass non-utf-8
strings to xmlrpc.
* Added support for using posix_fallocate on newly resized files.
* Include locally available chunks in the "chunks seen" statistics for
completed/distributed copies. Patch by Josef Drexler.
* Added 'd.get_bitfield' command for retrieving the bitfield in hex
format. Patch by Thomas Rosner.
* Fixed include headers for gcc-4.4.0. Patch by 'kloeri'.
2008-11-19 Jari Sundell <sundell.software@gmail.com>
* Work-around for OpenBSD's broken sys/event.h, which fails to compile
if it's the first (or only) included header. (Ticket #1470)
* Fixes compilation with old libcurl versions. (Ticket #1471)
* Fix compile error on systems that lack mincore(2).
* Fixes a crash in epoll due to libcurl/c-ares bug:
PollEPoll::modify(...) epoll_ctl call failed.
* Enforce an http transfer timeout when libcurl fails to honor
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.
* Added the 'd.add_peer=host[:port]' command to manually add a peer
(not for torrents marked "private"), port 6881 is the default.
* Allows banning the selected peer with "B". No unbanning is possible
yet.
All the above patches were written by Josef Drexler.
* Added system.method.{insert,erase} commands that allows
user-specified commands. E.g "system.method.insert=foo,print=Bar".
* Differentiate between commands that have no target, and those that
take generic targets, when using XMLRPC.
* Added 'event.download.inserted_{new,session}' that are triggered
when a new or a session torrent is added. Ticket #1516.
* Added 'system.method.get', 'ui.current_view.set' and 'group.insert'
commands.
* Enabled different ratio settings for different groups of
downloads.
* Added 'view.persistance' command that makes downloads inserted into
that view persist across sessions. Only call on user-created views.
* Added 'ratio.*' commands that call the 'group.seeding.ratio.*'
equivalents.
* Changed torrent::DownloadList::close_directly() so doesn't save the
session if the underlying file/directory has been moved or
removed. This change, in addition to calling 'd.set_directory=' before
'execute=mv,...', as previously shown in the examples, will make
rtorrent behave correctly when 'check_hash=no' is set.
2008-10-15 Jari Sundell <jaris@student.matnat.uiu.no>
* Added a work-around for the stdin kqueue bug in MacOSX. Original
patch by Josef Drexler.
* Numerous bug-fixes and patches by Josef Drexler.
2008-05-13 Jari Sundell <jaris@student.matnat.uio.no>
* Fixed EINTR handling in execute command. Patch by anonymous.
* Fixed a couple of memory leaks in xmlrpc.cc. Reported by Novik.
* Initial seeding support added. Patch by Josef Drexler.
2008-04-29 Jari Sundell <jaris@student.matnat.uio.no>
* Added {get/set}_xmlrpc_size_limit to allow the user to specify
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.
* Replaced View sort and filter code with commands, allowing the user
to create custom download list views.
* Fixed a memory corruption bug in scgi_task.cc.
2008-01-29 Jari Sundell <jaris@student.matnat.uio.no>
* Added support for DHT. Patch by Josef Drexler.
* Cleanup and refactoring of the API.
* Enable PEX by default.
* Added 'p.multicall', 'd.set_directory_base',
'get_{up,down}_{rate,total}', and more.
* Support for lazy creation and resize of file has been added. This also
ensures deleted files are properly detected and the user notified. The
files can be recreated by using the ^E key.
* Keep a cache listing all, including failed, torrent loads and the
mtimes of those files. This is used to ensure that e.g. the watch dir
does not try to load bad/duplicate torrents, in addition to optimizing
the pruning of those already loaded.
* Fixed a crash in apply_on_ratio when an iterator got invalidated by
erasing the download currently pointed to.
* Fixed the --with-xmlrpc-c autoconf check so that you can pass an
alternative path to an xmlrpc-c-config script.
* Fixed a race condition in the handshake read/write code. Patch by
Josef Drexler.
* Fixed a bug causing empty PEX messages to stall piece writing. Patch
by Josef Drexler.
2007-10-25 Jari Petter Sundell <jaris@student.matnat.uio.no>
* Improved detection of unnecessary handshakes to decrease
the load when using PEX.
* Limit the number of PEX connections to 8 per download.
* Fixed several bugs in PEX.
* Fixed several sigc++ 2.1 compile errors.
* Print to the log when close_on_diskspace gets triggered.
2007-09-07 Jari Petter Sundell <jaris@student.matnat.uio.no>
* Several new commands for use with XMLRPC. See the SVN log for a
complete list.
* Fixed the wrong tracker requests being sent when finishing a torrent.
* Added Peer Exchange support, enable with the "peer_exchange=yes"
option. Patch by Josef Drexler.
* Don't skip the last line in rc files missing the final newline. Patch
by Jussi Judin.
* The torrent is no longer closed on finished for on_finished commands
as it did last release. Instead d.set_directory causes the download to
call close_directly to allow moving of finished torrents.
* Added "close_on_ratio".
* Allow commands to be appended to "{stop,close}_on_ratio", so you can
e.g. erase a torrent that has finished.
* Set "encryption=allow_incoming,prefer_plaintext,enable_retry" by
default.
2007-08-16 Jari Petter Sundell <jaris@student.matnat.uio.no>
* Renamed all commands to from e.g "get_d_*" to "d.get_*". Remember to
update your rc file.
* Removed support for appending multiple commands to 'schedule'.
Multiple commands must now be quoted, e.g "print=cmd1 ;print=cmd2".
* Enabled 'max_downloads_div' by default. This should give better
connection responsiveness if a reasonable download throttle rate is set.
* Added a default low_diskspace check for 500MB. It is scheduled with
the id "low_diskspace".
* 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 'execute_log' for logging the result of calls to 'execute'.
* Dynamically sized SCGI read buffer, system.multicall should work
properly now.
* Added 'call_download' 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.
* Allow loading torrents from https and ftp uri's.
2007-08-01 Jari Petter Sundell <jaris@student.matnat.uio.no>
* Improved XMLRPC support, including support for 64bit ints, removed
defective FastCGI support.
* Added a large number of commands for use with XMLRPC. See
system.listMethods for a complete list.
* Fixed a bug where the tracker re-announce interval for the previous
tracker was being used. Now the announce intervals for each tracker is
stored seperately.
* Commands that pass through rpc::parse_command_* now support inline
commands that start with a '$'. E.g 'print="$get_ip="'.
* Allow ';' as a separator for multi-command lines. Not recognized by
the string parser, so it must be preceded by whitespace.
* Allow escaping of newlines in the resource file.
* The "load_*" commands now allow a list of commands to be appended.
These commands will be called on the newly loaded download.
2007-06-20 Jari Petter Sundell <jaris@student.matnat.uio.no>
* The old option handler has been rewritten.
* Added support for SCGI rpc calls.
* Added "http_ca{path/cert}" options. Patch by Johan Gunnarsson
* Added configure options that allow building universal binaries.
* Fixed a bug that caused piped requests to be lost.
2007-03-29 Jari Petter Sundell <jaris@student.matnat.uio.no>
* Allow properly quoted and escaped arguments to options. F.ex
"schedule = wd,10,10,load_start=~/Foo\ Bar/*.torrent" and "schedule =
wd,10,10,load_start="~/Foo Bar/*.torrent"" now works.
* Added unlimited setting for max unchoked in ChokeManager and made it
the default. Set with 0 as a temporary hack.
* Don't resize empty files used for creating directories. Fixed for the
n'th time.
2007-03-25 Jari Petter Sundell <jaris@student.matnat.uio.no>
* Added support for dvorak keyboard layout. Patch by matled at gmx.net.
* The STOPPED request was being canceled when a download was closed
with f.ex ^K, moved it so it only happens when the download is removed.
* Added support for dvorak keyboard layout. Patch by matled at gmx.net.
* The STOPPED request was being canceled when a download was closed wit
f.ex ^K, moved it so it only happens when the download is removed.
* The "tos" option was parsing the hex value with unit == 0, which
caused it to always zero it.
* Forgot to check if there were any torrents hashing before starting new
non-fast-resume checks, which would cause multiple torrents to be hashed
at once.
* File progress is now updated when hash_check is called, and no longer
cleared on close. This fixes a bug with >100% file progress being
reported and optimizes file progress updating for completed torrents.
* Disabled IPv6 http requests so the trackers won't think we support it
and enabled curl's support for gzip encodings.
* Added 'seeding' view on key 8.
* Added "max_{up,down}loads_{div,global}" options. See the man page for
more information.
* Added support for dvorak keyboard layout. Patch by matled at gmx.net.
* The STOPPED request was being canceled when a download was closed with
f.ex ^K, moved it so it only happens when the download is removed.
2007-01-26 Jari Petter Sundell <jaris@student.matnat.uio.no>
* Added "max_open_http" option that limits the max number of
simultaneous http connections. By default set to 32.
* Directory structured view of the file list. The '/' key collapses
directories, while the right arrow or ^F enters the selected directory.
Changing the priority for a directory changes all contained files.
* Replaced old autoconf scripts with pkg-config checks. If the curl or
openssl check now fails, make sure pkg-config can find them.
* Added "create_link" and "delete_link" options which apply to a
download. These must be used with the new "on_*" options, so as to
allow you to create symbolic links when starting, stopping, finishing,
etc, a torrent.
2006-12-28 Jari Petter Sundell <jaris@student.matnat.uio.no>
* Added dired view of files and allow priority to be changed for all
files within a directory.
* Allow initial hash checking to be paused and resumed.
* Minor bug fixes.
2006-12-13 Jari Petter Sundell <jaris@student.matnat.uio.no>
* Added "tracker_numwant", "encryption", "connection_proxy",
'preload_type', 'preload_min_size', 'preload_required_rate',
"split_file_size", "split_suffix", "max_file_size",
* Encrypted (obfuscated) handshake and connection support. Patch by
Josef Drexler, public domain as per earlier agreement.
* Append '&' instead of '?' to the tracker url when the url already
has '?'.
* Added support for tunneling through HTTP 1.0 proxies.
* Cut the size of the libtorrent binary from 925kb to 617kb by using
GCC's symbol export attributes and changes to how exceptions are
constructed.
* Moved client info, etc, from rtorrent to libtorrent and cleaned up
the API.
* Support for the CANCEL piece request message. (Finally)
* Allow the user to configure the max file size a torrent is allowed
to create, and the option to split large files.
2006-10-27 Jari Petter Sundell <jaris@student.matnat.uio.no>
* Use the actual completed torrent data in the 'downloaded' field
sent to the tracker, rather than the download rate total. This should
fix someproblems with too much downloaded data being reported to the
tracker.
2004-11-21 Jari Petter Sundell <jaris@student.matnat.uio.no>
* library: Properly update interested/not interested depending on
file priorities.
2004-11-15 Jari Petter Sundell <jaris@student.matnat.uio.no>
* library: Variable pipe size depending on download speed.
2004-10-27 <jaris@ifi.uio.no>
* client: On 'T' key, retrive 250 peers from tracker.
* library: Added tracker numwant and key.
2004-10-02 Jari Petter Sundell <jaris@student.matnat.uio.no>
* torrent: New class for selecting the chunks to download.
* client: File priority added.
2004-09-25 Jari Petter Sundell <jaris@student.matnat.uio.no>
* client: View files in torrent and their size. Will be used for priority later.
2004-09-19 Jari Petter Sundell <jaris@student.matnat.uio.no>
* all: Forgotten to update this file for a while. Lot's of stuff happen with the code. ;)
* client: Added resume of torrents and snubbing.
2004-08-23 Jari Petter Sundell <jaris@student.matnat.uio.no>
* torrent/data: Wrote new and cleaner files to chunk abstraction. Much prettier.
2004-08-14 <jaris@ifi.uio.no>
* torrent/tracker: New tracker request code. Modular using sigc++
and ready for extension.
* torrent: Moved over to using libcurl for http downloads.
2004-08-07 <jaris@ifi.uio.no>
* configure: Added sigc++-2.0 to dependencies.
* torrent/url: Shiny new http interface with sigc++ signals.
2004-08-05 <jaris@ifi.uio.no>
* client: Added support for http urls.
* delegator: Fixed a bug that caused us to request pieces the peer
didn't have. (DOH!)
2004-08-04 <jaris@ifi.uio.no>
* bitfield: Clean up bitfield class and opimized .notIn().
* torrent: Finished http class, testing remains.
2004-08-03 <jaris@ifi.uio.no>
* torrent: Don't throw on zero length piece messages. Why do they
send these?
2004-07-28 <jaris@ifi.uio.no>
* torrent: Fixed a few bugs in the throttle and added min chunk
size.
2004-07-25 <jaris@ifi.uio.no>
* torrent: Fixed bug that made it skip sending the stop message to
the tracker when quiting.
* torrent: Changed stdint.h to inttypes.h and made it easy to
disable execinfo.h in client.
* torrent: Added throttle with tree structure. Bandwidth
delegation needs work.
2004-07-20 <jaris@ifi.uio.no>
* torrent: Using deque instead of list to increase performance.
* torrent: Don't close the connection if errno == EINTR.
* client: Added view of the exceptions log.
2004-07-11 <jaris@ifi.uio.no>
* torrent: Choosing new chunks to download according to how many
we see.
2004-07-10 <jaris@ifi.uio.no>
* torrent: BitField::allSet() now works right, fixes problems with
finished peers not being disconnected.
* client: No longer breaks when it receives resize interrupts
during select.
2004-07-08 <jaris@ifi.uio.no>
* torrent: Fixed mangling of outgoing commands.
2004-07-07 <jaris@ifi.uio.no>
* torrent: Cleaned up the BitField class.
* client: Cleaned up the UI.
2004-07-04 <jaris@ifi.uio.no>
* client: Added scrolling when selecting peers or downloads. View
the local bitfield.
* torrent: Fixed some unchoking bugs and made it better at
choosing whom to unchoke.
2004-06-29 <jaris@ifi.uio.no>
* torrent: Cleaned up PeerConnection::write and made it buffer
more commands in one send.
2004-06-27 <jaris@ifi.uio.no>
* torrent: Added automatic creation of directories.
* configure: Added tests for OpenSSL's crypto lib.
2004-06-26 <jaris@ifi.uio.no>
* client: Made the display code more maintainable. Added chunks
seen amongst peers
|