Commit graph

35 commits

Author SHA1 Message Date
ryoon
36e400e07e Update to 1.14.1
Chngelog:
Changes
-------

 * Supported network-path reference in HTTP redirect.

 * Updated bash_completion.

 * aria2 now doesn't assume download has completed just because file
   size matched. The only exception is zero-length file.  If server
   tells that file is zero-length and --checksum option is given,
   aria2 now correctly checks its checksum. There is one known issue:
   If downloaded file is zero-length file and .aria2 file exists, it
   will not be deleted on successful verification, because .aria2 file
   is not loaded.

 * Fixed the bug that --checksum is not working. SFBUG#3466888

 * Fixed compile error without libnettle, libgcrypt and openssl.
   SFBUG#3466463

 * Fixed the bug that log file is not created if there is warning
   before log file is opened.
2012-01-14 15:15:16 +00:00
ryoon
5fea27c0af Update to 1.14.0.
Changelog:
* Update translations.
* Improve IPv6 support.
* Many bugs are fixed.
2012-01-08 12:30:18 +00:00
ryoon
2be7b641bd Update to 1.13.0
Changelog:
aria2 1.13.0
============

Release Note
------------

This release fixed libgcrypt version check error. Several command line
options were added. For details of each new option, read changes
below.  aria2 now returns error response if RPC request parameter has
wrong type.  For MinGW32 build, Unicode filenames support was added.

From this release, aria2 uses libnettle and libgmp by default instead
of libgcrypt.  If you want to use libgcrypt, use configure options
--without-libnettle --with-libgcrypt.

Changes
-------

 * Check libgcrypt version is greater or equal to required version.
   This will fixes Debian bug#642989.

 * Added --piece-length option.  This option sets a piece length for
   HTTP/FTP downloads. This is the boundary when aria2 splits a
   file. All splits occur at multiple of this length. This option will
   be ignored in BitTorrent downloads.  It will be also ignored if
   Metalink file contains piece hashes.

 * Throw exception if parameter has wrong type in RPC method.
   Formally, depending on the method implementation, this kind of
   error is just ignored and parameter is skipped. Now aria2 responds
   error for these cases. The required parameter checking is also
   reworked along with this change.

 * Cleanup log message for binding server socket.

 * Recognize tab as white space before option in -i list.

 * Added geom parameter to --stream-piece-selector option.  If 'geom'
   is given, at the beginning aria2 selects piece which has minimum
   index like 'inorder', but it exponentially increasingly keeps space
   from previously selected piece. This will reduce the number of
   establishing connection and at the same time it will download the
   beginning part of the file first. This will be useful to view movie
   while downloading it.

 * Added completedLength response key in aria2.getFiles RPC method

 * Added #checksum help tag.

 * Added --checksum option.  Added --checksum=TYPE=DIGEST option. This
   option sets checksum. TYPE is hash type. The supported hash type is
   listed in "Hash Algorithms" in "aria2c -v". DIGEST is hex digest.
   For example, setting sha-1 digest looks like this:
   sha-1=0192ba11326fe2298c8cb4de616f4d4140213838 This option applies
   only to HTTP(S)/FTP downloads.

 * Added --hash-check-only opiton.  Added --hash-check-only opiton.
   If true is given, after hash check using --check-integrity option,
   abort download whether or not download is complete. The default
   value is false.

 * Added --download-result option.  Added --download-result=OPT
   option.  This option changes the way "Download Results" is
   formatted. If OPT is 'default', print GID, status, average download
   speed and path/URI. If multiple files are involved, path/URI of
   first requested file is printed and remaining ones are omitted.  If
   OPT is 'full', print GID, status, average download speed,
   percentage of progress and path/URI. The percentage of progress and
   path/URI are printed for each requested file in each row.

 * Added --rpc-allow-origin-all option.  This option adds
   Access-Control-Allow-Origin header field with value '*' to the RPC
   response.

 * Ignore --out option supplied in command-line if -i is used.  You
   can still use out option in the text file specified in -i.

 * Disable SSLv2 by default and optimize memory usage.
   Patch from Cristian Rodríguez.

 * Added libnettle and libgmp support.  libnettle and libgmp is used
   by default. Old implementation uses libgcrypt as default. If more
   and more Linux distributions offer libnettle linked GnuTLS, then
   this change decrease library dependency against libgcrypt and
   libgpg-error.  The current library detection for libnettle and
   libgmp is very simple, just use AC_SEARCH_LIBS.
   util::generateRandomData() was written using SimpleRandomizer, thus
   no external library dependency from this function.

 * In MinGW32, open file with UNICODE filename and print them in ANSI.
2011-10-20 13:24:47 +00:00
ryoon
ff86e63664 Update to 1.12.1
Changelog:

aria2 1.12.1
============

Release Note
------------

This release adds RFC 6249 Metalink/HTTP support. Current
implementation only uses rel=duplicate links.  --enable-direct-io
option was deprecated because of performance issue.  Since recent
GnuTLS uses libnettle as default instead of libgcrypt, this release
added initialization code for libgcrypt.

