Commit Graph

3669 Commits (376a07df00dbb62cad2a8d1caebceb705ca2287d)

Author SHA1 Message Date
Tatsuhiro Tsujikawa 431fcde29a BufferedFile: Flush content on close 2018-02-12 18:51:14 +09:00
Tatsuhiro Tsujikawa aaed78147c wintls: Don't log writeData error in closing state 2018-01-08 14:47:27 +09:00
Tatsuhiro Tsujikawa 4bd6b68d59 WinTLS: Check return value 2018-01-04 19:58:01 +09:00
Tatsuhiro Tsujikawa cc5469c047 mingw: Use SetFileTime to avoid DST adjustment 2017-11-29 22:22:28 +09:00
Tatsuhiro Tsujikawa 795a0474df clang-format-5.0 2017-11-23 14:11:43 +09:00
Tatsuhiro Tsujikawa a005f29448 mingw: Fix compile error 2017-11-16 19:36:59 +09:00
Tatsuhiro Tsujikawa 5e7976af89
Merge pull request #1065 from kwkam/unknown-stat
UnknownLengthPieceStorage: Completed Length
2017-11-08 23:01:20 +09:00
kwkam eef212d72a UnknownLengthPieceStorage: return piece length
show something in console status when downloading items
with unknown content length
2017-11-08 15:17:47 +08:00
kwkam dd60bba5ad replace some lines with make_unique 2017-11-08 15:02:37 +08:00
Tatsuhiro Tsujikawa 3aed9cb533 mingw: Fix high CPU usage in BitTorrent downloads
This commit fixes high CPU usage in BitTorrent downloads.  Only mingw
build is affected by this bug.

