Bot releases are visible (Hide)
Published by tatsuhiro-t over 8 years ago
This release fixes lots of bugs. See the Changes section below.
There are new features in this release. We added "seeder" key in
aria2.tellStatus RPC response. We added system.listMethods RPC method
to return all RPC method supported. We added --max-mmap-limit option
to avoid mmap if total file size is greater than given size.
src/WinConsoleFile.cc: fix colour
Set default foreground/background colour correctly
Patch from kwkam
configure.ac: fix autoreconf error
Use m4_ifdef so we do not have to install optional libraries
Patch from kwkam
Don't inherit file descriptor to child process
For non-Mingw32 build, set FD_CLOEXEC to file descriptors which live
beyond function scope. For Mingw32 build, just pass false to
bInheritHandles parameter of CreateProcessW.
Update Russian version documentation
Patch from ITriskTI
Add "seeder" key to tellStatus RPC response
WinTLS: Fix hang because of buffered received data
WinTLSSession buffers received decrypted data into its own buffer.
If read is requested, it copies the data from its buffer. But if
requested buffer size is less than decrypted buffer, some of the
data is left in the buffer. Previously, we had no facility to check
the existence of this pending data. If this data is the last
requested data from remote server, we may end up waiting for read
event even if we have already data in our buffer, which may cause
hang. This commit fixes this issue by introducing function to
return the buffered length in TLSSession. SocketCore also provides
the same function, which delegates to TLSSession object.
Add --max-mmap-limit option
Set the maximum file size to enable mmap (see --enable-mmap
option). The file size is determined by the sum of all files
contained in one download. For example, if a download contains 5
files, then file size is the total size of those files. If file size
is strictly greater than the size specified in this option, mmap
will be disabled.
mingw: Use SetFileValidData to make --file-allocation=falloc work
Retry with 504 status code
Increase DHT transaction ID from 2 to 4 bytes to avoid conflict
Update wslay
Add --enable-werror option to configure to enable warning flags
Don't modify user variables (e.g., CFLAGS, LIBS, etc)
Improve error message when loading pkcs12 file failed
Updated dependency and source url's
The RaspberryPi Dockerfile had some out-of-date dependency packages
and was downloading an outdated aria2 source from Sourceforge, which
resulted in a build for version 1.19.0. The new
fetch-latest-release-from-GitHub script I've cooked up should always
work as long as GitHub doesn't change their API and aria2's platform
agnostic releases follow the "{version number}.tar.bz2" naming
format.
Patch from c3mb0
Reduce delay in tracker request
We eliminated 1 second delay between completion of name resolution
for tracker request and time when it is actually issued. We also
elimited 1 second delay after last torrent download exists and it is
told to DHTInteractionCommand.
Disable IPv6 on non-async NameResolver if configuration wants
Fix mysterious 1 second delay with async DNS
Fix bug that UDP port was incorrectly used in UDP tracker announce request
Refactor HttpRequest
This also makes comparison performed when replacing builtin header
field with user-defined one case-insensitive.
Send Want-Digest as per RFC 3230
Try all found address set to bind sockets with --multiple-interface
Fixes GH-523
Replace sourceforge references with aria2.github.io
Add system.listMethods RPC method
system.listMethods just returns the available RPC method names. It
can be executed without secret token, because it just returns the
method names, and does not alter anything.
See GH-437
Support content-range from non-compliant server
See GH-509
Reduce UDP tracker request timeout
See GH-507
Apply --retry-wait when retrying after 404
Previously, --retry-wait was not used when retrying after 404
(--max-file-not-found). The retry was done without delay. Also the
maximum retry count (--max-retries) was ignored when retrying with
404.
This commit makes --retry-wait apply for retrying with 404 as well.
It also combines --max-retries and --max-file-not-found. When
retrying with 404, it is counted toward retry count.
Published by tatsuhiro-t almost 9 years ago
This release fixes lots of bugs. See the Changes section below.
Fix bug that pause/unpause seeding torrent prevents new downloads
from starting
Previously, with --bt-detach-seed-only, when user issued pause and
unpause command to seeding torrent, and it was started again, and it
immediately got seeding status, but aria2 did not start new download
waiting in the queue. This commit fixes this bug.
See GH-490
Add --bt-enable-hook-after-hash-check option
This option sets flag which allows hook command invocation after
hash check (see -V option) in BitTorrent download. By default, when
hash check succeeds, the command given by --on-bt-download-complete
is executed. To disable this action, give false to this option.
Add --socket-recv-buffer-size option
Set the maximum socket receive buffer in bytes. Specifing 0 will
disable this option. This value will be set to socket file
descriptor using SO_RCVBUF socket option with setsockopt() call.
See GH-487 about the usecase of this option
Disable --deferred-input when --save-session is used together
With --deferred-input=true, aria2 only reads input file to fill
active download slots, while keeping input file open. Meanwhile,
--save-session saves all download info inside memory, but this does
not take into account of unread item in input file. This will lead
to lose input data in saved session file. Also current BufferedFile
implementation used to read/write input/output file take a lock on
Windows. This effectively prevents session serializer from writing
session data to the same file which is still kept open because of
--deferred-input. See GH-493
base32: decode lowercased characters as well
This fixes the bug that magnet URI with lowercased btih is treated
as malformed.
mingw: Use GetFileSize to get file size
_wstat family does not work with symbolic links. They always
returns size 0. To workaround this, we now use GetFileSize to get
file size. To do that, we need to first obtain file HANDLE, which
is a bit tedious because of the messy interface of CreateFileW, but
we have no way to get around it.
Fix bug that file allocation=trunc does not work with Windows
symlink
Send the last error message as part of tellStatus RPC response
Patch from Jarda Snajdr
Don't enable mmap if file allocation is disabled
Without file allocation, we cannot map file because file length
could be zero.
This could fix bug reported at GH-478
Evict timed out pooled socket periodically
Previously we only scanned pool socket to check they are timed out
when we pooled another socket. This means that pooled socket is not
closed long time (stays in CLOSE-WAIT state) if we don't pool any
more socket. In this commit, we now check pooled socket
periodically (30 seconds) to avoid the sockets hanging in CLOSE-WAIT
state long time.
See GH-477
Don't write control file if content is not changed from previous one
This is desirable so that we don't have to wake up disk if control
file is not changed, and it is not have to be written again. We use
the same method (SHA1 hash) to check the content is the same. The
limitation is the hash is stored in memory, so we have to write the
first time in each session.
See GH-382
Remove content-length and content-range if transfer-encoding is
given
See GH-473
Retry after 404 status if --max-file-not-found > 0
Published by tatsuhiro-t about 9 years ago
This release fixes the bug that progress summary is not shown timely.
Published by tatsuhiro-t about 9 years ago
This release fixes TLS handshake error with servers which only support
RSA-SHA1 signature algorithm. We removed RSA-SHA1 for enchanced
security, but many users reported there were servers which could not
talk aria2 1.19.0, so added it again for compatibility reasons. For
Windows build, we fixed potential infinite loop bug when TLS is used.
We changed the location where dht.dat and aria2.conf are looked up.
The aria2 manual page described details. Basically we now follow XDG
specification (http://standards.freedesktop.org/basedir-spec/latest/).
For dht.dat, the default location is $XDG_CACHE_HOME/aria2/ directory.
For aria2.conf, the default location is $XDG_CONFIG_HOME/aria2/
directory. To keep the current user configuration working, if aria2
detects dht.dat under $HOME/.aria2/ directory, it is used instead.
Similarly, if aria2.conf exists under $HOME/.aria2/ directory, it is
used instead.
Previously, we return 500 HTTP status if RPC method execution
encountered error. Now it returns with 400 HTTP status with error
code. This is more natural because server processed request and found
an error, and returned error reply correctly. This is not something
server crashed or something. Also, there is RPC libraries which
throws exception if it sees 5XX status code, where 400 is better
because we can examine the error.
Update README.android
Providing some workarounds about CA certificates and standard output
Patch from amtlib-dot-dll
Return 400 HTTP status code if exception was caught while executing
RPC method
Previously, we returned 500 HTTP status code. I think the found in
RPC level, not in HTTP protocol, so 500 is not appropriate.
WinTLS: Fix potential infinite loop
Fix on-download-error is executed even if download succeeded
Update Dockerfile.mingw
Patch from Adam Baxter
Increase --select-file upper bound to 1m for torrent containing lots
of files
Fix busy loop with --dry-run and 4xx response for URI listed in
metalink
See GH-430
Update sqlite in OSX build to 3.8.10.2
Make LibuvEventPoll compatible with the latest libuv again
gnutls: Allow SIGN-RSA-SHA1 for compatibility reason
Make script compatible with both Python 2 and 3
Patch from Vasilij Schneidermann
Make config and cache files conform to XDG
See http://standards.freedesktop.org/basedir-spec/latest/ for
further details. This implementation decides the default based on
whether a file exists at the legacy location, if it doesn't, it
picks the XDG-conforming location instead.
Patch from Vasilij Schneidermann
ftp, sftp: Fix heap-after-free bug on exception
ftp: Fix timeout when reusing FTP connection
Various MinGW-w64 build improvements
Patch from David Macek