Changes
-------

 * Initialize libgcrypt.  We relied initialization of libgcrypt on
   gnutls_global_init(), but recent change in gnutls, which changes
   default crypto backend from libgcrypt to libnettle, leaves
   libgcrypt uninitialized if it uses libnettle as backend(and this is
   likely because libnettle is chosen by default). To fix this issue,
   we simply initialize libgcrypt on our own.

 * Throw exception with error message if gnutls_global_init() failed.

 * Implemented Metalink/HTTP.  Link header fields from first Metalink
   server is utilized as described in rfc6249. We only set digest from
   Digest header field to DownloadContext only when PieceStorage is
   not initialized(in other words, before file size is known). After
   PieceStorage is initialized, Digest header field is used to check
   the value is the same in digest in DownloadContext.  Current
   implementation only handles rel=duplicate.

 * Remove Metalink content-type after first server response.  We don't
   accept Metalink content-type after first server response.

 * Updated Russian translation of aria2 man page.  Thanks to ITriskTI
   for translation.

 * Fixed the bug due to dangling pointers in RequestGroup.
   RequestGroup holds a poitner to btRuntime_ and peerStorage_. After
   removing them from BtRegistry, we failed to set 0 to them.  When
   program access them, it goes undefined world, such as random crash.
   We found this bug when pasuing download and valgrind warned memory
   corruption.

 * Added log message to clarify error for BitTorrent server socket.

 * Added #deprecated help tag.

 * Removed deprecated options: --enable-xml-rpc, --xml-rpc-listen-all,
   --xml-rpc-listen-port, --xml-rpc-max-request-size, --xml-rpc-user,
   --xml-rpc-passwd.

 * Removed use of O_DIRECT because of performance issue.  Deprecated
   --enable-direct-io option.

 * Increased the maximum number of in-flight request in BitTorrent.

 * Added --log option to aria2rpc
2011-08-09 17:00:57 +00:00
ryoon
2e7e5ec2c7 Update to 1.12.0
Changelog:
1.12.0
Changes
-------

 * Use ServerStat to find faster server. This is useful when several
   downloads were started in parallel, but one download is slow and
   the other downloads have completed. Then aria2 knows which servers
   are fast by the results of completed downloads, and check the
   available URIs of slow downloads to see faster server is available
   there. If so, use it instead of current slow one to make download
   faster.

 * Added Russian translation of man page and HTML manual contributed
   by ITriskTI.

 * Added aria2.getGlobalStat RPC method.  It returns overall
   download/upload speed and the number of active/stopped/waiting
   downloads.

 * Added --pause option.  This option pauses download after
   added. This option is effective only when --enable-rpc=true is
   given.  When --save-session option is used and there are paused
   downloads, they are saved with --pause=true so that it will become
   paused state when the session is recovered.

 * Abort aria2 if it could not setup any RPC server.

 * Added --truncate-console-readout option.  This option truncates
   console readout to fit in a single line.  This is default. Give
   false value to this option to tell aria2 not to truncate console
   readout.

 * Cache and reuse RpcMethod objects.

 * Allowed missing params in system.multicall RPC method.

 * Added --stream-piece-selector option.  This option specifies piece
   selection algorithm used in HTTP/FTP download. Piece means fixed
   length segment which is downloaded in parallel in segmented
   download. If 'default' is given, aria2 selects piece so that it
   reduces the number of establishing connection. This is reasonable
   default behaviour because establishing connection is an expensive
   operation.  If 'inorder' is given, aria2 selects piece which has
   minimum index. Index=0 means first of the file. This will be useful
   to view movie while downloading it. --enable-http-pipelining option
   may be useful to reduce reconnection overhead.  Please note that
   aria2 honors --min-split-size option, so it will be necessary to
   specify a reasonable value to --min-split-size option.

 * Removed unnecessary template parameter from std::make_pair call.
   The patch was contributed from Dan Fandrich.

 * Implemented fast file allocation in MinGW32 build.  We use
   SetFilePointerEx and SetEndOfFile to allocate extents.  This only
   works with NTFS. To enable this feature, --file-allocation=falloc
   must be given.

 * Only percent-encode non-printable ASCII chars(0x00-0x1f), non-ASCII
   chars(>0x7f), ' ', '"', '<' and '>' for URIs supplied by user and
   remote server(usually Location header field).

 * Don't throw exception if Z_BUF_ERROR is encountered in GZipEncoder.
   This fixed the bug that compressed RPC request failed.

 * Don't save removed download in --save-session text file.  Now stat
   column of removed downloads in Download Results is 'RM' instead of
   INPR.


1.11.2
Changes
-------

 * Updated Japanese, Spanish and Simplified Chinese translation.
   Thanks to all translators.

 * Eliminated few seconds delay when downloads stop or pause.

 * Added --metalink-base-uri option.  --metalink-uri option specifies
   base URI to resolve relative URI in metalink file stored in local
   disk. If URI points to a directory, URI must end with '/'.

 * Run batch file with cmd.exe. Quoted user command.  It seems that we
   have to specify the full path to cmd.exe in the first argument of
   CreateProcess() to run batch file in proper manner.  We first
   determine the full path to cmd.exe. To do this, we get windir
   environment variable and concatenate it with "\system32\cmd.exe".

 * Fixed the bug that the message "Loaded cookies from ..." appears
   when loading cookies from that file failed.

 * Applied patch from Dan Fandrich. This patch fixes compatibility
   issue when compiling aria2 on older systems.

 * Support relative URI in Metalink file.  If relative URI is found in
   Metalink file, aria2 resolves its full URI contatenating the URI
   from which Metalink file is retrieved and relative URI in Metalink
   file. This feature is not available if Metalink file in local disk
   is specified in command line.

 * Erase user and password specified in command-line from argv.  The
   user and password is masked with '*'.

 * If no data type tag is used in XML-RPC, treat the data as string.
2011-07-14 06:00:07 +00:00
obache
9297f1831d recursive bump from icu shlib major bump. 2011-06-10 21:57:06 +00:00
ryoon
6a544c1a55 Update to 1.11.1
* aria2-metalink option is removed. This is enabled by default already.

Changelog:
aria2 1.11.1
============

Release Note
------------

This release fixes the bug that aria2 does not work on platforms which
have kqueue() system call due to invalid timeout parameter. The
--show-console-readout option was added. This option toggles the
appearance of console readout.

Changes
-------

 * Added --show-console-readout option. This option toggles
   appearance of console readout.

 * Fixed the bug that microsecond part of timeval overwlows in
   waitData(). This bug affects platforms which have kqueue() system
   call. Those systems are FreeBSD, OpenBSD, NetBSD and Darwin (Mac OS
   X).

aria2 1.11.0
============

Release Note
------------

