Commit graph

85 commits

Author SHA1 Message Date
wiz
c30c5fbc0b *: recursive bump for nettle 3.5.1 2019-07-20 22:45:58 +00:00
ryoon
6fc378bce9 Recursive revbump from textproc/icu 2019-04-03 00:32:25 +00:00
adam
16dd5de231 revbump after updating textproc/icu 2018-12-09 18:51:58 +00:00
jperkin
1723c0ec86 aria2: Work around broken getaddrinfo() detection.
Resolves issue reported in joyent/pkgsrc#21.  Bump PKGREVISION.
2018-08-14 17:18:37 +00:00
ryoon
b9c1e1d533 Recursive revbump from textproc/icu-62.1 2018-07-20 03:33:47 +00:00
wiz
e5209a786e Add p11-kit to gnutls/bl3.mk and bump dependencies. 2018-04-17 22:29:31 +00:00
adam
299d329d51 revbump after icu update 2018-04-14 07:33:52 +00:00
adam
8977d31a36 Revbump after textproc/icu update 2017-11-30 16:45:00 +00:00
maya
33ebf687dc revbump for requiring ICU 59.x 2017-09-18 09:52:56 +00:00
seb
422cefdac1 Update aria2 to 1.32.0. Changes since the last upstream packaged version 1.31.0:
aria2 1.32.0
============

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

This release fixes several minor bugs, and spelling mistakes.

Changes
-------

* Clarify --max-concurrent-downloads option

  GH-833

* Fix compile error with toolchain which lacks IPV6_TCLASS

  GH-895

* Log directed URI in notice log level

  GH-884

* Fix typo

  Patch from Tse Kit Yam

  GH-879, GH-899

* Spelling fixes

  Patch from klemens

  GH-870

* Remove unused Android parts

  These parts where unused after merging
  https://github.com/aria2/aria2/pull/736

  Patch from Fredrik Fornwall

  GH-868

* Save control file early

  GH-859

* Update links in Dockerfile.raspberrypi

  Some links used in Dockerfile.raspberrypi are not accessible
  anymore, because they were pointing to old versions of some source
  packages and new versions were released.  This commit fixes this by
  changing the links to point to the newest versions.

  Patch from Michał Leśniewski

  GH-860

* Propagate disk full error on pre-allocation to last error code

  GH-856
2017-07-10 21:33:15 +00:00
adam
75a9285105 Revbump after icu update 2017-04-22 21:03:07 +00:00
leot
e6ef3bfd41 Update net/aria2 to 1.31.0
Changes:
1.31.0
------
* Better error message when local file status cannot be retrieved
  (GH-836)
* Fix assertion failure in SimpleRandomizer::getRandomBytes
* Add option content-disposition-default-utf8
  Patch from JimmyZ (GH-813)
2017-02-25 21:39:19 +00:00
ryoon
486bdc5053 Update to 1.30.0
* Update HOMEPAGE

Chagnelog:
aria2 1.30.0
============

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

This release fixes several bugs.  See Changes below for detailed bug
fixes.  This release adds an ability to expand `${HOME}` to user's
home directory in several options.  It would be useful when used in
configuration file.  -S option against torrent file now prints out DHT
nodes.

Changes
-------

* mingw: Use sqlite 3.15.2

* Fix bug that --disable-websocket causes build error

* Fix bug that lower bound of optimize-concurrent-downloads becomes 1

  GH-798

* Print DHT nodes with -S option

  GH-795

* Take into account address family when resolving DHT node address

  GH-794

* Allow block device file to -i option

  GH-785

* Expand `${HOME}` to user's home directory in several options

  The following options implement this substitution:

  * --ca-certificate
  * --certificate
  * --dht-file-path
  * --dht-file-path6
  * --dir
  * --input-file
  * --load-cookies
  * --log
  * --metalink-file
  * --netrc-path
  * --on-bt-download-complete
  * --on-download-complete
  * --on-download-error
  * --on-download-start
  * --on-download-stop
  * --on-download_pause
  * --out
  * --private-key
  * --rpc-certificate
  * --rpc-private-key
  * --save-cookies
  * --save-session
  * --server-stat-if
  * --server-stat-of
  * --torrent-file

  GH-780

* Document that libaria2 is not thread safe

  GH-775

* configure: Use pkg-config to find libs whenever possible

  Use pkg-config to find cppunit, libxml2 and expat. All those
  libraries provide pkg-config files, and in all of those cases the
  pkg-config macro is superior to the custom macros used currently.

  The advantages of pkg-config files include:

  - Explicit static linking support via --static. Currently, e.g.
    'xml2-config --libs' prints all libraries needed for static
    linking when doing dynamic linking unnecessary, resulting in
    unnecessary direct deps.

  - Better cross-build support. You don't have to build the additional
    *-config tools for target.

  - Better multilib support. Per-ABI pkgconfig directories are
    commonly supported while packages usually fail to look for
    per-CHOST *-config variants.

  - Better override support. The current macros allow little to no
    result overrides, the pkg-config macros let you pass FOO_CFLAGS
    and FOO_LIBS manually.

  - Cleaner version checks. The code used in libxml.m4 is really
    creepy.

  Patch from Michał Górny

  GH-773

* WinTLS: Rewrite writeData

  We re-wrote WinTLSSession::writeData.  The major points are:

  * Buffer is now preallocated once handshake is finished.
    Previously, they are allocated each time when we send one TLS
    record.

  * Schannel uses header, body and trailer for each secBuffer.  Now we
    send them off at once using WSASend which is windows counterpart
    of sendv.  Previously, we do memmove if some of them are
    truncated.

  * We don't try to send application data in
    WinTLSSession::closeConnection, since semantically we need same
    application data used to create TLS record before.  Using 0 length
    data to finish sending buffered data looks like a hack.

  GH-772
2017-01-01 08:42:45 +00:00
wiz
7135fcadcc Revert "Specify readline requirement on 30 packages"
Many of these definitely do not depend on readline.
So there must be a different underlying problem, and that
should be tracked down instead of papering over it.
2016-12-12 14:22:01 +00:00
ryoon
36ed025474 Recursive revbump from textproc/icu 58.1 2016-12-04 05:17:03 +00:00
marino
938dfe006b Specify readline requirement on 30 packages
Solves:
/usr/libexec/binutils225/elf/ld.gold: error: cannot find -lreadline

The missing specification is obvious on DragonFly because there's
no publically accessible version of readline in base.
2016-12-04 03:51:14 +00:00
wiz
a82aa43c18 Recursive PKGREVISION bump for gnutls shlib major bump. 2016-09-19 13:04:18 +00:00
ryoon
ac20a93574 Recursive revbump from textproc/icu 57.1 2016-04-11 19:01:33 +00:00
jperkin
17661ff9a5 Bump PKGREVISION for security/openssl ABI bump. 2016-03-05 11:27:40 +00:00
fhajny
242b1ef84e Disable epoll on SunOS, fixes build on newer platforms. 2016-02-26 16:31:50 +00:00
adam
fb02c4f640 aria2 1.19.2
Release Note
------------
This release fixes the bug that progress summary is not shown timely.

