Commit Graph

312 Commits (bc0d903f8e2d478c4e914dc09066c520ae224748)

Author SHA1 Message Date
Tatsuhiro Tsujikawa e7eedfc8cf Bump up version number to 1.19.1 2015-09-21 22:56:43 +09:00
Tatsuhiro Tsujikawa 008aba66d5 Check nullptr is supported by C++ compiler 2015-07-29 21:37:59 +09:00
Tatsuhiro Tsujikawa f6f3bd3c3a Merge branch 'mingw' of https://github.com/elieux/aria2 into elieux-mingw 2015-07-19 16:30:39 +09:00
Tatsuhiro Tsujikawa ce89e26e55 Remove clock_gettime detection and its replacements 2015-06-09 03:45:40 +09:00
Tatsuhiro Tsujikawa 2a168172dc Bump up version number to 1.19.0 2015-05-24 18:50:23 +09:00
Tatsuhiro Tsujikawa ce36021447 Add libssh2 to android build config 2015-05-16 23:00:26 +09:00
Tatsuhiro Tsujikawa 9297bc8c5c Remove a2x and asciidoc checks 2015-05-13 23:56:45 +09:00
Tatsuhiro Tsujikawa 82ba003209 Add basic ssh/sftp code to SocketCore and introduce SSHSession
We use libssh2 to implement sftp feature.  SSHSession is closely
designed to TLSSession, but it differs in several aspects.  In this
code, we only implements read part of sftp, since aria2 won't offer
uploading feature.  Adding SSH/sftp to SocketCore is a bit bloat.  But
by doing this we can reuse DownloadCommand, without mostly no
modification.  We can just create SSHDownloadCommand by inheriting it,
just like existing ftp.
2015-05-10 00:00:23 +09:00
David Macek 53d8cbbe14 Fix detection of localtime_r and asctime_r on MinGW-w64 2015-04-03 00:39:05 +02:00
Tatsuhiro Tsujikawa 650f04586d Make libuv default off
See GH-241 for discussion
2015-03-11 01:54:10 +09:00
Nils Maier fd6f5ebc32 Fix getrandom interface detection
Fixes GH-346
2015-03-01 09:52:02 +01:00
Tatsuhiro Tsujikawa 77e93b7710 Bump up version number to 1.18.10 2015-02-23 23:33:15 +09:00
Tatsuhiro Tsujikawa b920051850 Bump up version number to 1.18.9 2015-02-01 22:23:09 +09:00
Nils Maier 81bdd5f61a 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
2015-01-20 22:37:24 +01:00
Tatsuhiro Tsujikawa 011dbe228d Bump up version number to 1.18.8 2014-09-11 21:00:55 +09:00
Nils Maier cb868b2baa Enable dynamicbase and nxcompat in Windows binaries 2014-08-30 02:04:44 +02:00
Nils Maier 8732a24433 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
2014-07-22 21:58:31 +02:00
Tatsuhiro Tsujikawa 53718f169f Bump up version number to 1.18.7 2014-07-20 22:54:48 +09:00
Tatsuhiro Tsujikawa b1e475264b Bump up version number to 1.18.6 2014-07-12 17:57:55 +09:00
Tatsuhiro Tsujikawa e55b543b64 Change bug report address to github issues 2014-07-09 21:29:28 +09:00
Tatsuhiro Tsujikawa 8750d7be99 Disard cache when checking checksum
This will slow down checksum checking but does not thrash cache.
2014-07-02 00:05:43 +09:00
Nils Maier 0c8a2659ea 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).
2014-06-24 20:45:12 +02:00
Nils Maier 2b02fac2d5 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
2014-06-10 11:28:34 +02:00
Nils Maier fd3348cc88 Use -pipe when GCC 2014-05-20 12:50:56 +02:00
Nils Maier cd204ff525 Add --disable-websocket 2014-04-17 18:02:42 +02:00
Nils Maier 010131161e Remove ENABLE_MESSAGE_DIGEST, since we got the internal md, always 2014-04-17 18:02:42 +02:00
Nils Maier befd799d17 configure: Do not check for nettle/gcrypt when appletls or wintls 2014-04-17 18:02:42 +02:00
Tatsuhiro Tsujikawa 67aa993ca9 Enable wintls by default and remove its experimental status 2014-04-17 22:28:29 +09:00
Nils Maier aa02545fba Use mpz_pown_sec where available 2014-04-13 18:51:06 +02:00
Nils Maier ead6685b18 Warn (or error with explicit --with-libgmp) if gmp is not actually found 2014-04-13 18:51:06 +02:00
Nils Maier 7600886d3d Implement falloc equivalent in OSX 2014-04-12 02:55:31 +02:00
Tatsuhiro Tsujikawa 305ef84e5d Bump up version number to 1.18.5 2014-03-30 18:20:32 +09:00
Tatsuhiro Tsujikawa 1188e4f1a2 Fix mingw32 build with gcc 4.8.2
Now mingw-w64 C++ compiler defines __USE_MINGW_ANSI_STDIO to 1, we
have to follow it as well.  We hope that mingw version of stdio
function behaves like Linux ones.  We have not tested them thoroughly
yet.  pthread for windows defines its own HAVE_STRUCT_TIMESPEC macro.
To avoid warning, we rename our version of it as
HAVE_A2_STRUCT_TIMESPEC.
2014-03-24 00:37:30 +09:00
Tatsuhiro Tsujikawa 96ffc3dfd4 Bump up version number to 1.18.4 2014-03-23 21:35:15 +09:00
Ryo ONODERA f2fa24b418 Avoid bash way, improve posix shell portability 2014-01-23 21:36:22 +09:00
Tatsuhiro Tsujikawa b98a5d62b4 Bump up version number to 1.18.3 2014-01-05 19:01:12 +09:00
Tatsuhiro Tsujikawa 1be26c0ec3 Bump up version number to 1.18.2 2013-12-26 23:41:38 +09:00
Nils Maier 337d8ac929 Allow using libgmp with AppleTLS/WinTLS 2013-12-09 08:28:56 +01:00
Nils Maier 3096601ffe Fix static builds on darwin 2013-12-05 17:47:54 +01:00
Tatsuhiro Tsujikawa cdbd4f0095 Adjust libtool and linker flags
Since we use libtool, -static-libgcc and -static-libstdc++ are
stripped by libtool and not used. We just use -all-static libtool flag
for this purpose.