This release adds JSON-RPC interface. The JSON-RPC and XML-RPC shares
same APIs. The JSON-RPC also supports JSONP. 2 new options were added:
--retry-wait and --async-dns-server. The downloads added by
aria2.addTorrent and aria2.addMetalink RPC method are now saved to the
file specified in --save-session option. The proxy options and related
environment variables now accept https:// and ftp:// scheme. This
release fixes the bug that causes segmentation fault when unpausing
downloads in some situations.  MinGW32 build now looks for USERPROFILE
and the combination of HOMEDRIVE and HOMEPATH to get user's home
directory and doesn't check permission of .netrc file.

Changes
-------

 * Updated gettext to 0.18

 * Added JSON-RPC support. --enable-xml-rpc was deprecated and
   --enable-rpc should be used instead.  Similarly, --xml-rpc-*
   options were replaced with --rpc-* options.  We are implementing
   JSON-RPC based on JSON-RPC 2.0 draft spec.

 * Fixed rounding error in DownloadEngine::run(). This fixes the bug
   that executeCommand() with Command::STATUS_ALL is not called in
   every interval correctly because of rounding error in timer.

 * Refresh buckets at DHT initialization without checking serialized
   time. Checking serialized time does not work if you stop aria2 as
   soon as it started DHT. The serialized time in dht.dat will be
   updated, but buckets are not updated and still old. When you
   restart aria2 again soon, it does not refresh buckets because
   serialized time is recent.

 * Save downloads added by aria2.addTorrent or aria2.addMetalink in
   --save-session file.  Uploaded data are saved as file named hex
   string of sha1 hash of uploaded data plus extension(".torrent" for
   torrent and ".meta4" for metalink). For example,
   0a3893293e27ac0490424c06de4d09242215f0a6.torrent. The directory
   where these files are saved is specified by --dir option. These
   file paths are written in --save-session file.

 * Fixed the bug that causes segmentation fault when unpause
   RequestGroup which has resolved BtDependency.

 * Look for USERPROFILE and the combination of HOMEDRIVE and HOMEPATH
   to get user's home directory in MinGW32 build.  Usually HOME
   environment variable is defined in *nix like OSes, but not in
   Windows. So in MinGW32 build, if HOME is not defined, we also look
   for USERPROFILE and the combination of HOMEDRIVE and HOMEPATH.

 * Fixed the bug that DownloadContext::basePath_ is not escaped.

 * Added Date, Expires and Cache-Control response header field to RPC
   response.

 * Added --async-dns-server option. This option accepts comma
   separated list of DNS server addresses used in asynchronous DNS
   resolver. Usually asynchronous DNS resolver reads DNS server
   addresses from /etc/resolv.conf. When this option is used, it uses
   DNS servers specified in this option instead of ones in
   /etc/resolv.conf. You can specify both IPv4 and IPv6 address. This
   option is useful when the system does not have /etc/resolv.conf and
   user does not have the permission to create it.

 * Accept https:// and ftp:// in proxy options and environment variables.

 * Fixed overflow in the calculation of progress percentage for file
   allocation and hash check when off_t is 32bit.

 * Accept HTTP 304 reply as success when If-None-Match request-header
   field is specified using --header option.  When --conditional-get
   is used, --allow-overwrite is now required to overwrite existing
   file.

 * Added aria2.removeDownloadResult RPC method.  The method signature
   is aria2.removeDownloadResult(gid).  This method removes
   completed/error/removed download denoted by gid from memory. This
   method returns "OK" for success.

 * Use IP address of control connection to connect to the remote server in
   FTP passive mode.

 * Don't check permission of .netrc file in MinGW32 build.

 * Added --retry-wait option. This option was once existed in aria2
   but erased on 2009-09-20.  Now it is resurrected once again.  We
   choose 0 as default value for backward compatibility.  Now we retry
   HTTP download when remote server returns "503 Service Unavailable"
   if --retry-wait > 0. We also added error code 29:
   HTTP_SERVICE_UNAVAILABLE.

 * Don't show metadata download and paused download in "Download Results".
2011-05-04 23:33:10 +00:00
obache
1d9df3258a recursive bump from gettext-lib shlib bump. 2011-04-22 13:41:54 +00:00
ryoon
276f398e2e Update to 1.10.9.
Clear some warnings of pkglint.

Changelog is too long to include here.
See NEWS file.
2011-03-02 13:22:38 +00:00
wiz
e2f84ad43f Reset maintainer for retired developers. 2011-02-28 14:52:37 +00:00
obache
31838d349b Update aria2 to 1.10.0.
aria2 1.10.0
============
This release adds an option to limit the number of connections to the
same host in each download. aria2 now chooses server which is least
used in aria2c instance. This release also adds Chromium cookie
support and HTTP only conditional download support which is download
file only when the local file is older than remote file.  aria2 now
can handle %2F in FTP URI properly. HTTP/1.1 chunked decoder was
fixed. For Linux, aria2 uses fallocate by default if it is usable.

aria2 1.9.5
============
This release fixes the bug that causes corrupted file. It also fixes
assertion error in DefaultPeerStorage class. Now aria2 doesn't reset
referer to "" on redirect. log and log-level option can be used
in aria2.changeGlobalOption XML-RPC method. This means you can
dynamically start or stop logging and change log file and log level.

aria2 1.9.4
============
This release fixes the bug that connection reuse on FTP does not work
if FTP server changes root directory based on account. It also fixes
the bug that reading Metalink document from pipe (-M- option) does not
work when aria2 is built with expat or old libxml2(2.7.6 or
earlier). Now aria2 does not emit error if given Metalink document is
empty(no file element). The response of aria2.tellStopped XML-RPC
method now has more information: totalLength, completedLength,
uploadLength, bitfield and so on.

aria2 1.9.3
============
This release fixes the bug that aria2 cuts filename after ';' if
filename in Content-Disposition header includes ';'. It also fixes
the bug that name attribute of file element in Metalink file is not
properly sanitized.

