Commit Graph

106 Commits (ae2bda8222094648b488accbd7f56de29aa6df31)

Author SHA1 Message Date
Tatsuhiro Tsujikawa aa863fa4d1 Add "hide" to --download-result option 2016-04-26 23:35:44 +09:00
Tatsuhiro Tsujikawa b1132d6b10 make clang-format using clang-format-3.6 2015-12-27 18:40:08 +09:00
Tatsuhiro Tsujikawa b0f440e631 Rewrite Time with chrono 2015-06-09 03:15:10 +09:00
Tatsuhiro Tsujikawa 99cd73c092 Replace timer facility with chrono lib 2015-06-09 02:05:34 +09:00
Tatsuhiro Tsujikawa 73d752fb1c 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
2014-12-06 17:50:35 +09:00
Tatsuhiro Tsujikawa 30e4077440 Add --enable-color option to enable/disable terminal color output 2014-01-30 00:15:05 +09:00
Nils Maier 3b9a385305 AppleTLS: Enable --certificate
Tested against self-signed CA with nginx
2013-09-30 16:37:01 +02:00
Tatsuhiro Tsujikawa 44479c910e Log exception; throw error if loading private key and/or certificate failed 2013-09-26 00:56:23 +09:00
Nils Maier f7b0fbbf53 Teach Libssl backend to load .p12 files 2013-09-22 12:55:27 +02:00
Nils Maier cf6f58ceec More code cleanups 2013-08-21 07:32:01 +02:00
Nils Maier 79fcafc31f Win: Use SetConsoleCtrlHandler for SIGINT/SIGTERM 2013-08-18 06:04:20 +02:00
Tatsuhiro Tsujikawa 5378ed8c43 MultiUrlRequestFactory: Use std::unique_ptr for DownloadEngine 2013-07-06 19:45:01 +09:00
Tatsuhiro Tsujikawa f83b0fcfa3 Refactor MultiUrlRequestInfo ctor
StatCalc creation is moved to MultiUrlRequestInfo.  The summary output
is done only when PREF_QUIET is false and it is always to
global::cout(), so remove summaryOut_ and just use global::cout() in
that case. Also use std::unique_ptr for statCalc_ in DownloadEngine.
2013-07-06 19:26:30 +09:00
Tatsuhiro Tsujikawa 9130dc6776 DownloadEngine:: Use std::unique_ptr for webSocketSessionMan_
Notifier::addDownloadEventListener now takes pointer to
DownloadEventListener. Session holds unique_ptr to
ApiCallbackDownloadEventListener object.
2013-07-06 18:33:59 +09:00
Tatsuhiro Tsujikawa 68f2a33355 DownloadEngine: Use std::unique_ptr for RequestGroupMan 2013-07-06 15:56:08 +09:00
Tatsuhiro Tsujikawa d485c8e767 Rewrite AuthConfig objects using std::unique_ptr 2013-06-26 21:45:29 +09:00
Tatsuhiro Tsujikawa 4803482a51 HttpRequest: Store non-owning raw pointer for authConfigFactory_ 2013-06-25 22:06:29 +09:00
Tatsuhiro Tsujikawa bb5b7eeedb Move RequestGroup vector from Context to RequestGroupMan 2013-06-23 16:35:14 +09:00
Tatsuhiro Tsujikawa 5cb7ae0b86 Use std::unique_ptr in SingletonHolder 2013-06-22 19:36:42 +09:00
Tatsuhiro Tsujikawa 07d270c87e Require -std=c++11 and use std::shared_ptr instead of SharedHandle 2013-06-22 01:10:38 +09:00
Tatsuhiro Tsujikawa 84769bce57 Fix compile error without message digest support 2013-05-25 22:38:57 +09:00
Tatsuhiro Tsujikawa b9436e4d12 Fix uninitialized values 2013-05-23 00:45:50 +09:00
Tatsuhiro Tsujikawa 1c571f196a Refactor Notifier interface to accept DownloadEventListener interface
WebSocketSessionMan now implements DownloadEventListener and is added
to Notifier. It becomes member variable of DownloadEngine.  The event
constant for download event is defined in aria2.h so that we can add
event callback API later.
2013-05-11 18:50:03 +09:00
Tatsuhiro Tsujikawa 3a4acead2d Reset global::globalHaltRequested to 0 in MultiUrlRequestInfo::prepare() 2013-05-05 17:47:14 +09:00
Tatsuhiro Tsujikawa ebfc5f55e5 Add SessionConfig to store per Session config
sessionConfigSetKeepRunning() was removed and SessionConfig has
keepRunning member instead. Signal handlers are now all prepared in
MultiUrlRequestGroup object. Setting SessionConfig.useSignalHandler to
false will avoid signal handler setup.
2013-05-04 23:56:19 +09:00
Tatsuhiro Tsujikawa 6fcf274f27 Add initialization function and addUri API function for libaria2 2013-04-26 23:59:48 +09:00
Tatsuhiro Tsujikawa 90abec8a36 Move initialization code in aria2::main to struct Context 2013-04-25 21:46:31 +09:00
Nils Maier 82a861f8d8 AppleTLS: Support credentials via KeyChain fingerprints 2013-04-08 06:45:53 +02:00
Nils Maier 0bcbd947b4 AppleTLS: Implement AppleTLS and Apple Message Digest 2013-04-05 23:10:47 +02:00
Tatsuhiro Tsujikawa 0741a14486 Revert 6b55f5d3 because it breaks opensolaris build 2013-03-17 15:42:16 +09:00
Tatsuhiro Tsujikawa 6b55f5d393 Do changes in 8aa1db6 in other places which include signal.h 2013-03-03 13:41:03 +09:00
Nils Maier d1301b8697 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.
2013-02-26 10:49:24 +01:00
Tatsuhiro Tsujikawa 61665d2c26 Set sa_mask when setting signal handler 2013-02-14 21:51:30 +09:00
Tatsuhiro Tsujikawa 0ecfa19925 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.
2012-10-25 23:33:45 +09:00
Tatsuhiro Tsujikawa 90515dfa50 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.
2012-09-30 00:50:14 +09:00
Tatsuhiro Tsujikawa 3258614033 Removed *Handle typedef 2012-09-28 23:27:46 +09:00
Tatsuhiro Tsujikawa 4046f27ea9 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
2012-07-05 23:22:34 +09:00
Tatsuhiro Tsujikawa 92c518a2ba Moved parseAsyncDNSServers() to AsyncNameResolver.cc and refactored.
The parseAsyncDNSServers() now uses net::getBinAddr() internally,
which makes the function simpler. Also added unit test.
2012-05-16 23:05:09 +09:00
Tatsuhiro Tsujikawa fcbdecfd1e Conditional compile for WebSocket.
WebSocket support depends on Message Digest support.
2012-04-08 00:50:25 +09:00
Tatsuhiro Tsujikawa f4e2c7f060 Added JSON-RPC over WebSocket.
Wslay library must be placed under deps/wslay.
2012-03-20 21:42:09 +09:00
Tatsuhiro Tsujikawa f2d55f0edc Added --deferred-input option.
If true is given to --deferred-input option, aria2 does not read all
URIs and options from file specified by -i option at startup, but it
reads one by one when it needs later. This may reduce memory usage if
input file contains a lot of URIs to download. If false is given,
aria2 reads all URIs and options at startup. This option defaults to
false.
2012-02-05 18:57:16 +09:00
Tatsuhiro Tsujikawa 26d4ca8a6a Made notice level log messages translatable 2011-12-02 22:38:53 +09:00
Tatsuhiro Tsujikawa f84d2253b2 Rewritten util::split and added its iterator version.
Iterator based functions util::startsWith, util::endsWith,
util::streq, util::strieq were added.
2011-11-04 22:27:58 +09:00
Tatsuhiro Tsujikawa c01c34f24a Use sockaddr_union in parseAsyncDNSServers(). 2011-10-19 23:29:23 +09:00
Tatsuhiro Tsujikawa f7aeb86ccc 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.
2011-08-22 23:05:06 +09:00
Tatsuhiro Tsujikawa a10cda2f17 Use global::cout to output string to stdout.
In MinGW32 build, global::cout is WinConsoleFile. When outputing to
console, it uses WriteConsoleW, so Unicode characters are written.
Fixed memory leak in WChar<->MultiByte conversion functions.  The
portion of code which uses std::cout is rewritten to use global::cout.
2011-08-09 23:33:55 +09:00
Tatsuhiro Tsujikawa 00fa59d0f5 Fixed the bug that the message "Loaded cookies from ..." appears when
loading cookies from that file failed.
2011-05-12 09:39:03 +09:00
Tatsuhiro Tsujikawa 46eced8ada Fixed compile error and unit test error without SSL library. 2011-03-17 16:08:39 +09:00
Tatsuhiro Tsujikawa f16aef227d Fixed compile error with c-ares 1.7.0 2011-02-19 01:57:16 +09:00
Tatsuhiro Tsujikawa d3d1293974 Check the availability of ares_set_servers and ares_addr_node. 2011-02-18 01:04:11 +09:00