Thank you kwkam for identifying the cause of the issue, and helping
debugging this patch.
2017-11-06 21:21:54 +09:00
Tatsuhiro Tsujikawa 8f5eaa4bbb
Merge pull request #1059 from kwkam/patch-3
replace some lines with make_shared
2017-11-05 16:02:14 +09:00
Tatsuhiro Tsujikawa 16f458c9a4
Merge pull request #1058 from kwkam/patch-2
WinConsoleFile: fix colour properly
2017-11-05 16:01:53 +09:00
kwkam 89be2fc649 replace some lines with make_shared 2017-11-05 00:56:08 +08:00
kwkam a45390c80b WinConsoleFile: fix colour properly 2017-11-05 00:42:58 +08:00
kwkam 5c6bcfd2ad
util: also detect xdg_* env variables on windows
so if people like to keep FHS they could define XDG_* for it
2017-11-04 21:49:01 +08:00
Tatsuhiro Tsujikawa aafa368885
Merge pull request #1038 from nicolov/patch-1
Retry on HTTP 502
2017-11-01 22:43:34 +09:00
Nils Maier 992944257c MacOS: Allocate once (apfs compat) 2017-11-01 12:39:44 +01:00
Tatsuhiro Tsujikawa 85b102a2a0 Fix bug that signal handler does not work with libaria2
This commit fixes the bug that signal handler does not work with
libaria2 when aria2::RUN_ONCE is passed to aria2::run().
2017-10-31 23:04:37 +09:00
nicolov 07754e36e6 Retry on HTTP 502 2017-10-22 14:25:01 -07:00
Tatsuhiro Tsujikawa 8b32b26828 wintls: Potential fix for undecrypted read 2017-10-07 19:43:17 +09:00
Tatsuhiro Tsujikawa 64fe98a1ea clang-format 2017-10-07 19:42:43 +09:00
Tatsuhiro Tsujikawa 0c62ae615d libaria2: Return last error code from DownloadHandle::getErrorCode 2017-08-30 21:25:46 +09:00
Nils Maier 1fe6cc7356 Windows: pass writefds also as exceptfds to select()
winsock notifies connect() failures on exceptfds instead of writefds.
Fixes GH-969
Fixes GH-975
2017-08-28 18:19:04 +02:00
Nils Maier 2cfe19205b libuv: use pkg-config 2017-07-31 15:52:19 +02:00
Nils Maier 086500cc21 FeatureConfig: align text 2017-07-31 15:50:32 +02:00
Kurt Kartaltepe a3bacc0ff1 Add --peer-agent option
Add --peer-agent for setting the version/user agent used in the extended
handshake protocol for bittorrent.
2017-07-11 10:18:51 -05:00
Tse Kit Yam 4e656cc904 Update copyright year to 2017 2017-07-08 23:59:46 +08:00
Nils Maier 54ccab8ccb AppleTLS: Silence cipher suite selection 2017-06-15 15:08:42 +02:00
Tatsuhiro Tsujikawa e3b6460d07 Merge branch 'bt-load-saved-metadata' 2017-05-22 22:37:34 +09:00
Tatsuhiro Tsujikawa 9deb4210b2 Add --bt-load-saved-metadata option
Before getting torrent metadata from DHT when downloading with magnet
link, first try to read file saved by --bt-save-metadata option. If it
is successful, then skip downloading metadata from DHT.  By default,
this feature is turned off.
2017-05-22 00:02:05 +09:00
Tatsuhiro Tsujikawa 3cfea3c724 Fix regression in bfc54d0b9a
Don't save control file if --auto-save-interval is 0.
2017-05-20 22:19:29 +09:00
Tatsuhiro Tsujikawa 8785342f85 Fix infinite loop bug when file is not found 2017-05-20 12:45:00 +09:00
Tatsuhiro Tsujikawa 9677586336 clang-format-4.0 2017-05-19 21:32:25 +09:00
Tatsuhiro Tsujikawa fe2226b988 Fix compile error with toolchain which lacks IPV6_TCLASS 2017-05-08 22:45:12 +09:00
Tatsuhiro Tsujikawa e441cf0575 Merge pull request #885 from aria2/notice-log-level-redirection-uri
Log directed URI in notice log level
2017-04-13 22:24:45 +09:00
Tatsuhiro Tsujikawa c7a13f934c Log directed URI in notice log level 2017-04-09 19:37:39 +09:00
Tse Kit Yam 1e8cf5151e Fix typo 2017-04-01 23:19:57 +08:00
klemens ec2ce4ffe5 spelling fixes 2017-03-20 22:44:41 +01:00
Fredrik Fornwall 68edbb358c Remove unused Android parts
These parts where unused after merging https://github.com/aria2/aria2/pull/736
2017-03-18 01:01:18 +01:00
Tatsuhiro Tsujikawa bfc54d0b9a Save control file early 2017-03-02 22:54:11 +09:00
Tatsuhiro Tsujikawa 9eff8100ef Refactor 2017-03-02 22:48:40 +09:00
Tatsuhiro Tsujikawa 6289aafaf8 Increase backlog to 1024 2017-03-02 22:23:29 +09:00
Tatsuhiro Tsujikawa 8fc0c85125 Propagate disk full error on pre-allocation to last error code 2017-02-23 21:34:58 +09:00
Tatsuhiro Tsujikawa 857d6a2a8e Fix compiler warning with Android NDK clang 2017-01-23 00:58:44 +09:00
Tatsuhiro Tsujikawa eecb5e055e clang-format 2017-01-16 21:33:04 +09:00
Tatsuhiro Tsujikawa 744a5a550d Better error message when local file status cannot be retrieved 2017-01-15 16:33:58 +09:00
Tatsuhiro Tsujikawa c1a0b33515 Add constexpr if possible 2017-01-09 17:37:40 +09:00
Tatsuhiro Tsujikawa e2dc0902bb Fix assertion failure in SimpleRandomizer::getRandomBytes
errno might not be initialized to 0, and we may get both rv == -1 and
errno != ENOSYS.  This leads to assertion failure.  Since
getrandom_linux always returns -1 on failure, checking errno is
useless in this function.
2017-01-06 22:22:14 +09:00
Tatsuhiro Tsujikawa b5d64230ba Cast to unsigned char before passing it as uint32_t 2016-12-31 14:28:11 +09:00
JimmyZ da730478af new option content-disposition-default-utf8 2016-12-31 14:11:12 +09:00
Tatsuhiro Tsujikawa 388ae843ca `make clang-format` 2016-12-15 22:37:19 +09:00
Tatsuhiro Tsujikawa ddc1f1bfda Fix bug that lower bound of optimize-concurrent-downloads becomes 1 2016-12-05 21:18:31 +09:00
Tatsuhiro Tsujikawa 4473b870f4 Merge pull request #795 from aria2/show-dht-nodes
Print DHT nodes with -S option
2016-12-04 10:32:30 +09:00
Tatsuhiro Tsujikawa 7a089ae04a Merge pull request #794 from aria2/fix-dht-node-resolv
Take into account address family when resolving DHT node address
2016-12-04 10:31:53 +09:00
Tatsuhiro Tsujikawa c679390392 Print DHT nodes with -S option 2016-12-03 16:27:29 +09:00
Tatsuhiro Tsujikawa 3d5c76800d Take into account address family when resolving DHT node address 2016-12-03 16:18:14 +09:00
Tatsuhiro Tsujikawa e4f3d633c1 Use stdin for *NIX as well
We thought that we can use /dev/stdin for *NIX, but some variants,
like Android, does not have one or root permission is required.  Just
like we do for Windows build, we just use stdin if /dev/stdin is used.
2016-11-26 22:42:20 +09:00
Tatsuhiro Tsujikawa d0a0645836 We already replaced "-" with DEV_STDIN in LocalFilePathOptionHandler 2016-11-26 22:16:18 +09:00
Tatsuhiro Tsujikawa 380e5aa451 Merge branch 'user-home-variable-expansion' 2016-11-26 16:28:59 +09:00
Tatsuhiro Tsujikawa 14e995d2bc Allow block device file to -i option 2016-11-26 16:26:33 +09:00
Tatsuhiro Tsujikawa 9df50804d4 Merge pull request #772 from aria2/refactor-wintls-write
WinTLS: Rewrite writeData
2016-11-23 22:57:58 +09:00
Tatsuhiro Tsujikawa 9214e72501 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
2016-11-23 22:45:17 +09:00
Michał Górny 02985711df 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.
2016-11-12 22:13:48 +01:00
Tatsuhiro Tsujikawa d974c935cd 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.
2016-11-12 22:20:41 +09:00
Tatsuhiro Tsujikawa d289dc1108 WinTLS: Fix busy loop on write error 2016-11-09 23:08:25 +09:00
Tatsuhiro Tsujikawa 2df30b1447 Support 1xx non-final response 2016-11-03 16:29:04 +09:00
Tatsuhiro Tsujikawa 90452ae11b Don't download piece which is filtered out (e.g., --select-file)
This commit fixes the bug that piece which is not requested by
--select-file is downloaded in multi-file WebSeeding.
2016-10-26 22:40:00 +09:00
Tatsuhiro Tsujikawa aa4ea8889c clang-format-3.9 2016-10-15 19:02:54 +09:00
Juan Francisco Cantero Hurtado 206d6fc062 Restore LTLIBINTL in src/Makefile.am 2016-09-29 01:02:06 +02:00
Tatsuhiro Tsujikawa ae78d7f7d0 Enable --keep-unfinished-download-result by default 2016-09-26 22:07:35 +09:00
Tatsuhiro Tsujikawa e31f537ac5 Update copyright year to 2016 2016-09-26 21:56:38 +09:00
Tatsuhiro Tsujikawa 55f311a908 Add --keep-unfinished-download-result option
This option keeps unfinished download results even if doing so exceeds
--max-download-result. This is useful if all unfinished downloads must
be saved in session file (see --save-session option). Please keep in
mind that there is no upper bound to the number of unfinished download
result to keep.  User should use this option only when they know the
total number of downloads in advance.
2016-09-24 11:42:43 +09:00
Tatsuhiro Tsujikawa c3aedf480d Fix -Wexpansion-to-defined warning with clang-3.9
The error message was:

warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]

http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160118/147239.html
2016-09-19 22:10:21 +09:00
Tatsuhiro Tsujikawa a31e73d902 Fix bug that file name is not logged with --conditional-get 2016-09-17 17:21:42 +09:00
Tatsuhiro Tsujikawa cfaec39be1 Add missing libssl_compat.h to SRCS 2016-09-17 09:05:52 +09:00
Tatsuhiro Tsujikawa 16797b5264 clang-format 2016-09-16 21:52:58 +09:00
Tatsuhiro Tsujikawa 8cdcb71308 Fix possible cause of crash after metadata download 2016-09-05 22:44:40 +09:00
Tatsuhiro Tsujikawa 3af50e5140 Fix log message 2016-09-05 21:04:30 +09:00
Fredrik Fornwall 5ca9cb6959 Remove custom ftruncate64 for Android
The latest NDK versions support ftruncate64, so building a local
copy of ftruncate64 is no longer needed.

Also, the arm and x86 builds of ftruncate64 failed when targetting
API level 21 or higher, as they include <linux/err.h> which are
not present starting from API level 21.
2016-09-03 23:14:18 +02:00
Tatsuhiro Tsujikawa d73dd9c372 Fix typo found by Debian's Lintian 2016-09-03 22:46:10 +09:00
Tatsuhiro Tsujikawa 3d97ed05f6 Merge branch 'tobbez-fix-comment' 2016-08-30 22:00:09 +09:00
Nils Maier 414dd14dec Add --save-not-found option 2016-08-30 14:23:42 +02:00
Nils Maier 852e2db586 Simplify session serializer 2016-08-30 14:22:39 +02:00
Torbjörn Lönnemark e86bcd3d24 Update comment to match code 2016-08-30 10:55:27 +02:00
Nils Maier 366e2e8f79 Use default where possible 2016-08-29 16:52:20 +02:00
Nils Maier 08f4b5e4f4 WinTLS: Better errors (from WSA) 2016-08-29 16:51:18 +02:00
Tatsuhiro Tsujikawa 3cdde0f425 Compile with openssl 1.1.0
We moved @CPPUNIT_LIBS@ to later position.  This is because in my
development environment, it adds linker search directory which
contains system default openssl, while I'd like to use my custom
openssl installation.  This fix is not universal, since other
libraries can do the same thing.  It is a bit hard to fix this
properly because we mix -L and -l in a same variable.
2016-08-27 00:35:28 +09:00
Tatsuhiro Tsujikawa 7a31f9bf29 Make assertion hold
If we have peer which is already used, make addAndCheckoutPeer() fail.
If peer is in unused list, first remove the old entry, and then add
new one.  This would make assertion in ~DefaultPeerStorage hold.
2016-08-20 18:49:19 +09:00
Tatsuhiro Tsujikawa c42fa9f20c Revert "Remove false assertion"
This reverts commit 65b7205dfd.
2016-08-20 18:27:43 +09:00
Tatsuhiro Tsujikawa 65b7205dfd Remove false assertion
As of 4df7b540a2, the assertion no
longer holds.
2016-08-20 18:22:23 +09:00
Tatsuhiro Tsujikawa 48310915ee Replace "/" with "-" in magnet dn name when used as in-memory download name 2016-08-01 22:25:03 +09:00
Tatsuhiro Tsujikawa 8e07568a9e clang-format 2016-07-21 01:00:47 +09:00
Tatsuhiro Tsujikawa 5b4e3361d4 Update --auto-file-renaming help text according to the manual page 2016-07-20 22:51:12 +09:00
Tatsuhiro Tsujikawa 9a63e59104 Extend maximum BitTorrent incoming payload size to 64KiB 2016-07-20 22:42:29 +09:00
103yiran d1afaa2ff1 correcting the copyright format error 2016-07-20 11:21:00 +08:00
103yiran 8c1ebd2e4f correcting the copyright format error 2016-07-20 11:19:42 +08:00
103yiran 193073754d correcting the copyright format error 2016-07-20 11:18:23 +08:00
103yiran e5ece7586e correcting the copyright format error 2016-07-20 11:17:07 +08:00
103yiran d25fdd3636 correcting the copyright format error 2016-07-20 11:13:56 +08:00
103yiran 0eaeda9548 correcting the copyright format error 2016-07-20 11:11:00 +08:00