aria2 1.9.2
============
This release adds kqueue, port_associate/port_getn and poll() support
for socket event notification to eliminate 1024 file descriptor
limitation of select() call. The bug that aria2.unpause and
aria2.unpauseAll XML-RPC method fail when -s1 is given in command-line
argument was fixed.

aria2 1.9.1
============
This release adds the ability to save unfinished downloads as text
file. aria2 can read the file with -i option on restart. This
release also adds the ability to download file from scratch when aria2
sees resume is not supported by remote server. This feature is
disabled by default. See --always-resume option for
details. --no-proxy option accepts IPv4 network address with CIDR
block. aria2 now doesn't send "Accept-Encoding: deflate, gzip" by
default. --http-accept-gzip option was added to toggle this behavior.
aria2 now treats lines starting "#" in -i list as comments. Several
XML-RPC methods were added: aria2.pause, aria2.unpause,
aria2.shutdown, and their families. The new exist status code '8' was
added. The bug that makes aria2 hang when system time changes while
aria2 is running was fixed on MinGW32, Mac OS X and the system which
has clock_gettime(). Several other bugs also have been fixed.

aria2 1.9.0
============
This release adds Metalink4 support and BitTorrent Local Peer
Discovery. aria2.changeUri XML-RPC method was added. It enables you
to add/remove URIs to existing downloads dynamically. The user and
password for proxy server now can be specified in command-line
separately. We refactored the code based on profiler results, so
aria2 now runs more efficiently than ever. Russian and Simplified
Chinese translation were updated.

aria2 1.8.3
============
This release fixes the bug that --file-allocation=falloc doesn't work
with single file download. It also fixes the bug that the return value
of aria2 is unreliable if error occurs before download begins. When
custom request headers specified by --header option now override
built-in headers if they have same name.

aria2 1.8.2
============
s release fixes the bug that causes segmentation fault with
--max-file-not-found option involved. Now aria2 can handle redirected
URI which is not properly percent encoded. In MinGW32 build, console
readout is now always cut by 80 characters. 'bittorrent' key is added
to the response of tellStatus XML-RPC method. The associated value of
the key is a struct and contains data retrieved from .torrent file,
such as name, announce-list, comment, etc.

aria2 1.8.1
============
This release fixes the bug that causes segmentation fault if unknown
options exist in aria2.conf file and user cannot include empty line in
aria2.conf.

Following new command line options are added: --http-no-cache,
--bt-metadata-only and --human-readable option. --dir option now
treats "" as ".". --all-proxy, --http-proxy, --https-proxy and
--ftp-proxy option accept empty string "". When "" is given, it
erases previously defined proxy.

aria2.getSessionInfo XML-RPC method was added. aria2.tellWaiting and
aria2.tellStopped XML-RPC method accept a negative integer as
offset. For example, in aria2.tellWaiting, 'offset' == -1 points last
download in the waiting queue and 'offset' == -2 points the download
before the last download, and so on. 'dir' and 'files' key were added
to the response struct of aria2.tellStatus XML-RPC method. The value
associated with 'files' key is the list of files. Its element is the
same struct used in aria2.getFiles XML-RPC method. 'uris' key was
added to the response struct of aria2.getFiles XML-RPC method. The
value associated with 'uris' key is the list of URIs. Its element is
the same struct used in aria2.getUris XML-RPC method. aria2 now
returns gzip compressed XML-RPC response if XML-RPC client accepts
gzip content encoding.

aria2 1.8.0
============
This release fixes the bug that configure script fails to detect
GnuTLS library if --without-sqlite3 is given. The new XML-RPC methods
are added: aria2.getOption, aria2.getGetGlobalOption,
aria2.changePosition, aria2.tellStopped and system.multicall.
--bt-save-metadata option is added. This option saves metadata as
.torrent file. This option has effect only when BitTorrent Magnet URI
is used.

aria2-1.7.2
============
This release fixes the bug that aria2 listens wrong port in
BitTorrent/FTP downloads when --interface option is used. If
--metalink-file='-' is given, aria2 now reads Metalink file from
stdin. Magnet URI is printed in the output of -S option. DHT is
now enabled by default. DHT doesn't start while aria2 only handles
HTTP/FTP downloads. On the first torrent download begins, aria2
initiates DHT functionality. After that, DHT runs until aria2 exits

aria2 1.7.1
============
This release fixes the bug that --bt-prioritize-piece=tail is not
working.

aria2 1.7.0
============
This release adds BitTorrent Magnet URI support. 3 options were
added: the ability to bind to particular interface, disabling IPv6 and
prioritizing piece in BitTorrent downloads. In configure script, if
--with-PACKAGE and --enable-FEATURE are given but PACKAGE is missing
in the system or FEATURE cannot be enabled in the current
configuration, the script now prints error message and exits.
--http-auth-scheme option was removed since it is useless. Updated
Russian, Ukrainian, German and French translations.

aria2 1.6.3
============
This release fixes reported bugs and updates Polish, Catalan, French,
Italian, Russian and Japanese translations.

aria2 1.6.2
============
This release fixes segmentation fault error if URI to download
contains printf format string and logging is enabled. The build
scripts are updated to automake 1.11 and autoconf 2.64. Updated
Ukrainian translation.

aria2 1.6.1
============
This release fixes memory leak in HTTP/FTP download. It also fixes the
bug that the option values changed by XML-RPC changeOption and
changeGlobalOption methods are cleared. Now User-agent and Peer ID
include version number. Updated Simplified Chinese translations.

aria2 1.6.0
============
This release changes the default behavior of XML-RPC server. Now it
listens only on local loopback interface by default for security
reasons. If you want to connect to aria2c from remote hosts, use
--xml-rpc-listen-all option. The XML-RPC client sample script written
in Ruby are now included in the archive under doc/xmlrpc directory.
These scripts are licensed under MIT License. The help category tags
are now start "#" to distinguish them from keyword search. Several
help category tags were added: #xml-rpc, #cookie, #hook and #file.
--retry-wait option was removed because it doesn't work properly under
the architecture. Updated Bulgarian, Russian, Slovak and Japanese
translations.