Changes
-------
* Fix bug that progress summary is not shown timely
2015-10-17 09:14:43 +00:00
ryoon
b141232e29 Recursive revbump from textproc/icu 2015-10-10 01:57:50 +00:00
wiz
1a8b91542f Bump PKGREVISION for nettle shlib major bump. 2015-08-23 14:30:35 +00:00
ryoon
8bfbcbf8ab Update to 1.18.10
* Fix "-sqlite ssl" build (pkg-config required).
* Fix -nls build (PLIST problem).

Changelog:
aria2 1.18.10
=============

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

This releases fixes several bugs reported since the last release.

Changes
-------

* Add encoding specifier to Russian man page

  Fixes GH-341

* Mingw: Use _wgetenv to get user's home directory

  Fixes GH-342

* Handle linux getrandom returning EINTR on interrupts/signals

  Also handle ENOTSUP failures where aria2 was build with linux
  headers newer than the actual running kernel.

  Fixes GH-336


aria2 1.18.9
============

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

This releases fixes memory leak with OpenSSL and crash on OSX when
proxy is used.  We added several new features.  Adler32 checksum is
now available in --checksum option and hash element in Metalink files.
We added --bt-detach-seed-only option, which excludes seed-only
downloads when counting concurrent active downloads (-j option).  We
disabled SSLv3 by default.  If you ever want to enable it or further
tune the TLS protocols to enable, use new --min-tls-version option.
--bt-force-encryption option was added to make requiring BitTorrent
full encryption easier.  From this release, we build Android binary
using API level 16.

Changes
-------

* Support HTTP date ending "+0000" as well as "GMT".

  Closes GH-330

* Revise getRandom facilities

  Use one of the following to provide random bytes:
  - Windows CryptGenRandom
  - Linux getrandom (syscall interface to urandom, without nasty
    corner cases such as file descriptor exhaustion or re-linked
    /dev/urandom)
  - std::device_random (C++ random device, which usually will be
    urandom)

  This also equalizes util::getRandom and SimpleRandomizer (the former
  will now use the latter) instead of having essentially two different
  PRNG interfaces with potentially different quality.

  Closes GH-320

* Added debug log of all Metalink URLs with final priorities

  Patch from Dan Fandrich

* Use gcc-4.9 and android-16 API level for android build

* Add --bt-force-encryption option

  This option requires BitTorrent message payload encryption with
  arc4. This is a shorthand of --bt-requre-crypto
  --bt-min-crypto-level=arc4.  If true is given, deny legacy
  BitTorrent handshake and only use Obfuscation handshake and always
  encrypt message payload. This option defaults to false.

* TLS: Fix memory leak with OpenSSL

  Based on the patch submitted by midnight2k

* Warn about insecure SSL connections.

  Fixed GH-313

* Add --min-tls-version option

  The --min-tls-version option specifies minimum SSL/TLS version to
  enable. Possible Values: SSLv3, TLSv1, TLSv1.1, TLSv1.2 Default:
  TLSv1

* LibsslTLSContext: Disable SSLv3 and enable ECDHE cipher suites

* Add Dockerfile.mingw

  Dockerfile.mingw builds aria2 Windows binary.  It is probably the
  easiest way to build the Windows binary.

* Fix crash when JSON batch response vector is empty

* Fix doc: Wrong rpc secret token prefix

* Add --bt-detach-seed-only option

  This option excludes seed only downloads when counting concurrent
  active downloads (-j option).  This means that if -j3 is given and
  this option is turned on and 3 downloads are active and one of those
  enters seed mode, then it is excluded from active download count
  (thus it becomes 2), and the next download waiting in queue gets
  started.  But be aware that seeding item is still recognized as
  active download in RPC method.

* mingw: Use MoveFileExW for better atomic move

* Work around libintl's vprintf macro messing with OutputFile::vprintf

  Patch from David Macek

* Fix crash on OSX when proxy is used

  See GH-275

* Support Adler32 checksum

  Adler32 checksum is available for --checksum option and hash element
  in Metalink files.  Currently, we use Adler32 implementation in
  Zlib.
2015-04-14 15:50:38 +00:00
adam
9071d6b787 Revbump after updating textproc/icu 2015-04-06 08:17:13 +00:00
ryoon
6ff351e208 Update to 1.18.8
Changelog:
aria2 1.18.8
============

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

This releases fixes the bug that aria2 cannot read piped stdin on
mingw32.  It also fixes busy loop on mingw32 when SSL/TLS is used.  We
also fixed 2 crashes which can occur on all platforms.

Changes
-------

* WinTLS: Fix abrupt connection closing and closing in general.

  Fixes GH-277

* LibsslTLSSession: Treat 0 from readData as EOF

* Enable dynamicbase and nxcompat in Windows binaries

* Fix crash in OpenedFileCounter::ensureMaxOpenFileLimit()

  The crash happens if PieceStorage and/or DiskAdaptor are not
  initialized in one of active RequestGroups.

* mingw32: Fix bug that aria2 does not read piped stdin

* Fix std::length_error when no_proxy is used

  This is regression introduced in 8cada497.

* Try to set sane limits for RLIMIT_NO_FILE

  E.g. on OSX the default is 256, which isn't exactly compatible with
  torrent downloads.

  Closes GH-257

* Delay auth failures instead of PBKDF2

  Closes GH-256



aria2 1.18.7
============

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

This release fixes regression which makes 100% CPU utilization in
multi-file torrent download with -V option.  It also fixes build error
on big endian platforms.

Changes
-------

* Fixed segfault unsupported encodings

  Patch from diadistis

* Fix regression 100% CPU utility when -V is used and download is
  multi-file bittorrent downloads.

  This is regression of a3426821c8a7f9cf8d80a81726157d4eb844f661

* Fix compile error on big endian platform



aria2 1.18.6
============

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

This release fixes several bugs reported in github issues and adds a
feature to make RPC authentication more resilient to certain attacks.
New option --pause-metadata is added.  The explanation is a bit log,
so check the changelog and manual.  The session is now only saved if
there are changes from the last saved state.

From this release, MinGW32 build uses Windows native TLS
implementation and no longer use OpenSSL library.

Changes
-------

* Disard cache when checking checksum

  This will slow down checksum checking but does not thrash cache.

* Compat with libuv 0.11 (Unstable)

  Fixes #241

* Drop WinMessageDigestImpl.

  The algorithms the `CryptProv` on Windows supports does not
  currently include SHA-224, so there is a "dark spot" in this
  implementation. Also on Win XP < SP3, most of the SHA-2 family is
  not actually supported.  All other implementation provide support
  for MD5, SHA-1 and all of the SHA-2 family, hence drop the
  incomplete WinMessageDigest implementation in favor of any other
  supported implementation (at least the internal implementation is
  always available at compile-time).