To create windows dll, it turns out that we need -no-undefined flag.
2013-10-24 00:13:05 +09:00
Tatsuhiro Tsujikawa 0d0a8a1c35 Bump up version number to 1.18.1 2013-10-20 22:03:10 +09:00
Nils Maier 00dd83b461 Implement WinTLS 2013-09-30 13:53:21 +02:00
Nils Maier 99f170b888 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).
2013-09-24 19:11:26 +02:00
Nils Maier e854463b2d 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).
2013-09-24 19:11:00 +02:00
Nils Maier 7cb69c4d9e Add --disable-ssl configure option 2013-09-20 23:06:50 +02:00
Nils Maier 38bdea4e06 Add internal md5 and sha1 message digests 2013-09-20 23:06:50 +02:00
Nils Maier a1deb0e9f1 Only use AppleMessageDigest when using AppleTLS 2013-09-20 23:06:50 +02:00
Nils Maier a4e29303ef WinTLS: Implement messsage digest using the Cryptography Provider 2013-09-20 23:06:49 +02:00
Tatsuhiro Tsujikawa e3a41a51da 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.
2013-09-18 23:10:25 +09:00
Tatsuhiro Tsujikawa 4bd4aa2dc3 mingw: Deactivate __USE_MINGW_ANSI_STDIO
Deactivate __USE_MINGW_ANSI_STDIO because it causes lots of errors for
PRId64.
2013-09-10 01:25:28 +09:00