aria2 1.5.2
============
This release fixes the bug that when the first attempt to establishing
connection fails, aria2 don't try to connect another address and a
download immediately fails. -S output was enhanced: exact file size
is now printed. For -S with torrent file, meta data such as comment,
comment.utf-8, created by and creation date are now printed. Ukrainian
and Russian translations were updated.

aria2 1.5.1
============
This release fixes linker error in unit test code on 32bit
systems. The unit test failure on mingw32 was also fixed. The file I/O
error handlings were written.

aria2 1.5.0
============
This release adds WEB-Seeding support for multi-file torrent.
--bt-stop-timeout option was added. This function stops BitTorrent
download if the download speed is 0 in consecutive given seconds.
aria2 now tries all resolved addresses to connect to remote servers in
HTTP(S)/FTP until it gets connected. For XML-RPC, two new methods
were added: aria2.tellWaiting and aria2.getVersion. The error code is
available in the response of aria2.tellStatus methods for
stopped/completed downloads. --use-head is now disabled by default
since using HEAD request causes problems in some web sites. The
behavior of -D option has been changed: If -D is specified, the
current working directory is set to / and stdin, stdout and stderr are
redirected to /dev/null. This release fixes the bug that zombie
processes are created when commands specified in --on-download-*
options are executed and the bug that http-user, http-passwd, ftp-user
and ftp-passwd are ignored when they are given via XML-RPC. Updated
Russian, Italian, Danish, Bulgarian, Japanese and Ukrainian
translations.

aria2 1.4.1
============
This release fixes the compile error without the development package
of c-ares library installed. The compile error under MinGW was fixed.
aria2.tellStatus XML-RPC method now returns "uploadLength" and
"numSeeders". Ukrainian translation was updated.

aria2 1.4.0
============
This release adds XML-RPC interface and the ability to run command
when download started/stopped and the ability to save cookies. The
current XML-RPC API allows users to add http(s)/ftp/torrent/Metalink
download and change options dynamically. The APIs such as reporting
download progress, file paths, URIs and peer information are also
available. For complete API specification, see XML-RPC INTERFACE
section in man page and
http://apps.sourceforge.net/trac/aria2/wiki/XmlrpcInterface. The
console readout was slightly updated and now includes the number of
seeders the client has connected to. Slovak translation was
added. Ukrainian and Brazilian Portuguese translation were updated.

aria2 1.3.3
============
This release fixes the bug that --check-integrity option doesn't work
properly if a file including last piece is missing and increases
internal receive buffer for FTP in order to receive big banner.
Ukrainian, Russian and Simplified Chinese translations were updated.

aria2 1.3.2
============
This release fixes the bug that prevents certain BitTorrent downloads
from finishing and possible segmentation fault when gzip decoding is
involved and infinite loop bug if last "0" chunk-size marker is not
received in chunked encoding transfer. aria2 now supports
WEB-Seeding(HTTP-Seeding) for single file torrent. Ukrainian
translation was updated.

aria2 1.3.1
============
This release fixes the bug that aria2 wrongly determines that
specified share ratio is reached because of miscalculation of upload
bytes and the bug that upload limit exceeds the value specified in
--seed-ratio option depending on the timing of the execution of
SeedCheckCommand.

aria2 1.3.0
============
This release adds the ability to specify the output filenames in
BitTorrent downloads and the option to limit overall download speed
and dry run mode which just checks the availability of the remote
file. -i list option can now take new options: select-file and
index-out. The default behavior of sending HTTP Authorization header
is reverted back to version 1.1.2 style. The bug in
AdaptiveURISelector was fixed. You can now seed read-only files in
BitTorrent. --file-allocation option can take new parameter
'falloc'. If it is given and you are using newer file systems such as
ext4, btrfs or xfs, large(few GiB) files are allocated almost
instantly. The performance optimization has been done and aria2 runs
more efficiently.

Indonesian, Russian, Italian, Ukrainian, Simplified Chinese, Japanese,
Spanish and Norwegian Nynorsk translations were updated.
2010-07-25 13:11:14 +00:00
tnn
47e35ec644 having two options for the same thing is confusing 2009-09-22 12:38:45 +00:00
drochner
d97ebdbc45 use libgnutls-config.mk to make the (non-default) "gnutls" option
work with gnutls-2.8
2009-07-03 10:31:30 +00:00
joerg
62d1ba2bac Remove @dirrm entries from PLISTs 2009-06-14 18:03:28 +00:00
bjs
0f9aaf7b5d Update to aria2-1.2.0. Many, many changes (too verbose to list here);
please see ChangeLog.  NOTE: libares is no longer supported; libcares
is used by default.
2009-03-08 23:41:33 +00:00
rillig
a855db009f Fixed invalid dependency. cppunit 1.10.2 has been released, 10.1.2
hasn't.
2009-01-25 07:05:14 +00:00
dholland
38b9661c7a Work around API bug in pre-christos-time_t NetBSD, where struct
timeval's seconds are "long" rather than "time_t". Passing these
seconds to localtime_r() breaks on 64-bit platforms where those types
aren't the same. Fixes PR 40323 from Andreas Burghardt.

PKGREVISION++ as a precaution, since I patched the source.
2009-01-03 23:11:47 +00:00
bjs
f2cfc2a46d Update to aria2-0.16.2. Notable changes:
- Added Serbian, Vietnamese, and Traditional Chinese translations.
  Updated French, Simplified Chinese, and Japanese Translations.

- Added length equality test to operator== to drop a piece message
  whose length does not match to the requested one.

- Fixed the bug that aria2 aborts when a request larger than 16KiB is
  recieved.  In this fix, if a request larger than 16KiB length is
  received, aria2 disconnects the peer.