* Add --pause-metadata option

  This option pauses downloads created as a result of metadata
  download. There are 3 types of metadata downloads in aria2: (1)
  downloading .torrent file. (2) downloading torrent metadata using
  magnet link. (3) downloading metalink file.  These metadata
  downloads will generate downloads using their metadata. This option
  pauses these subsequent downloads.

* Improve compiler/platform/libs information in logs

  Add and use usedCompilerAndPlatform().  This adds compiler
  information to INFO logs and the --version output, and may be
  helpful when trying to diagnose/reproduce user-reported problems.

  Also make INFO logs include usedLibs() output.

  Closes #235

* Fix use-after-free on exit with multi-file torrent download + DHT

  DefaultPieceStorage may be referenced by one of DHT task (e.g.,
  DHTPeerLookupTask), after RequestGroup was deleted, and even after
  RequestGroupMan was deleted.  DefaultPieceStorage has a reference to
  MultiDiskAdaptor which calls RequestGroupMan object on destruction.
  So when DHT task is destroyed, DefaultPieceStorage is destroyed,
  which in turn destroys MultiDiskAdaptor.  DHT task is destroyed
  after RequestGroupMan was destroyed, MultiDiskAdaptor will use now
  freed RequestGroupMan object, this is use-after-free.

* Fix bug that zero length file is not opened when flushing cache

  This bug was only seen when MultiDiskAdaptor was used.

* Support PREF_DIR change for Metalink files

  Reworked previous commit adeead6f0396e2f8551d1182972e277728fd6c8b,
  and now support changing PREF_DIR for Metalink downloads.

* Fix assertion failure when dir option of paused HTTP/FTP download is
  changed

  When the directory is changed via aria2.changeOption RPC method, we
  directly change first FileEntry's path using FileEntry::setPath().
  If there is no PREF_OUT option is given, basically file name is
  unknown, so we just set empty string and let the next run determine
  the correct file name and new directory is applied there.  But
  previous code does not reset length property of FileEntry, so the
  unexpected code path is taken when unpaused and its path expects
  path is not empty string.  This commit fixes this issue by setting
  length to 0 using FileEntry::setLength().

* Save session only when there is change since the last serialization

  This is a slight optimization not to cause useless disk access.
  This only applies to saving session automatically (see
  --save-session-interval).  aria2.saveSession and serialization at
  the end of the session are always performed as before.

  When serialization, we first check that whether there is any change
  since the last serialization.  To do this, we first calculate hash
  value of serialized content without writing into file.  Then compare
  this value to the value of last serialization.  If they do not
  match, perform serialization.

* Fix (unknown length) downloads larger than 2GiB

  Closes #215

* Fix F_PREALLOC based allocation on some OSX versions

* Use index.html as filename for conditional-get when file is missing
  in URI

  Previously we disabled conditional-get if file part is missing in
  URI.  But we use constant string "index.html" in this case, so we
  can do the same to determine the modification time.  In this patch,
  if we have file part in URI, we are not going to set absolute file
  path in FileEntry, since it prevents content-disposition from
  working.

* Always add README.html to dist_doc_DATA

  rst2html is required to produce README.html from README.rst.  We
  include generated README.html to distribution.  And rst2html is not
  required when compiling sources in distribution and always
  README.html is available.

* Validate token using PBKDF2-HMAC-SHA1.

  This change should make token validation more resilient to:
  - timing attacks (constant time array compare)
  - brute-force/dictionary attacks (PBKDF2)

  Closes #220

* Add --disable-websocket configure option

* mingw32: Enable wintls and compile with GMP

  By enabling wintls, we can use Windows certificate store to validate
  server's certificate.  Previously, we built windows build using
  openssl and since we don't bundle CA certificates, aria2 fails to
  validate server's certificate unless user setups their CA
  certificates.  GMP provides fast big integer calculations, whic is
  used in BitTorrent encryption.

* AppleTLS: Enable BEAST mitigations in ST

  Only available in 10.9+, but since we might be building on a
  previous version but running on 10.9+, always try to set the option.

* WinTLS: Accept chains with no revocation information.

  This is kind what browser do anyway (IE, Firefox, Chrome tested),
  what AppleTLS does, what GnuTLS does and what OpenSSL
  does. Actually, most browsers will also be OK with the CRL/OCSP
  provider being offline.  WinTLS will still fail in that case.

  Should revocation information be available in the trust chain (CRL
  or OCSP) the certificate still will be checked!

  "Real" CAs, aka. those provided by the OS or system CA bundle,
  usually provide revocation information and are thus still checked.
  It should be mostly (only?) custom (organization) CAs that lack
  revocation information, but those users might want to use aria2 in
  their intranets and VPNs anyway ;)

  See #217

* Fix GnuTLS 2.x compatiblity

  Closes GH-216

* AppleTLS: Use newer, non-deprecated API in 10.8+



aria2 1.18.5
============

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

This release fixes BitTorrent download failure on Mingw build.

Changes
-------

* Ignore error when setting DSCP value

  Setting DSCP is additional feature and failure to enable it should
  not abort download entirely.  This change fixes the bug that windows
  build does not perform bittorrent downloads.
2014-12-31 01:38:11 +00:00
adam
243c29c4cc Revbump after updating libwebp and icu 2014-10-07 16:47:10 +00:00
obache
d8fc20e0b0 recursive bump from icu shlib major bump. 2014-04-09 07:26:56 +00:00
ryoon
b5ac48de64 Reduce GCC_REQD. Thank you, richard@. 2014-03-29 06:04:41 +00:00
ryoon
99402ed19b Update to 0.18.4
Changelog:

aria2 1.18.4
============

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

This release adds new RPC authorization mechanism using --rpc-secret
option.  The existing --rpc-user and --rpc-passwd options are now
deprecated, and all applications using RPC API is strongly encouraged
to migrate to the new mechanism.  See RPC INTERFACE section in aria2
manual page for the details.  The new RPC method, aria2.saveSession,
was added, which tells aria2 server to save session file immediately.
There are several enhancements and bug fixes.  See the changes for the
details.

Changes
-------

* Added support for RPC channel encryption in aria2rpc

  Patch from David Macek

* Add aria2.saveSession RPC method

  This method saves the current session to a file specified by
  --save-session option. This method returns "OK" if it succeeds.

* Add numStoppedTotal key to aria2.getGlobalStat() RPC method response

  It shows the number of stopped downloads in the current session and
  not capped by --max-download-result option. On the other hand, the
  existing numStopped key also shows the number of stopped downloads,
  but it is capped by --max-download-result option.

* Better handling of 30x HTTP status codes

  Reference: http://greenbytes.de/tech/tc/httpredirects/

* Implement new RPC authorization using --rpc-secret option

  Add future deprecation warning to --rpc-user and --rpc-passwd.  Warn
  if neither --rpc-secret nor a combination of --rpc-user/rpc-passwd
  is set.

* Add --enable-color option to enable/disable terminal color output

* Add DSCP support

* gnutls: Don't fail handshake if returned error is not fatal

* Add workaround GnuTLS bug with OCSP status extension and
  non-blocking socket

  GnuTLS version 3.1.3 - 3.1.18 and 3.2.0 - 3.2.8, inclusive, has this
  bug. For these versions, we disable OCSP status extension.

