summaryrefslogtreecommitdiff
path: root/src/MultiUrlRequestInfo.cc
Commit message (Collapse)AuthorAgeFilesLines
* Add SessionConfig to store per Session configTatsuhiro Tsujikawa2013-05-041-20/+49
| | | | | | | 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.
* Add initialization function and addUri API function for libaria2Tatsuhiro Tsujikawa2013-04-261-19/+14
|
* Move initialization code in aria2::main to struct ContextTatsuhiro Tsujikawa2013-04-251-67/+102
|
* AppleTLS: Support credentials via KeyChain fingerprintsNils Maier2013-04-081-2/+5
|
* AppleTLS: Implement AppleTLS and Apple Message DigestNils Maier2013-04-051-5/+3
|
* Revert 6b55f5d3 because it breaks opensolaris buildTatsuhiro Tsujikawa2013-03-171-7/+1
|
* Do changes in 8aa1db6 in other places which include signal.hTatsuhiro Tsujikawa2013-03-031-1/+7
|
* Do not reference RequestGroups longer than necessaryNils Maier2013-02-261-1/+3
| | | | | | | | | | 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.
* Set sa_mask when setting signal handlerTatsuhiro Tsujikawa2013-02-141-6/+22
|
* Reworked download/upload statistics calculationTatsuhiro Tsujikawa2012-10-251-0/+1
| | | | | | | | | | | | | | 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.
* RPC over SSL/TLS transportTatsuhiro Tsujikawa2012-09-301-9/+28
| | | | | | | 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.
* Removed *Handle typedefTatsuhiro Tsujikawa2012-09-281-1/+1
|
* Use system-wide certificates for SSLTatsuhiro Tsujikawa2012-07-051-1/+4
| | | | | | | | | | 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
* Moved parseAsyncDNSServers() to AsyncNameResolver.cc and refactored.Tatsuhiro Tsujikawa2012-05-161-47/+3
| | | | | The parseAsyncDNSServers() now uses net::getBinAddr() internally, which makes the function simpler. Also added unit test.
* Conditional compile for WebSocket.Tatsuhiro Tsujikawa2012-04-081-1/+5
| | | | WebSocket support depends on Message Digest support.
* Added JSON-RPC over WebSocket.Tatsuhiro Tsujikawa2012-03-201-0/+11
| | | | Wslay library must be placed under deps/wslay.
* Added --deferred-input option.Tatsuhiro Tsujikawa2012-02-051-2/+8
| | | | | | | | | 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.
* Made notice level log messages translatableTatsuhiro Tsujikawa2011-12-021-2/+2
|
* Rewritten util::split and added its iterator version.Tatsuhiro Tsujikawa2011-11-041-2/+2
| | | | | Iterator based functions util::startsWith, util::endsWith, util::streq, util::strieq were added.
* Use sockaddr_union in parseAsyncDNSServers().Tatsuhiro Tsujikawa2011-10-191-4/+4
|
* Added --download-result option.Tatsuhiro Tsujikawa2011-08-221-1/+2
| | | | | | | | | | 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.
* Use global::cout to output string to stdout.Tatsuhiro Tsujikawa2011-08-091-8/+8
| | | | | | | 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.
* Fixed the bug that the message "Loaded cookies from ..." appears whenTatsuhiro Tsujikawa2011-05-121-2/+2
| | | | loading cookies from that file failed.
* Fixed compile error and unit test error without SSL library.Tatsuhiro Tsujikawa2011-03-171-1/+1
|
* Fixed compile error with c-ares 1.7.0Tatsuhiro Tsujikawa2011-02-191-0/+3
|
* Check the availability of ares_set_servers and ares_addr_node.Tatsuhiro Tsujikawa2011-02-181-1/+2
|
* Added --async-dns-server option.Tatsuhiro Tsujikawa2011-02-081-0/+49
| | | | | | | | | | This option accepts comma separated list of DNS server address 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.
* Don't check permission of .netrc file in MinGW32 build.Tatsuhiro Tsujikawa2011-01-171-0/+5
|
* Renamed DownloadErrorCode.h as error_code.h. RenamedTatsuhiro Tsujikawa2010-11-281-6/+6
| | | | downloaderrorcode::Value as error_code::Value.
* 2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-11-201-20/+20
| | | | | | | Rewritten Logger interface. Logger now writes source file name and line number in log file.
* 2010-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-11-141-4/+0
| | | | | | Removed unused includes.
* 2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-10-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use unnamed namespace instead of static keyword. * src/AbstractCommand.cc * src/AdaptiveURISelector.cc * src/Base64.cc * src/BitfieldMan.cc * src/BtDependency.cc * src/ConsoleStatCalc.cc * src/ContentTypeRequestGroupCriteria.cc * src/CookieStorage.cc * src/DHTMessageFactoryImpl.cc * src/DHTRoutingTableDeserializer.cc * src/DefaultBtAnnounce.cc * src/DefaultBtProgressInfoFile.cc * src/DefaultPeerStorage.cc * src/DefaultPieceStorage.cc * src/DownloadCommand.cc * src/DownloadEngine.cc * src/EpollEventPoll.cc * src/ExpatMetalinkProcessor.cc * src/ExpatXmlRpcRequestProcessor.cc * src/FileEntry.cc * src/HttpRequest.cc * src/HttpRequestCommand.cc * src/HttpResponseCommand.cc * src/KqueueEventPoll.cc * src/LongestSequencePieceSelector.cc * src/MetalinkParserStateV3Impl.cc * src/MetalinkParserStateV4Impl.cc * src/MultiDiskAdaptor.cc * src/MultiUrlRequestInfo.cc * src/OptionParser.cc * src/PeerSessionResource.cc * src/PortEventPoll.cc * src/Request.cc * src/RequestGroupMan.cc * src/SelectEventPoll.cc * src/SessionSerializer.cc * src/SimpleLogFormatter.cc * src/Sqlite3CookieParser.cc * src/TrackerWatcherCommand.cc * src/XML2SAXMetalinkProcessor.cc * src/Xml2XmlRpcRequestProcessor.cc * src/XmlRpcMethod.cc * src/XmlRpcMethodImpl.cc * src/XmlRpcResponse.cc * src/base32.cc * src/bencode2.cc * src/bittorrent_helper.cc * src/download_helper.cc * src/main.cc * src/messageDigest.cc * src/option_processing.cc * src/util.cc * test/AnnounceListTest.cc * test/BtRegistryTest.cc * test/DHTBucketTest.cc * test/DHTRoutingTableTest.cc * test/DefaultBtAnnounceTest.cc * test/FileEntryTest.cc * test/FtpConnectionTest.cc * test/MSEHandshakeTest.cc * test/MagnetTest.cc * test/XmlRpcMethodTest.cc * test/array_funTest.cc
* 2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-10-101-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | Append 'u' to hex mask. * src/Base64.cc * src/BitfieldMan.cc * src/BtHandshakeMessage.cc * src/BtHandshakeMessage.h * src/DHTBucket.cc * src/DHTRoutingTableDeserializer.cc * src/DHTRoutingTableSerializer.cc * src/DefaultBtProgressInfoFile.cc * src/MSEHandshake.h * src/MultiUrlRequestInfo.cc * src/Platform.cc * src/SpeedCalc.cc * src/UTPexExtensionMessage.cc * src/a2netcompat.h * src/base32.cc * src/bitfield.h * src/bittorrent_helper.cc * src/cookie_helper.cc * src/util.h
* 2010-10-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-10-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewritten Cookie class and Cookie parser based on http://tools.ietf.org/html/draft-ietf-httpstate-cookie-14 with some modifications. When parsing cookie date, match time first so that it parses asctime() format. The request-path must be ends with '/' so that request-path '/foo/' path-matches cookie-path '/foo' and '/foo/' in the proposed algorithm. * src/Cookie.cc * src/Cookie.h * src/CookieParser.cc: Removed * src/CookieParser.h: Removed * src/CookieStorage.cc * src/CookieStorage.h * src/HttpResponse.cc * src/Makefile.am * src/Makefile.in * src/MultiUrlRequestInfo.cc * src/NsCookieParser.cc * src/NsCookieParser.h * src/Sqlite3CookieParser.cc * src/Sqlite3CookieParser.h * src/a2functional.h * src/cookie_helper.cc * src/cookie_helper.h * src/util.cc * src/util.h * test/CookieBoxFactoryTest.cc: Removed * test/CookieHelperTest.cc * test/CookieParserTest.cc: Removed * test/CookieStorageTest.cc * test/CookieTest.cc * test/HttpRequestTest.cc * test/Makefile.am * test/Makefile.in * test/NsCookieParserTest.cc * test/Sqlite3CookieParserTest.cc * test/TestUtil.cc * test/TestUtil.h * test/a2functionalTest.cc * test/chromium_cookies.sqlite * test/cookies.sqlite * test/nscookietest.txt
* 2010-10-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-10-031-1/+5
| | | | | | | | Reverted the previous change in src/MultiUrlRequestInfo.cc. Change log level of warning message about CA certificates to info. * src/MultiUrlRequestInfo.cc
* 2010-10-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-10-031-6/+1
| | | | | | | | | | Removed warning message when CA certificates are not imported. --ca-certificate and --check-certificate option were added to the error message displayed when certificate verification failed. * src/MultiUrlRequestInfo.cc * src/message.h
* 2010-09-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-09-081-1/+1
| | | | | | | Use const ref * src/MultiUrlRequestInfo.cc
* 2010-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-06-211-40/+40
| | | | | | | Changed naming standards for class member variable: now it looks like var_ instead of _var.
* 2010-06-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-06-081-6/+9
| | | | | | | Made public member variables of DownloadEngine private. Added accessor funcs.
* 2010-06-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-06-031-6/+10
| | | | | | | | Added log message when cookies are loaded. Added filename to log message when serializing session. * src/MultiUrlRequestInfo.cc
* 2010-06-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-06-031-4/+14
| | | | | | | | Treat SIGHUP and SIGTERM signal as emergency shutdown because they are usually issued by system or other process. * src/MultiUrlRequestInfo.cc
* 2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-04-121-0/+4
| | | | | | | | | | Added warning for the system which lacks clock_gettime with CLOCK_MONOTONIC. * src/MultiUrlRequestInfo.cc * src/TimerA2.cc * src/TimerA2.h
* 2010-04-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-04-081-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added --save-session=FILE option. This option saves error/unfinished downloads to FILE on exit. You can pass this output file to aria2c with -i option on restart. Please note that downloads added by aria2.addTorrent and aria2.addMetalink XML-RPC method are not saved. * src/BtPostDownloadHandler.cc * src/DownloadResult.h * src/Makefile.am * src/MetadataInfo.cc * src/MetadataInfo.h * src/Metalink2RequestGroup.cc * src/MetalinkPostDownloadHandler.cc * src/MultiUrlRequestInfo.cc * src/OptionHandlerFactory.cc * src/RequestGroup.cc * src/RequestGroup.h * src/SessionSerializer.cc * src/SessionSerializer.h * src/UTMetadataPostDownloadHandler.cc * src/download_helper.cc * src/download_helper.h * src/prefs.cc * src/prefs.h * src/usage_text.h * test/Makefile.am * test/SessionSerializerTest.cc * test/XmlRpcMethodTest.cc * test/serialize_session.meta4
* 2010-03-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-03-061-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added Time global::wallclock to cache "current time" to reduce the call gettimeofday(). Global variables are now in namespace global. * src/AbstractCommand.cc * src/ActivePeerConnectionCommand.cc * src/AdaptiveURISelector.cc * src/BtLeecherStateChoke.cc * src/BtLeecherStateChoke.h * src/BtSeederStateChoke.cc * src/BtSeederStateChoke.h * src/BtStopDownloadCommand.cc * src/ConsoleStatCalc.cc * src/DHTBucket.cc * src/DHTGetPeersCommand.cc * src/DHTMessageTrackerEntry.cc * src/DHTNode.cc * src/DHTPeerAnnounceEntry.cc * src/DHTPeerAnnounceStorage.cc * src/DHTSetup.cc * src/DefaultBtAnnounce.cc * src/DefaultBtInteractive.cc * src/DefaultBtMessageDispatcher.cc * src/DefaultPeerStorage.cc * src/DefaultPieceStorage.cc * src/DownloadCommand.cc * src/DownloadEngine.cc * src/FileEntry.cc * src/HttpServerBodyCommand.cc * src/HttpServerCommand.cc * src/HttpServerResponseCommand.cc * src/LpdMessageDispatcher.cc * src/MultiUrlRequestInfo.cc * src/Peer.cc * src/Peer.h * src/PeerAbstractCommand.cc * src/PeerStat.h * src/RequestSlot.cc * src/RequestSlot.h * src/SegmentMan.cc * src/ServerStatMan.cc * src/SleepCommand.cc * src/SpeedCalc.cc * src/SpeedCalc.h * src/TimeA2.cc * src/TimeA2.h * src/TimeBasedCommand.cc * src/TimeSeedCriteria.h * src/UTMetadataRequestTracker.h * src/UTPexExtensionMessage.cc * src/wallclock.h
* 2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-02-281-1/+1
| | | | | | | Use vector instead of deque for containers which is used for mostly read-only purpose.
* 2010-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-02-121-0/+3
| | | | | | | | | Fixed the bug that aria2 doesn't handle return value if error occurred before download begins. * src/MultiUrlRequestInfo.cc * src/main.cc
* 2010-01-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-01-091-1/+4
| | | | | | | | | | | | | | | | Fixed compile error with i586-mingw32msvc-gcc 4.4.2, without any additional libraries. * src/MultiUrlRequestInfo.cc * src/NameResolver.cc * src/SelectEventPoll.cc * src/SelectEventPoll.h * src/SocketCore.cc * src/SocketCore.h * src/a2netcompat.h * src/daemon.cc * src/main.cc
* 2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-01-051-19/+19
| | | | | | | | | Untabify. Fixed one line in copyright which is longer than 80 columns. * src * test
* 2009-12-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-12-261-0/+2
| | | | | | | | Added signal handler for SIGHUP to save .aria2 file when terminal is closed. The handler is the same one for SIGINT and SIGTERM. * src/MultiUrlRequestInfo.cc
* 2009-12-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-12-181-8/+0
| | | | | | | Removed old useless comment * src/MultiUrlRequestInfo.cc