- Updated man page. Changed doctype of aria2c.1.html to manpage in order
  not to replace '--' with em dash character.

- Added --auto-save-interval=SEC option. A control file(*.aria2) is saved
  every SEC seconds.

- Added --dht-file-path option to change the path to dht.dat, which is a
  serialized DHT routing table.

- Fixed the bug that last character in URI is not encoded.

- Fixed the bug that referer header field contains fragment.  Now Request
  class removes fragment part of URI and encodes it in Request::setUri()
  and setReferer().
2008-10-29 01:04:06 +00:00
bjs
80c939be54 Update to aria2-0.16.0. Lots of bug fixes, improved help text,
plus firefox3 cookie support.  This option requires sqlite3,
though the firefox3 option also enables this functionality.
2008-10-10 01:56:38 +00:00
bjs
84796f63b6 Update to aria2-0.15.3. Changes:
Added Turkish translation. Updated German and Russian translations.

  If an error occurred with a URI, remove identical URI from remaining
  URI list because it is likely that same error occurred in the end and it
  is waste of time.

  Added -lrt to LIBCARES_LIBS if -lrt is needed to link program with
  -lcares.

  Moved implementation to SimpleRandomizer.cc from SimpleRandomizer.h.
  Added return value of getpid() to argument of srand() to achieve more
  randomized value.

  Contact tracker frequently when the number of connections are 0 and
  download is not finished yet.

  Moved threshold values to UTPexExtensionMessage.

  Added _incoming member to Peer class and made it true if the peer
  initiated connection. Don't add those peer to UTPex message.
  If extended handshake is received, assign _incoming to false.

  Fixed infinite loop bug in FTP when SIZE command failed.

  Made files whose name ends with ".gz", ".tgz" not inflated by Content
  Encoding Decoder. Removed size threshold for turning off on the fly
  inflation because resulting file may or may not be inflated depending
  on the file size and I think it is not expected by users.
  This change fixes segmentation fault when Metalink file contains gzipped
  file and its filesize is provided.

  Fixed chunk checksum validation cannot detect trailing garbage data.
  BUG#2074141
2008-09-08 03:07:48 +00:00
bjs
9c9154e58a Update to version 0.15.2. This release features extensive bug fixes and
significant feature enhancements; it also now builds on OpenSolaris
(tested with NexentaOS by development community).

I urge all users to upgrade.

A _partial_ list of changes:

- Added and/or updated Danish, Greek, Spanish, Catalan,
  Norwegian Nynorsk, Bulgarian, French, Catalan, and Japanese
  translations.
- Man page fixes.
- Fixed: numCommand is less than the value specified in -C option.
- Myriad bug fixes.
- Now uses name attribute in Metalink as local filename in
  BitTorrent downloads. BUG#2033999
- Fixed memory leaks in test code.
- Fixed wrong argument passing to BitfieldMan::isBitSet()
- Initialized _directIOAllowed
- Fixed memory leak in gzip decoder and metalink parser state
  machine.
- Plug many other memory leaks and fix unmatch malloc/free calls.
- Removed max chunk size check. This change fixes BUG#2040169
- Fixed the bug that causes segmentaion fault when resuming
  download using metalink without size tag. Reproducible only
  using HTTP URI.
- Removed writable check when socket's send buffer is full in
  BitTorrent downloads to lower CPU usage.
- Fixed broken gzip inflation.
  Turn off segmented downloading if gzip content is smaller than
  or equal to 1MiB and inflate the data on the fly, because HTTP
  response header doesn't contain the length of inflated
  file we can't determin where the chunk of data should be written.
  On the other hand, if gzip content is larger than 1MB, then
  turn off on the fly inflation, because some servers returns
  "content-type: gzip" for *.tgz, *.gz files.
 - Added gzip decompressor via libz.
 - Cache last calculated average download/upload speed.
 - Supported absolute/relative path in Location header field.
 - Use File::exists() instead of File::isFile() to allow non-
   regular file such as block special files.
 - Added a message "aria2 doesn't verify signature" to log message
   when signature file is saved.
 - Added the ability to save signature when download is completed
   if signature is available. The filename of signature file is
   the path to download file followed by ".sig". If it already
   exists, then signature will not be saved.
 - Improve accuracy of documentation and rename some options to be
    more descriptive of their functions/purposes.
 - Added the ability to retrieve signature from Metalink file.
    A retrieved signature is stored in Signature class and it is
    held by DownloadContext class. Note that aria2 doesn't
    verify signature.
 - Added --bt-seed option. If --bt-seed=true is given at the
    command-line, aria2 seeds previously downloaded files
    without validating piece hashes.
 - Fixed the compile error on Nexenta OS(GNU/Solaris OS).
    (Don't define `struct addrinfo' when __sun is defined)
 - Fixed the bug that UTF-8 encoded URL is not URL-encoded
 - Properly differentiate between ftp errors and actual zero-byte
   files (now supports ftp servers which do not recognize SIZE
   raw command).