* Make GnuTLS log level dependent on the aria2 ones


aria2 1.18.3
============

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

This release fixes the bug which may cause assertion failure after
multi-file downloads (e.g., multi-file metalink or torrent) are
performed several times due to the bad handling of --bt-max-open-files
option.

Changes
-------

* Fix crash if unpause failed before assigning BtProgressInfoFile
  object

* Enable and check PIE in makerelease-osx

* Fix bug that numOpenFile_ is not reduced when MultiDiskAdaptor is
  deleted

  This bug caused assertion error in
  RequestGroupMan::ensureMaxOpenFileLimit
2014-03-29 04:15:09 +00:00
jperkin
56cb9a056e GCC_REQD should be appended to, not set.
Fixes issues where a newer GCC has been chosen by the user but the GCC_REQD
was forcing an older (and broken) one to be pulled regardless.
2014-02-19 09:44:56 +00:00
tron
73d05e2276 Recursive PKGREVISION bump for OpenSSL API version bump. 2014-02-12 23:17:32 +00:00
ryoon
e4e18efa84 Remove obsolete patch 2014-01-10 11:33:13 +00:00
ryoon
46b357ef9c Update to 1.18.2
* This package requires gcc 4.7 later from pkgsrc

Changelog:
aria2 1.18.2
============

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

This release fixes the wrong handling of return value of fork(), which
leads to high CPU usage. The progress readout has some color output.
Mingw32 build now receives colorized output. Mingw32 build now can
read unicode command-line arguments. The build script of OSX was
rewritten. The --bt-max-open-files now limits the number of opened
file globally for multi-file downloads instead of per download basis.

Changes
-------

* Remove the outdated, broken build_osx_release.sh

* Initial revision of the a new OSX release Makefile

* Allow using libgmp with AppleTLS/WinTLS

* Fix crash when metaurl contains unsupported URI or text

* Fix bad fork() return value handling

* Use some colors in progress reports (where available)

* Implement basic color support for the Windows console

  Only \033[*m (SGR) is supported, with a 16+16 color terminal.

* AppleTLS: Implement PKCS12 loading.

* Limit number of opened file globally with --bt-max-open-files option

  This change changes the behavior of --bt-max-open-files. Previously,
  it specifies the maximum number of opened files for each multi-file
  download. Since it is more useful to limit the number globally, the
  option now specifies the global limit. This change suggests that
  aria2.changeOption() method now ignores --bt-max-open-files and
  aria2.changeGlobalOption now reads it and dynamically change the
  limit.

* Don't fail multiple concurrent dl same file if auto-file-renaming is
  enabled

* mingw32: Use CommandLineToArgvW() and GetCommandLineW() to read
  cmd-line args

  This change enables aria2 to read unicode characters in
  command-line.



aria2 1.18.1
============

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

This release fixes the percent-encoding bug which affects file name
encodings. It adds PKCS12 support in certificate import. It also adds
experimental internal implementation of message digest functions, ARC4
cipher and bignum. It means that no external libraries are required to
build BitTorrent support, but this feature is still marked as
experimental. This release also fixes the android build with NDK r9.

Changes
-------

* LibsslTLSContext: Remove weak cipher suite

* AppleTLS: Enable --certificate

* util::percentEncodeMini: Fix regression bug removed unsignedness

  srange-based for around std::string is convenient but several
  functions depend unsigned char for correctness and readability.

* Log exception; throw error if loading private key and/or certificate
  failed

* Provide internal ARC4 implementation

  Now you can build bittorrent support without without external
  libraries, meaning you can skip libnettle, libgmp, libgcrypt, GnuTLS
  and OpenSSL on OSX (for now).

* Internal implementation of DHKeyExchange

  Reusing a bignum (well, unsigned very-long) implementation I had
  lying around for years and just cleaned up a bit and brought to
  C++11 land.

  It might not be the most performant implementation, but it shoud be
  fast enough for our purposes and will go a long way of removing
  gcrypt, nettle, gmp, openssl dependencies when using AppleTLS and
  WinTLS (upcoming).

* PKCS12 support in --certificate and --rpc-certificate options.

* Add --disable-ssl configure option

* Add internal md5 and sha1 message digests

* Fix AppleMessageDigestImpl use with large data

* Set old cookie's creation-time to new cookie on replacement

  As described in http://tools.ietf.org/html/rfc6265#section-5.3

* Fix link error with Android NDK r9

  Since Android ndk r9, __set_errno is deprecated. It is now defined
  as inline function in errno.h. The syscall assembly calls
  __set_errno, but since libc.so does not export it, the link
  fails. To workaround this, replace all occurrences of __set_errno
  with a2_set_errno and define it as normal C function.



aria2 1.18.0
============

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

This release changes the default disk cache size to 16 MiB. To change
the default size, --with-disk-cache configure option was added.  Now
used URIs are also saved by --save-session option. The control file is
now always saved if --force-save is given. The ctrl-c handling on
Mingw build was improved. The internal intl library is no longer
supplied. From this release, C++11 compiler is required to build aria2
executable. For gcc, at least 4.6.3 is required.

Changes
-------

* Use AM subdir-objects

  Doing so in AM_INIT_AUTOMAKE seems to be the most compatible way of
  doing so.

  Closes GH-120

* AM_SILENT_RULES([yes]) with backwards-compatiblity

  Supported since automake-1.11. There is no point in having the very
  verbose compile stuff running about, which cannot even silenced
  properly with `make -s` by default. Otherwise, `make V=1` or
  `--disable-silent-rules` are your friends

* Fix automake-1.14 am_aux_dir

  AC_USE_SYSTEM_EXTENSIONS will cause AC_PROG_CC, which is overridden
  by automake-1.14, which will then init (part) of automake, in
  particular am_aux_dir expansion, which in turn relies on ac_aux-dir,
  which is not initialized at this point, and thus: certain doom (or
  fun, depending on your POV and mood :p)

  Hence call AC_USE_SYSTEM_EXTENSIONS only after
  AM_INIT_AUTOMAKE. This, of course, caused a lot of related macro
  shuffling.

  Tested against automake-1.10 (OSX Lion/XCode version) and
  automake-1.14 (homebrew version)

* Require external gettext for --enable-nls

  And stop using the internal flavor with ./intl

* Make AX_CXX_COMPILE_STDCXX_11 test for -stdlib=libc++ via std::shared_ptr

  The clang shipped with OSX XCode and clangs not build enabling
  libcpp, will default to the libstdc++ headers and lib installed on
  the system.  In the OSX case, that libstdc++ is the one bundles with
  gcc-4.2, which is far too old to provide all required C++11 types,
  such as std::shared_ptr.  Hence, the C++11 check should try to
  compile a program with a C++11 type and try -stdlib=libc++ if the
  default lib fails to compile said program.

* Make the configure check for C++11 compiler mandatory

  Remove stray "dnl", so that mandatory actually works with (my)
  autoreconf.

* Always build doc/manual-src

  Should sphinx-build be not available AND the man file not be prsent,
  then just "touch" it into existence (and warn about that)

* Win: Use SetConsoleCtrlHandler for SIGINT/SIGTERM

* Implement a simple resource lock (threading)

  In this initial implementation Locks are no-ops on platforms other
  than Windows.

* Check for sphinx-build during configure

* Add --with-disk-cache configure option

  Enables packagers more fine grained control over the default value
  without having to mess with config files.

  See GH-115

* Change defaults: Enable 16M disk cache by default.

* Always save control file if --force-save is given

* Set log level DEBUG for unittests

* Check that C++ compiler supports override keyword

  If the compiler supports override, define CXX11_OVERRIDE as
  override, otherwise define it as empty. Use CXX11_OVERRIDE instead
  of override.

* AppleTLS: Fix MessageDigestImpl

* AppleTLS: Fix session CFRelease stuff

* Use AX_CXX_COMPILE_STDCXX_11 macro to detect C++0x/C++11 support in
  compiler

* Require -std=c++11 and use std::shared_ptr instead of SharedHandle

* Join URI on redirect

* Send HAVE message to the peer which the piece is downloaded from

  Historically, aria2 did not send HAVE message to the peer which the
  piece is coming from, thinking it is obvious that the peer knows we
  have the piece. But it is not obvious if one piece is download from
  more than 1 peers (e.g., end game mode). So it is better to send
  HAVE to all peers connected.

* Improvements to --follow-torrent=false documentation.

  Patch from gt

* SessionSerializer: Truly unique URIs

  Before, only spent uris where sanitized not to be contained within
  remaining uris. Change this so that each uri in the
  union(remaining,spent) get saved once at most.  The order of the
  uris will won't be changed, with remaining uris going first followed
  by spent uris.

  Also avoid copying the uri std::strings around during dupe checking,
  usually resulting in better performance regarding CPU and space.

* Make getOption RPC method return option for stopped downloads

* SessionSerializer: Save spent URIs as well as remaining ones
2014-01-08 16:32:30 +00:00
adam
63c018902c Revbump after updating textproc/icu 2013-10-19 09:06:55 +00:00
rodent
3ea52c71c2 Make NLS optional and move it to options.mk, but enabled by default. Move
gettext-lib dependency to that option. Buildlink libiconv and pthread.
USE_TOOLS+=bison msgfmt msgmerge xgettext. USE_LIBTOOL=yes.
Bump PKGREVISION.
2013-07-14 15:03:14 +00:00
ryoon
2359abe539 Update to 1.17.1
Changelog:

aria2 1.17.1
============

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

This release adds large file support for Android build and libuv
support for event polling mechanism. AppleTLS now supports Snow
Leopard (10.6). The experimental libaria2 C++ library API was added.

Changes
-------

* Add code to detect rst2html.py or rst2html

* AppleTLS: Properly support Snow Leopard (10.6)

  Tested on 10.6.8 + XCode 4.2 (llvm-gcc-4.2, clang)

  Contributed by Nils Maier

* Enable multicast loopback in BitTorrent local peer discovery

* Enable TLS1.1 with gnutls build

* Support off64_t for Android build

  Android NDK R8e does not provide ftruncate64, but bionic has the
  assembler code to access kernel function. We borrowed those
  ftruncate64.S files from android source code repository.  It turns
  out that x86 asm.h in NDK R8e is also broken, so latest asm.h was
  also borrowed.

* Check zlib availability usin AC_CHECK_LIB

  This is workaround for zlib 1.2.3 which does not come with
  pkg-config file.

* Treat response is completed if EOF is received before streamFilter
  completes

  This fixes the error with web server which has buggy chunked
  encoding.

* uitos: Fix off-by-one error bug

* Add configure support for linking tcmalloc_minimal and/or jemalloc

  Both tcmalloc_minimal and jemalloc outperform the native malloc
  implemention on Windows (MSVCRT) in terms of committed memory
  consumption (~-30%) and performance (e.g. far less page faults,
  ~-60%), depending, of course, on the actual workload.  The longer
  the download queue, the bigger the impact ;)

  On *nix the picture is a little different... tcmalloc usually still
  outperforms the native malloc implementation, but not that
  significantly than on Windows. jemalloc however is only marginally
  better than recent native Linux implementations, while it is already
  used by some BSD as the native allocator.

  tcmalloc is part of gperftools and very mature and tested by now. It
  doesn't work on OSX in the default configuration, however.
  http://code.google.com/p/gperftools/

  jemalloc is the default allocator at least on FreeBSD and NetBSD and
  used in Firefox.  http://www.canonware.com/jemalloc/index.html

  Contributed by Nils Maier