2008-08-19 14:41:58 +00:00
bjs
2b2a965630 Update to version 0.14.0+1. This release brings us myriad bug fixes
plus some new features.

 ==========================================================================

 Changes:
 aria2-0.14.0+1

 * Fixed the code that refers static member variable from
   non-static context.

 Notes:
 This release adds epoll support for linux and the ability to
 limiting the number of files to be opened to support more than
 1024 files in multi file torrent.
 Several bugs in BitTorrent downloads are fixed.
 From this release, aria2 downloads a file using 5 connections
 in HTTP/FTP by default and the behavior of -s option has
 changed. See the project web page for more details.

 Changes:
 aria2-0.14.0

 * Changed -s options behavior. Now it means the number of connections
   made simultaneously in each http/ftp download.  If 1 URL is specified,
   the behavior is the same with old implementation.  If -s N is given
   and more than N URLs are specified, first N URLs are used and
   remaining URLs are used for backup. If less than N URLs are specified,
   some of URLs are used more than once so that totally N connections are
   made simultaneously.
 * Changed default value of -s option from 1 to 5.
   Also max value of -s option is changed from 5 to 16.
 * Reduced CPU usage on high load.
 * Added epoll support.
 * Fixed compile error on debian etch. BUG#1980766
 * Added --bt-request-peer-speed-limit=SPEED option.
   In BitTorrent downloads, if the download speed is lower than SPEED,
   aria2 initiates and accepts connections ignoring max peer cap.
 * Reduced read operation for hash calculation.
 * Fixed the bug that aria2 cannot respond bttrack's nat check properly.
 * Fixed the bug that HTTP downloads don't start with old libraries.
 * Fixed the bug that aria2 aborts when a path to a directory is given in
   command-line.
 * Added --bt-max-open-files option, which specifies maximum number of
   files toopen in each BitTorrent download. REQUEST#1811507

 * Create only requested files and files which shares a piece with
   requested file in multi-torrent downloads. Directory structures are
   also created in the same rule.
 * When there is not enough space in disk, aria2 prints error in the
   console and cancels that download. BUG#1640332
2008-07-15 02:02:50 +00:00
bjs
4ccd5781cb Update to 0.13.2+1. Many bug-fixes; the ChangeLog is far too verbose
even to permit distilling it and posting it here.  If you're curious,
simply read the ChangeLog contained in the distfile.
2008-06-05 05:49:28 +00:00
bjs
37a3237015 Update to version 0.13.1+2. This update includes myriad bug fixes
and feature enhancements--way too many for this commit message.
While here, deprecate aria2-metalink option. Aria2 now supports
building with libexpat, so we do that by default now.

Some of the more significant changes:
-------------------------------------

* Fixed compile error without gnutls/libgcrypt/libgpg-error and openSSL
  installed.  Fixed compilation on: x84-64 platform, Mac OSX, g++-4.3,
  and without c-ares/ares.

* Added Simplified Chinese translation. Also updated the following
  translations: Polish, Dutch, German, Thai, Indonesian,
  Norwegian Nynorsk, Hungarian, Finnish, Hebrew.

* Changed inactive connection timeout to 120.
  To accept more mulually interested peers, disconnect peer when there
  is no interest between us after certain time passed.
  Lengthened DNS timeout to 30. I think old value '10' will be a
  little bit short when some DNS servers are offline and several
  DNS servers are tried. It should be configured by
  command-line option.

* Fixed the bug that prevents aria2 from stopping other than by pressing
  Ctrl-C in BitTorrent download. It is reproducible using --seed-time
  option. aria2 doesn't stop even after --seed-time is satisfied and
  continues to output blank lines in the console.

* Added Message Stream Encryption(MSE) support.
  Currently, aria2 accepts incoming connections with Obfuscation Header
  and legacy BitTorrent Header and establishes connections with
  Obfuscation Header first and if failed then retry with legacy
  BitTorrent header. If plain text and ARC4 is provided, aria2 always
  choose ARC4. The new option to change the default behavior is planned.
  For tracker extension, "supportcrypto=1" is added statically.

* Added the ability to load nodes from torrent file. These nodes are
  added to the routing table when downloading that torrent.

* Added the ability to stop aria2 itself when given time has passed
  from start. Use --stop option to specify time in minutes.
  When 0 is given, this feature is disabled.
  before calling RequestGroupMan::fillRequestGroupFromReserver().
  Without this modification, the result list shows "ERR" when aria2 is
  stopped by --stop option. It should be "INPR".
  Bootstrap through node added by port message.
  Currently bootstrap is executed if the number of buckets in routing
  table is 1.

* Added DHT functionality, compatible with mainline.
  DHT is disabled by default. To enable it, give --enable-dht to aria2c.
  You may need to specify entry point to DHT network using
  --dht-entry-point. DHT uses UDP port to listen incoming message.
  Use --dht-listen-port to specify port number. Make sure that your
  firewall configuration can pass through UDP traffic to the port.
  The routing table is saved in $HOME/.aria2/dht.dat.  Request peers though
  DHT only when download hasn't finished.
2008-04-16 00:09:39 +00:00
bjs
6b2d528243 Update to version 0.12.1+1. Removed patches, as I believe autoconf
should automagically handle the features stuff (or at least other packages
that I look at don't seem to need this if they use autoconf, haven't looked
extensively, though).  This release brings lots of bug fixes.  Among
them are:


2008-01-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	Fixed the bug that EX_TOO_LONG_PAYLOAD exception is thrown if just
	payload length(4bytes) are received. This happens because
	lenbufLength
	is not updated in this particular case and successive call of
	receiveMessage() overwrites payload length with bytes recieved which
	are payload body.

2007-12-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	Fixed the bug that causes aria2 not to finish download. BUG#1855875.
	I could reproduce this bug in following procedure:
	1. Stop the download at the very beginning(1% or 100KB downloaded).
	2. Restart aria2.
	3. You see the download stopped around 99%.
	If timeout is reached, then _nextCommand is unused and it may
	contains
	segments and they won't be canceled. Actually, timeout is not needed
	here because if the server dropped connection, then retry is made.

2007-12-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	Fixed the bug that returns incomplete data when it contains null
	character. A convenient constructor was also added.

2007-12-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	Fixed the bug that prevents aria2 from loading cookie file when
	expire
	value is greater than 2^31-1. BUG#1851066

2007-12-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	Fixed possible memory leak when an exception is thrown.

2007-12-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	Fixed the bug: only first announce URL is tried in AnnounceTier,
	in stopped and completed event.

2007-12-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	Removed unnecessary string copy. Updated doc and corrected
	indentation.