* Close GZipFiles in the d'tor

  Contributed by Nils Maier

* Add libaria2, C++ library interface to aria2

  The libaria2 is a C++ library and offers the core functionality of
  aria2. The library takes care of all networking and downloading
  stuff, so its usage is very straight forward right now. See
  libaria2ex.cc in examples directory to see how to use API. By
  default, libaria2 is not built. See libaria2 section in README to
  how to enable it.

  The APIs in this release is considered experimental.

* Add missing check for sigaction

* Fix cached data is not flushed when downloaded data is less than
  16KiB

* LibUV: Implement LibuvEventPoll

  LibUV event will use the best available polling method on a system,
  kind of like aria2 does already with the different *EventPoll
  implementations.  However, libuv may support different/newer polling
  mechanisms; for example on Windows it will use IO Completion Ports
  which are superior to select() ;)

  Contributed by Nils Maier



aria2 1.17.0
============

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

This release adds Mac OS X native SSL/TLS library support.  The IPv6
asynchronous DNS is enabled by default and A/AAAA lookups are done in
parallel. The simple Happy Eyeballs algorithm was implemented to
mitigate long timeout when connecting to IPv6 host on dual-stack host.
--save-session option only saves the options specified by command-line
or RPC.

Changes
-------

* Updated Russian manual

  Contributed by ITriskTI

* Updated Portuguese manual

  Contributed by Gilberto dos Santos Alves

* Append --static to pkg-config arguments when ARIA2_STATIC=yes

* Save options directly specified for download in --save-session

  This change makes --save-session save only options specified for
  download, more specifically, options in command-line, -i file and
  via RPC. The other options from conf file and default values are not
  saved.  This will drastically decrease the size of session file.

* Save URI returned only from FileEntry::getRemainingUris()

  The currently used URIs are inserted back into remaining URI list in
  FileEntry::putBackRequest(), which overlaps to some of the URIs in
  spentUris_. If we save spent URIs, each time save is performed, the
  number of URIs are increased due to this overlap. This change fixes
  this bug.

* Print linked 3rd party libraries with version in `aria2c -v` output

* AppleTLS: Support credentials via KeyChain fingerprints

  Contributed by Nils Maier

* AppleTLS: Implement AppleTLS and Apple Message Digest

  Contributed by Nils Maier

* Use info level log for system trusted ca imports failure

  This is because on some platforms (gnutls on cygwin for example),
  library always fails for this function and getting ERROR every time
  aria2c invoked is too hard.

* Don't add Windows native DLLs for Cygwin build

* Remove deprecated options: --enable-direct-io and --metalink-servers

* Deprecate --enable-async-dns6

  The IPv6 asynchronous name resolver is enabled if the host has at
  least one interface with IPv6 address configured (the loopback
  address will not be counted), which is roughly the same behaviour of
  the standard getaddrinfo(3). To disable IPv6 asynchronous name
  resolver, use --disable-ipv6.

* Fix uninitialized UDPTrackerClient::numWatchers_

* Implement simple Happy Eyeballs for HTTP/FTP downloads

* Parallel A and AAAA record lookups with c-ares

  But we don't wait for AAAA query response if A query response has
  been received.  If we got IPv4 lookup response, we don't wait for
  IPv6 lookup response. This is because DNS server may drop AAAA query
  and we have to wait for the long time before timeout. We don't do
  the inverse, because, based on todays deployment of DNS server,
  almost all of them can respond A query just fine.
2013-06-09 02:11:34 +00:00
adam
1ab43a036f Massive revbump after updating graphics/ilmbase, graphics/openexr, textproc/icu. 2013-05-09 07:39:04 +00:00
joerg
51c09e6a6a size_type is a trait of the container, not the iterator. 2013-05-04 12:50:38 +00:00
ryoon
f6e3734466 Update to 1.16.4
Changelog:

aria2 1.16.4
============

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

This release fixes the bug that active downloads are not saved with
--save-session-interval and the bug that aria2 hangs when size of
download result exceeds its maximum. BitTorrent UDP tracker support
was added. If the filename specified using --save-session ends with
".gz", aria2 stores the session file in gzipped form. The -i option
can handle this gzipped file as well as plain text file. 1.15.2 based
Portuguese translated manual was added.

Changes
-------

* Make configure argument meaning more consistent and obvious.

  Most other software uses --disable/--without for features it does
  build or at least check by default.

  Change aria2 configure options so that:

  * --enable-*: do not build by default, unless --enable specified
  * --disable-*: check and build by default, unless --disable specified
  * --with-*: do not use by default, unless --with specified
  * --without-*: check and use by default, unless without specified

  Contributed by Nils Maier

* Allow for out-of-tree Sphinx builds

  Contributed by Nils Maier

* Bring back datetime in console log

* Run checksum check if -V and -c are used and file is completed

  With -c option, aria2 can continue download after the existing file
  position. If it is not completed, then after completion aria2 runs
  checksum checking if available. But if existing file has already
  been completed, then CreateRequestCommand exits without issuing
  checksum checking. And aria2 treats it download error because it
  needs checksum verification but it has not been done. This change
  fixes this by properly checking download state and issue checksum
  checking before CreateRequestCommand.

* Support for gzipped -i and --save-session

  Saved sessions may very large, as in hundreds and even thousands of
  megabyte when dealing with large queues.  Add support to save and
  reload sessions to gzipped files, when libz is available.

  The session serializer will output gzipped contents when the file
  ends with .gz, while the input file reader (UriListParser) will
  accept whatever is thrown at it.

  Document -i/--save-session gzip behaviour

  Contributed by Nils Maier

* Do not use a virtual varargs function

  This stuff breaks in some compiler (configurations)

  Contributed by Nils Maier

* Check for sys/signal.h and/or signal.h

  mingw-w64 does not actually have sys/signal.h, while OSX currently
  has a broken signal.h Better check the presence of both and use
  sys/signal.h if present, else signal.h

  Contributed by Nils Maier

* Hygiene: Fix some clang warnings, mostly unused private members.

  Contributed by Nils Maier

* Fix bustage on OSX with ./configure CC=cc CXX=c++ (clang)

  Contributed by Nils Maier

* Do not reference RequestGroups longer than necessary

  There is an initial vector of SharedHandle<RequestGroup> to seed the
  DownloadEngine. This vector was however kept alive via main.cc ->
  MultiUrlRequestInfo up until the program exits, hence effetively
  leaking all initial RequestGroups and associated object instances.

  Hence, as a matter of dirty-workaround, drop the contents of that
  initial vector as soon as it is not required any longer.

  Contributed by Nils Maier

* Detect console with on Windows

  Contributed by Nils Maier

* Fix infinite loop when size of downloadResults_ exceeds maxDownloadResult_

* Support BitTorrent UDP tracker

  It shares UDP listening port with IPv4 DHT. At the moment, in order
  to enable UDP tracker support, enable IPv4 DHT.

* Show correct end byte in error message when HTTP response range is not ok

  Previously, unless HTTP pipelining is enabled, end byte in that
  message is always 0. With this change, it shows correct end byte
  sent to the HTTP server.

* Add Portuguese manual

  This translation is based on aria2 version 1.15.2 manual.
  Contributed by Gilberto dos Santos Alves

* Fix bug that active downloads are not saved with --save-session-interval
2013-03-19 15:48:29 +00:00
ryoon
be78a11887 Update to 1.16.3
Changelog:
aria2 1.16.3
============

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

This release fixes the bug which causes random crash. It also fixes
socket option setting failure on Windows platform.

Changes
-------

* Fix failure to set TCP_NODELAY on Windows

  On Windows setting TCP_NODELAY after non-blocking connect fails at
  least on Windows 7.

* Fix invalid iterator handling when deleting RequestGroup

aria2 1.16.2
============

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

This release fixes the bug which causes long running BitTorrent
download to stall. The several new options have been added.

Changes
-------

* Check SSL_OP_NO_COMPRESSION is available before using it

* Fix bug returnPeer is not called if sequence_ == INITIATOR_SEND_KEY

  In InitiatorMSEHandshakeCommand, when aborting connection, we must
  return peer to the PeerStorage. But it is not done if sequence_ is
  INITIATOR_SEND_KEY. This causes stale Peer objects whose usedBy()
  returns true eventually occupies peer list and aria2 cannot make any
  connections.

* Accept k and m as well as K and M in util::getRealSize()

* mingw32: Make NTFS sparse file on --file-allocation=trunc

* Added --save-session-interval option

  --save-session-interval option saves error/unfinished downloads to a
  file specified by --save-session option every SEC seconds. If 0 is
  given, file will be saved only when aria2 exits.

* Use request URI as referer if --referer="*" is given

* Log warn if unknown option is found in config file or -i file

* Added --console-log-level option

  --console-log-level option sets log level to output to console.
2013-02-24 15:03:08 +00:00
jperkin
becd113253 PKGREVISION bumps for the security/openssl 1.0.1d update. 2013-02-06 23:20:50 +00:00
adam
f4c3b89da7 Revbump after graphics/jpeg and textproc/icu 2013-01-26 21:36:13 +00:00
ryoon
281970387b Update to 16.0.1
Changelog:
aria2 1.16.1
============

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