2008-02-18 00:00:18 +00:00
tnn
ad6ceadd25 Per the process outlined in revbump(1), perform a recursive revbump
on packages that are affected by the switch from the openssl 0.9.7
branch to the 0.9.8 branch. ok jlam@
2008-01-18 05:06:18 +00:00
bjs
5b691bc753 Update to version 0.12.0. Also, fix nbcompat includes (they were missing
<nbconfig/config.h>.  Partial list of changes:


2007-12-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	Removed unnecessary string copy. Updated doc and corrected indentation.
	* src/Base64.cc

	Fixed compilation warnings
	* test/DataTest.cc
	* test/HttpRequestTest.cc
	* test/MetaFileUtilTest.cc
	* test/RequestTest.cc

	* Release 0.12.0

	Added Brazilian Portuguese, Catalan, Italian, Spanish, Swedish
	translations. Many thanks to translators.
	* po/{ca,es,it,pt_BR,sv}.po
	* po/LINGUAS

	Fixed the bug#1845750; CTRL+C does not stop torrent.
	aria2 repeatedly sends stopped request when tracker returns error code.

	Added a message when ctrl-c is hit.
	Now second ctrl-c is also handled in signal handler.


	Changed Direct/IO enable/disable procesure in file allocation routine.
	Disable directIO if offset is not multiple of 512.
	(~SingleFileAllocationIterator): Removed a call to disableDirectIO.
	* src/MultiFileAllocationIterator.cc (allocateChunk):
	Enable created SingleFileAllocationIterator's directIO.
	* src/FileAllocationEntry.cc
	(FileAllocationEntry): Enable directIO here.
	(~FileAllocationEntry): Disable directIO here.

	Fixed the bug: aria2 doesn't utilize fast set index offered by peer.

	Rewritten direct I/O support routine

	Fixed compile error without message digest support.

	Enable direct I/O support in checksum checking.


	Added --allow-piece-length-change option.

	Fixed: duplicated result entry appears when exception is thrown in
	RequestGroup::createInitiateConnectionCommand().
	* src/RequestGroupMan.cc (fillRequestGroupFromReserver):
	Add RequestGroup to _requestGroup after RequetGroup::
	createInitiateConnectionCommand() succeeds.

	Externalized  message


	Forced download abort when received negative response from http/ftp
	server.

	Added XML2SAXMetalinkProcessor class, which is a lot faster than
	the predecessor, Xml2MetalinkParser class.
	I tested them against 94KB metalink file with 1234 chunk checksums.
	The new one parsed it in 22msec, while it took 6000msec with old one.

	Rewritten Base64 class for better performance.

	Fixed the bug#1841757: aria2 will connect to server to only get
	file size.

	Suppressed wrong message when finding PreDownloadHandler


	Eliminated g++-4.2 warning
	Fixed bug: --check-integrity doesn't work for multi file torrent.


	Added direct I/O support. The current implementation uses O_DIRECT,
	which is not posix standard and is tested on linux 2.6.21.
	Currently only file allocation uses direct I/O.
2007-12-14 12:46:21 +00:00
bjs
5503c5a98c Update to version 0.11.5. Remove interim patches from SVN.
Changes (patches took us to ~2007-11-11):

2007-11-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	Synchronized translation files with launchpad.
	* po/fr.po
	* po/ru.po
	* po/de.po: Now utf-8 encoding
	* po/ja.po: Now utf-8 encoding

	* Release 0.11.5

2007-11-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	urlencode the given url inside Request::parseUrl(...)
	* src/Request.{h, cc}
	* src/Util.{h, cc}
	* test/RequestTest.cc

	Removed #!metalink3! notation support because it is deleted from
	the metalink specification.
	* src/Request.{h, cc}
	* test/RequestTest.cc

2007-11-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* src/SocketCore.cc (writeData): Fixed send error with GnuTLS.

2007-10-29  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* src/HttpRequest.cc (createProxyRequest): Removed urlencode from
	user-agent.
	* test/HttpRequestTest.cc (testUserAgent): Added.
2007-11-23 07:46:34 +00:00
bjs
24cd7e68e8 Sync with stable-0.11 branch. Bump rev. 2007-11-16 08:06:33 +00:00
bjs
a774c57ff4 Employ USE_FEATURES for getopt_long and snpritnf. Remove devel/libgetopt dependency. Bump rev. 2007-11-07 08:08:18 +00:00
bjs
c424663663 Update to version 0.11.4. This is almost entirely a bug-fix release.
Please see ChangeLog for changes (it's too verbose to list them here).
2007-11-02 18:27:59 +00:00
bjs
8ed291ca0f Oops, let's try that again ... now pkglint is happy. ;) 2007-10-17 09:51:14 +00:00
bjs
19daf391c0 Change libares/libcares options to ares/cares. 2007-10-17 09:50:14 +00:00
bjs
e0800a2a31 Kill PKGREVISION which remained from pkgsrc-wip. 2007-10-17 09:44:44 +00:00
bjs
0ca60cabd3 Import aria2 0.11.3 (patched to stable-0.11 branch).
aria2 is a download utility with resuming and segmented downloading.
	Supported protocols are HTTP/HTTPS/FTP/BitTorrent; it also supports
	MetaLink 3.0.

	Some of its features:

	* Command-line interface
	* Download files through HTTP/HTTPS/FTP/BitTorrent
	* HTTP Proxy support
	* FTP through HTTP Proxy
	* HTTP BASIC authentication support
	* HTTP Proxy authentication support
	* Segmented downloading
	* Download speed throttling
	* Upload speed throttling in BitTorrent
	* Cookie support
	* Load Cookies from file whose format is one used by Netscape and
	  Mozilla.
	* Run as a daemon process.
	* Selective download in multi-file torrent/metalink
	* BitTorrent Fast extension support
	* Multi-tracker support
	* Metalink version 3.0 support(HTTP/FTP/BitTorrent)
	* Chunk checksum validation in Metalink
	* Can disable segmented downloading in Metalink
	* netrc support
	* Configuration file support
	* Download URIs found in a text file or stdin
	* Parameterized URI support
2007-10-17 09:42:39 +00:00