This release adds the ability to persist GID across sessions. The GID
will be saved with --save-session. There are several restrictions how
GID is persisted. See the manual for details. For this change, now GID
is 64 bits binary data and represented by 16 characters hex string in
RPC query.  The disk cache feature was added, which may reduce disk
activity. The console readout was redesigned. The warning displayed
when --file-allocation=falloc is used on MinGW32 build was removed as
a bug.

Changes
-------

* mingw32: Re-open files with read-only mode enabled on seeding

  On Mingw32 build, if aria2 opens file with GENERIC_WRITE access
  right, some programs cannot open the file aria2 is seeding. To avoid
  this situation, re-open files with read-only enabled when seeding is
  about to begin.

* Save gid option with --save-session option

* Added --gid option

  This option sets GID manually. aria2 identifies each download by the
  ID called GID. The GID must be hex string of 16 characters, thus
  [0-9a-zA-Z] are allowed and leading zeros must not be stripped. The
  GID all 0 is reserved and must not be used. The GID must be unique,
  otherwise error is reported and the download is not added.  This
  option is useful when restoring the sessions saved using
  --save-session option. If this option is not used, new GID is
  generated by aria2.

* Use 64 bits random bytes as GID

  This change replaces the current 64 bit sequential GID with 64 bits
  random bytes GID in an attempt to support persistent
  GID. Internally, the GID is stored as uint64_t. For human
  representation and RPC interface, GID is represented as 16 bytes hex
  string. For console readout, 16 bytes are too long, so it is
  abbreviated to first 6 bytes.  When querying GID in RPC calls, user
  can speicfy the prefix of GID as long as the prefix is shared by
  more than 1 GID entries.

* Fixed BitfieldMan::getOffsetCompletedLength overflow on 32-bit systems

* mingw32: Use HANDLE only for MinGW32 build

* Changed console readout, making it more compact

  "SIZE:" is removed because it is obvious. SEEDING, SEED, SPD and UP
  are now replaced with SEED, SD, DL and UL respectively.

* Compact readout when more than 1 simultaneous downloads are going on

  If more than 1 simultaneous downloads are going on, use more compact
  format in readout. Currently, at most 5 download stats are
  displayed.

  util::abbrevSize() is rewritten to support "Gi" unit and provides
  more compact abbreviation.

* Console color output

  Log level and download result string is now colored.

* Logger: Simplified console output and change level format in log

  The date and time are now removed from console output.  The log
  level is now formatted as "[LEVEL]".

* Start to find faster host before the number of missing segments becomes 1

  The old implementation starts to find faster host when the number of
  missing segment becomes 1. Because of --min-split-size option,
  before the number of missing segment becomes 1, the number of
  connection becomes 1 and it can be slow. In this case, we have to
  wait until the last segment is reached. The new implementation
  starts to find faster host when the remaining length is less than
  --min-split-size * 2, to mitigate the problem stated above.

* Removed warning when --file-allocation=falloc is used in MinGW32 build

  The warning was just a mistake. SetFilePointerEx + SetEndOfFile
  actually allocate disk space.

* Write data in 4K aligned offset in write with disk cache enabled

  This greatly reduces disk activity especially on Win + NTFS.  Not so
  much difference on Linux.

* mingw32: Removed FSCTL_SET_SPARSE set

* Added --disk-cache option

  This option enables disk cache. If SIZE is 0, the disk cache is
  disabled. This feature caches the downloaded data in memory, which
  grows to at most SIZE bytes. The cache storage is created for aria2
  instance and shared by all downloads. The one advantage of the disk
  cache is reduce the disk seek time because the data is written in
  larger unit and it is reordered by the offset of the file. If the
  underlying file is heavily fragmented it is not the case.
2013-01-02 13:45:34 +00:00
ryoon
c1a597cada Update to 1.16.0
changelog:
aria2 1.16.0
============

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

This release adds SSL/TLS encryption support in RPC transport. The new
RPC method aria2.appendUri is added, which is a wrapper to
aria2.changeUri. The Content-Disposition parser is now RFC 6266
conformant. The resource leak in XmlParser, JSON and Bencode parser
was fixed. The uploaded data size calculation bug was fixed. For
MinGW32 build, files are now opened with read/write shared mode.

Changes
-------

* mingw32: Open file using _wsopen and added --enable-mmap support

  I tried CreateFile but the subsequent ReadFile fails with Access
  Denied if sparse file is read on NTFS. I mostly reverted previous
  changes and use _wsopen with read/write share enabled instead of
  CreateFile.

  This change also includes --enable-mmap support for MinGW32
  build. Memory mapped file may be useful for 64-bits OS and lots of
  RAM. Currently, FlushViewOfFile is not called during the download,
  so it is slightly vulnerable against sudden power loss. I found lots
  of read when resuming download due to page fault. So for now it is
  useful for the initial download. I recommend not to use
  --file-allocation=prealloc with --enable-mmap for MinGW32, because
  it triggers page faults even in the initial download. Anyway, the
  option is experimental.

* Removed PO files and generated aria2.pot from repository

  Currently, message translation is done at launchpad.  All PO files
  can be exported from there. The merge process from launchpad is done
  when new release. First download export file from launchpad And use
  import-po script to import PO files into po directory.

* Set F_GLOBAL_NOCACHE for Mac OS X

* Enabled TCP_NODELAY

* Don't use AC_FUNC_MMAP

  Don't use AC_FUNC_MMAP becaue it fails on some platforms (e.g.,
  OpenWRT) which have mmap and it works in the way we use in aria2.
  Instead use mmap in AC_CHECK_FUNCS list.

* Added --force-save option.

  --force-save option saves download with --save-session option even
  if the download is completed or removed. This may be useful to save
  BitTorrent seeding which is recognized as completed state.  The
  default value is false.

* Get the correct uploaded data size

  Subtract msgHdrLen_ from writtenLength to get the uploaded data
  size.  Without this correction, the seeder assumes it has uploaded
  more data than it actually has.

* Made --http-no-cache false by default

* Fixed memory leak in AsyncNameResolver

* Fixed resource leak in XmlParser and GenericParser

* Reset iostream format state

* gnutls: Added more status checking when verifying peer

* Content-Disposition parser conforming to RFC 6266.

  RFC 2231 Continuation is not supported.

* Reworked download/upload statistics calculation

  The old implementation calculates download/upload statistics for a
  RequestGroup by summing up all PeerStat objects. For global
  statistics, those are summed together. This clearly incurs runtime
  penalty and we introduced some kind of caching which updates
  statistics every 250ms but it did not work right.

  This change removes all these aggregation code, and instead makes
  RequestGroup and RequestGroupMan objects hold NetStat object and
  download/upload bytes are directly calculated by thier own NetStat.
  This is far more simplar than the old way and less runtime penalty
  and brings more accuracy.

* Added --rpc-save-upload-metadata option

  If true is given, which is default, save the uploaded torrent or
  metalink metadata in the directory specified by --dir option. The
  filename consists of SHA1-hash hex string of metadata plus
  extension. For torrent, the extension is '.torrent'. For metalink,
  it is '.meta4'.  If false is given to this option, the downloads
  added by aria2.addTorrent or aria2.addMetalink will not be saved by
  --save-session option.

* Perform SSL/TLS handshake after checking whether connection is established

* Fixed bug that --enable-mmap won't work if MultiDiskAdaptor is used

* RPC over SSL/TLS transport

  To enable RPC over SSL/TLS, specify server certificate and private
  key using --rpc-certificate and --rpc-private-key options and enable
  --rpc-secure option.  After the encryption is enabled, use https and
  wss scheme to access RPC server.

* aria2rpc: Added appendUri command

  This command calls aria2.changeUri(GID, fileIndex, [], [URI,...])
  internally.

* Don't send Proxy-Connection header field

* Don't set SNI hostname if it does not include "." for GNUTLS

* Disable SSL/TLS compression with OpenSSL

* Pause download even if download is completed

  This allows to pause and unpause BitTorrent seed.

* Use execlp() instead of execl()
2012-12-09 08:10:46 +00:00
asau
e059e7e469 Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days. 2012-10-23 17:18:07 +00:00
ryoon
58a24ce5bd Update to 1.15.2
Changelog:

aria2 1.15.2
============

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

This release fixes several critical bugs. It also adds new features
such as TLS SNI and CORS support. The --file--allocation option now
take another value trunc. The new option --enalbe-mmap was added.
aria2 now uses system-wide SSL/TLS certificates by default, which
eliminates the requirement to specify --ca-certificate option.

Changes
-------

* Catch exception from Socket::getPeerInfo() when pooling connection.
  Socket::getPeerInfo() may fail if its TCP connection has already
  disconnected. In this case, we log this error. The success or
  failure of pooling connection should not affect the later execution
  of the program. This bug may cause segmentation fault if
  Socket::getPeerInfo() throws exception during pooling connection
  after successful tracker request.

* Fixed assertion error if --retry-wait is used.  In
  CreateRequestCommand, if Request object returned from getRequest()
  is still sleeping, CreateRequestCommand pools it back but still
  holds its reference. This makes assertion error in
  UnknownLengthPieceStroage::hasMissingUnusedPiece() from
  AbstractCommand::execute().

* Added new file allocation method called 'trunc'. --file-allocation
  option can now take new value 'trunc'. 'trunc' uses ftruncate()
  system call or platform-specific counterpart to truncate a file to a
  specified length.

* Use int64_t instead of off_t.  Using off_t, at least, in DiskAdaptor
  layer is problematic because torrent can contain under 2GiB files
  but total sum of those files may exceed 2GiB limit, which makes
  off_t overflow in 32 bit system without large file support. So we
  use int64_t in API. We'll check the file length before download so
  that it does not exceed max off_t.

* Added TLS SNI support.

* Rewritten timegm replacement function.  The algorithm is based on
  Python 2.7 calendar.timegm.

* Use system-wide certificates for SSL.  Use system-wide certificates
  for SSL.  For GnuTLS it requires the latest version, 3.0.20. OpenSSL
  had it for longer.  This means that if SSL library is properly
  configured to locate system-wide certificates store, the user don't
  have to use --ca-certificate option. Also packagers don't have to
  use --with-ca-bundle configure option.  Patch from Cristian Morales
  Vega

* Fixed base64::decode() return "" if input ends with garbage and no
  padding.

* Changed default Peer ID prefix. The new Peer ID prefix is
  "A2-$MAJOR-$MINOR-$MICRO-", where $MAJOR, $MINOR and $MICRO are the
  major version, the minor version and the micro version
  respectively. For instance, 1.15.2 release of aria2 will use
  "A2-1-15-2-".

* Don't percent-decode filename value in Content-Disposition.  We only
  percent-decode filename* value in Content-Disposition because the
  encoding is fully specified. But since filename value is not, so we
  just accept it as is.

* Don't sum in-flight piece which does not intersect filtered ranges.
  When calculating completed length, don't sum the completed length of
  piece which does not intersect filtered ranges.

* Fixed segmentation fault when logger failed to open log file.

* Added ARIA2_STATIC precious variable to configure option.  To build
  statically linked aria2 binary, give ARIA2_STATIC=yes to configure,
  like this:
  $ ./configure ARIA2_STATIC=yes

* Use PRId64 for int64_t format specifier

* Handle the case when MINGW32 vsnprintf returns -1. MINGW32 vsnprintf
  returns -1 if output is truncated.  Increased buffer for vsnprintf
  in WinConsoleFile and fmt.

* Added --enable-mmap option.  If this option is used, map files into
  memory using mmap(2).  This option is experimental.

* Added CORS preflight request support in RPC interface. This change
  is based on the patch from binux.
2012-10-01 15:30:33 +00:00
ryoon
2095ef95de Update to 0.15.1
Changelog:
aria2 1.15.1
============

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

This release fixes the bug that prevents --bt-lpd-interface from
working. If some options sent by RPC request are not acceptable for
the download type, they are now simply ignored instead of rejecting
RPC request entirely. The aria2 RPC server now returns 4XX error code
if the request is not valid in the HTTP level. To improve packaging,
--with-bashcompletiondir configure option was added. This option
overrides where the aria2c bash_completion file is going to be
installed. All manual pages are now generated by Sphinx.

Changes
-------

* Return appropriate HTTP status code on RPC failure.  In this change,
  we return 404 if the request path is neither /json-rpc nor /rpc. If
  XML feature is not enabled and /rpc is requested, return 404.  If
  XML parser failed, return 400. JSON parser failure has been handled
  well in the existing code.

* Ignore unacceptable options in RPC request instead of throwing
  error.  This change allows RPC client to send same options for the
  different type of downloads.

* Handle sockaddr_in.sin_len and sockaddr_in6.sin6_len.  Check
  sockaddr_in.sin_len and sockaddr_in6.sin6_len are available and
  assign values to them properly.  This change fixes unit test error
  and most error related to getnameinfo() on netbsd.

* Removed dependency on inet_aton.  Implemented inetPton as a
  replacement of inet_aton. inetPton is implemented using
  net::getBinAddr.  This change fixes bug#3525424.

* Added --with-bashcompletiondir configure option.  By default,
  bash_completion file named aria2c is installed to the directory
  $prefix/share/doc/aria2/bash_completion.  To change the install
  directory of the file, use --with-bashcompletiondir option.

* Converted README.asciidoc into README.rst

* Use Sphinx for aria2 manual page documentation.  The source files
  for manual pages are placed under doc/manual-src.  The manual pages
  are generated under doc/manual-src/$LANG/_build. The HTML version
  manual page was dropped from the distribution archive.

* Fixed the bug which prevents --bt-lpd-interface from working.
  Fixes bug#3520125
2012-07-03 19:39:47 +00:00
obache
a6d5ad9edc Recursive bump from icu shlib major bumped to 49. 2012-04-27 12:31:32 +00:00
drochner
d5f111f622 update to 1.15.0
changes:
-added json-rpc over websocket
-TLS hostname check rewritten
-misc fixes and improvements
2012-04-25 15:59:59 +00:00