Tatsuhiro Tsujikawa
9bb914b76e
Changed parse*Int functions so that it accepts iterators.
2011-11-03 18:51:31 +09:00
Tatsuhiro Tsujikawa
6ef91d60b3
Rewritten util::stripIter(), which now returns pair of iterator.
2011-11-03 16:19:21 +09:00
Tatsuhiro Tsujikawa
f884ad8339
Rewritten parseIndexPath. Renamed createIndexPathMap as createIndexPaths.
2011-11-02 00:18:39 +09:00
Tatsuhiro Tsujikawa
4a455b5afe
Removed IntSequence and Sequence<T>
2011-10-30 15:08:44 +09:00
Tatsuhiro Tsujikawa
5749647ae5
Use SegList<int> instead of IntSequence in DownloadContext::setFileFilter()
2011-10-29 23:33:48 +09:00
Tatsuhiro Tsujikawa
0ba6f8c352
Use same domain-match algorithm for no-proxy and netrc.
...
Now "example.org" does not domain-match ".example.org" in both
functions.
2011-10-29 00:16:46 +09:00
Tatsuhiro Tsujikawa
12659c74a8
Don't copy Option in RequestGroup ctor.
...
Copy on receive is not a practice in aria2 source code.
2011-10-25 21:44:04 +09:00
Tatsuhiro Tsujikawa
3832ed97c6
Rewritten Option. Introduced Pref.
...
Now preference key is Pref instead of just string. It has Option
ID. Now option lookup and setting takes O(1) using Pref object.
2011-10-21 21:56:42 +09:00
Tatsuhiro Tsujikawa
74e5aa0ace
Rewritten util::inSameCidrBlock() to support IPv6 address.
...
We also introduced union sockaddr_union in a2netcompat.h.
2011-10-19 23:14:13 +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
7368c9c9d8
Percent-encode non-printable ASCII and non-ASCII chars in FileEntry.
...
Percent-encode non-printable ASCII and non-ASCII chars in URI using
util::percentEncodeMini() when URI is added to FileEntry. Removed
percent-encode from Request. Also do percent-encoding when setting
referer and redirected URI.
2011-08-07 20:46:04 +09:00
Tatsuhiro Tsujikawa
3879da592d
In MinGW32, open file with UNICODE filename and print them in ANSI.
2011-08-04 21:43:02 +09:00
Tatsuhiro Tsujikawa
7c317de4e7
Added Metalink/HTTP Link and Digest header field parser.
2011-07-26 23:41:21 +09:00
Tatsuhiro Tsujikawa
5a4a627d72
Remove Metalink content-type after first server response.
...
We don't accept Metalink content-type after first server response.
2011-07-25 00:03:13 +09:00
Tatsuhiro Tsujikawa
e7d7233d54
Moved joinUri from util namespace to uri namespace.
2011-05-06 23:20:43 +09:00
Tatsuhiro Tsujikawa
871819af59
Added util::joinUri()
2011-04-30 00:15:27 +09:00
Tatsuhiro Tsujikawa
567b424907
Pass first filename as 2nd argument to command specified by
...
--on-download-* option.
2010-12-04 18:14:27 +09:00
Tatsuhiro Tsujikawa
378ba26ed3
Updated doc
2010-11-29 21:06:00 +09:00
Tatsuhiro Tsujikawa
d8d159ccd8
2010-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Replaced HttpHeader::responseStatus_ with HttpHeader::statusCode_.
statusCode_ is of type int.
* src/AbstractProxyResponseCommand.cc
* src/FtpNegotiationCommand.cc
* src/HttpHeader.cc
* src/HttpHeader.h
* src/HttpHeaderProcessor.cc
* src/HttpResponse.cc
* src/HttpResponse.h
* src/HttpResponseCommand.cc
* src/HttpSkipResponseCommand.cc
* src/util.cc
* src/util.h
* test/HttpHeaderProcessorTest.cc
* test/HttpHeaderTest.cc
* test/HttpResponseTest.cc
* test/UtilTest.cc
2010-11-15 12:52:03 +00:00
Tatsuhiro Tsujikawa
228b4c50d7
2010-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Capture errno right after system/library call to avoid it to get
overwritten. Use util::safeStrerror instead of strerror directly
because strerror might return NULL. We don't check errno for
std::fstream anymore.
* src/AbstractDiskWriter.cc
* src/CookieStorage.cc
* src/DHTAutoSaveCommand.cc
* src/DHTRoutingTableDeserializer.cc
* src/DHTRoutingTableSerializer.cc
* src/DefaultBtProgressInfoFile.cc
* src/EpollEventPoll.cc
* src/IteratableChunkChecksumValidator.cc
* src/KqueueEventPoll.cc
* src/Logger.cc
* src/MessageDigestHelper.cc
* src/PortEventPoll.cc
* src/SelectEventPoll.cc
* src/SocketCore.cc
* src/message.h
* src/util.cc
* src/util.h
2010-11-09 14:43:47 +00:00
Tatsuhiro Tsujikawa
2b458da480
2010-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Made #include guard consistent for c++ header files.
2010-10-31 07:23:53 +00:00
Tatsuhiro Tsujikawa
0abd4a2f7b
2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Rewritten util::split()
* src/util.h
* test/UtilTest.cc
2010-10-10 06:58:31 +00:00
Tatsuhiro Tsujikawa
1875d7382f
2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Replaced util::split(a,b,c) and util::split(a,b) with
util::divide()
* src/ExpatMetalinkProcessor.cc
* src/FtpConnection.cc
* src/HttpHeader.cc
* src/HttpResponse.cc
* src/HttpServer.cc
* src/OptionParser.cc
* src/ParameterizedStringParser.cc
* src/ServerStatMan.cc
* src/magnet.cc
* src/util.cc
* src/util.h
* test/UtilTest.cc
2010-10-10 03:39:00 +00:00
Tatsuhiro Tsujikawa
983b6006fd
2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
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-10 03:08:30 +00:00
Tatsuhiro Tsujikawa
8e059b66fa
2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added util::lowercase() and util::uppercase().
* src/cookie_helper.cc
* src/util.cc
* src/util.h
* test/UtilTest.cc
2010-10-10 02:51:38 +00:00
Tatsuhiro Tsujikawa
1505671e7b
2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Use util::strip() instead of util::trim()
* src/ExpatXmlRpcRequestProcessor.cc
* src/FeatureConfig.cc
* src/HttpHeader.cc
* src/MetalinkParserStateV3Impl.cc
* src/OptionHandlerImpl.h
* src/ServerStatMan.cc
* src/UriListParser.cc
* src/Xml2XmlRpcRequestProcessor.cc
* src/bittorrent_helper.cc
* src/cookie_helper.cc
* src/messageDigest.cc
* src/util.cc
* src/util.h
* test/FeatureConfigTest.cc
* test/HttpRequestTest.cc
* test/UriListParserTest.cc
* test/UtilTest.cc
2010-10-09 16:49:02 +00:00
Tatsuhiro Tsujikawa
dbea00fa9d
2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added util::strip()
* src/util.cc
* src/util.h
* test/UtilTest.cc
2010-10-09 16:22:56 +00:00
Tatsuhiro Tsujikawa
8b17d4b276
2010-10-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
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-09 14:22:49 +00:00
Tatsuhiro Tsujikawa
d956ea0b70
2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Non-UTF8 filenames are now percent-encoded. For example, filename
for http://example.org/%90%A2%8AE will be %90%A2%8AE because it is
Shift_JIS. The comments and name in .torrent file in XML-RPC
response are percent-encoded if they are not UTF-8.
* src/FtpNegotiationCommand.cc
* src/HttpRequestCommand.cc
* src/HttpResponseCommand.cc
* src/XmlRpcMethodImpl.cc
* src/bittorrent_helper.cc
* src/util.cc
* src/util.h
* test/BittorrentHelperTest.cc
* test/UtilTest.cc
2010-10-02 07:54:43 +00:00
Tatsuhiro Tsujikawa
b49081340d
2010-08-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Changed signature of util::executeHook().
* src/RequestGroupMan.cc
* src/util.cc
* src/util.h
2010-08-28 08:47:21 +00:00
Tatsuhiro Tsujikawa
34036e58af
2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added --on-bt-download-complete=COMMAND option. For BitTorrent, a
command specified in --on-download-complete is called when
download completes and seeding is over. On the other hand, this
option set the command to be executed when download completes but
before seeding.
* doc/aria2c.1.txt
* src/DefaultPieceStorage.cc
* src/OptionHandlerFactory.cc
* src/prefs.cc
* src/prefs.h
* src/usage_text.h
* src/util.cc
* src/util.h
2010-07-16 15:00:35 +00:00
Tatsuhiro Tsujikawa
b7e4018e45
2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Moved executeHook and executeHookByOptName to util.
* src/RequestGroupMan.cc
* src/util.cc
* src/util.h
2010-07-16 14:22:57 +00:00
Tatsuhiro Tsujikawa
5cc28b2d80
2010-04-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Made aria2 not send
"application/metalink4+xml,application/metalink+xml" in Accept
header for web-seeding URIs and tracker request.
* src/Metalink2RequestGroup.cc
* src/TrackerWatcherCommand.cc
* src/download_helper.cc
* src/util.cc
* src/util.h
2010-04-01 15:41:53 +00:00
Tatsuhiro Tsujikawa
feedb92ed7
2010-03-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Fixed compile error with g++-4.4 on FreeBSD.
* src/util.h
2010-03-29 14:39:09 +00:00
Tatsuhiro Tsujikawa
10edc156ea
2010-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added v key in DHT message. aria2's DHT version is independent of
the package version and we defined it as 1 at the moment. It is
defined as DHT_VERSION in src/DHTConstants.h. aria2's DHT version
scheme is "A2"+2bytes DHT version number in network byte order.
* src/DHTAbstractMessage.cc
* src/DHTConstants.h
* src/DHTMessage.cc
* src/DHTMessage.h
* src/DHTMessageFactoryImpl.cc
* src/DHTQueryMessage.cc
* src/DHTResponseMessage.cc
* src/util.h
* test/DHTAnnouncePeerMessageTest.cc
* test/DHTAnnouncePeerReplyMessageTest.cc
* test/DHTFindNodeMessageTest.cc
* test/DHTFindNodeReplyMessageTest.cc
* test/DHTGetPeersMessageTest.cc
* test/DHTGetPeersReplyMessageTest.cc
* test/DHTPingMessageTest.cc
* test/DHTPingReplyMessageTest.cc
2010-03-20 09:10:23 +00:00
Tatsuhiro Tsujikawa
4951142346
2010-03-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Accept IPv4 network address with CIDR block in --no-proxy option
and no_proxy environment variable. Current implementation does
not resolve hostname in URI to compare network address. So it is
only effecive if URI has numeric IP addresses.
* doc/aria2c.1.txt
* src/AbstractCommand.cc
* src/OptionHandlerFactory.cc
* src/bitfield.h
* src/usage_text.h
* src/util.cc
* src/util.h
* test/UtilTest.cc
* test/bitfieldTest.cc
2010-03-19 08:56:17 +00:00
Tatsuhiro Tsujikawa
41b7b9428f
2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
urldecode -> percentDecode
* src/FtpConnection.cc
* src/FtpNegotiationCommand.cc
* src/HttpResponse.cc
* src/Request.cc
* src/magnet.cc
* src/util.cc
* src/util.h
* test/UtilTest.cc
2010-03-07 14:29:40 +00:00
Tatsuhiro Tsujikawa
10b52bd9ac
2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
urlencode -> percentEncode,
torrentUrlencode -> torrentPercentEncode
* src/BtHandshakeMessage.cc
* src/BtHandshakeMessageValidator.h
* src/DHTMessageFactoryImpl.cc
* src/DefaultBtAnnounce.cc
* src/HandshakeExtensionMessage.cc
* src/HttpRequest.cc
* src/XmlRpcMethodImpl.cc
* src/bittorrent_helper.cc
* src/util.cc
* src/util.h
* test/DHTAnnouncePeerMessageTest.cc
* test/DHTGetPeersMessageTest.cc
* test/DHTGetPeersReplyMessageTest.cc
* test/UTPexExtensionMessageTest.cc
* test/UtilTest.cc
2010-03-07 14:24:21 +00:00
Tatsuhiro Tsujikawa
7637fd76a2
2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Fixed the bug that util::itos(INT64_MIN) fails.
* src/util.cc
* src/util.h
* test/UtilTest.cc
2010-03-05 14:38:49 +00:00
Tatsuhiro Tsujikawa
3bb7855a56
2010-03-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
In Metalink4, if size element contains invalid size, discard whole
document. Added strict hash value check for metalink3/4.
* src/MetalinkParserController.cc
* src/MetalinkParserStateMachine.cc
* src/MetalinkParserStateMachine.h
* src/MetalinkParserStateV3Impl.cc
* src/MetalinkParserStateV4Impl.cc
* src/util.cc
* src/util.h
* test/MetalinkParserControllerTest.cc
* test/MetalinkProcessorTest.cc
* test/metalink4.xml
2010-03-02 15:14:39 +00:00
Tatsuhiro Tsujikawa
c342bde962
2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Use vector instead of deque for containers which is used for
mostly read-only purpose.
2010-02-28 12:30:11 +00:00
Tatsuhiro Tsujikawa
e8d091af18
2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Replaced null or control characters in file path with '_'. For
MinGW32 build, additional characters which is not allowed in
Windows kernel are also replaced. util::detectDirTraversal() now
returns true if given string contains null or control characters.
* src/DownloadContext.cc
* src/DownloadContext.h
* src/Metalink2RequestGroup.cc
* src/MetalinkParserController.cc
* src/bittorrent_helper.cc
* src/util.cc
* src/util.h
* test/UtilTest.cc
2010-02-27 10:06:40 +00:00
Tatsuhiro Tsujikawa
3880a5f71b
2010-02-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added Metalink4 support. Currently, name attribute of
metalink::metaurl is ignored and multi-file torrent cannot be used
with Metalink4.
* doc/aria2c.1.txt
* src/DownloadHandlerConstants.cc
* src/ExpatMetalinkProcessor.cc
* src/Makefile.am
* src/Metalink2RequestGroup.cc
* src/MetalinkEntry.cc
* src/MetalinkEntry.h
* src/MetalinkParserController.cc
* src/MetalinkParserController.h
* src/MetalinkParserState.h
* src/MetalinkParserStateImpl.cc
* src/MetalinkParserStateImpl.h
* src/MetalinkParserStateMachine.cc
* src/MetalinkParserStateMachine.h
* src/MetalinkParserStateV3Impl.cc
* src/MetalinkParserStateV3Impl.h
* src/MetalinkParserStateV4Impl.cc
* src/MetalinkParserStateV4Impl.h
* src/MetalinkResource.cc
* src/MetalinkResource.h
* src/Metalinker.cc
* src/RequestGroup.cc
* src/RequestGroup.h
* src/XML2SAXMetalinkProcessor.cc
* src/messageDigest.cc
* src/util.cc
* src/util.h
* test/Makefile.am
* test/MetalinkEntryTest.cc
* test/MetalinkParserControllerTest.cc
* test/MetalinkProcessorTest.cc
* test/MetalinkerTest.cc
* test/UtilTest.cc
* test/metalink4-attrs.xml
* test/metalink4-dirtraversal.xml
* test/metalink4.xml
2010-02-25 14:40:18 +00:00
Tatsuhiro Tsujikawa
9281f11264
2010-02-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added Local Peer Discovery. It is disabled by default. Use
--bt-enable-lpd to enable the function.
* src/BtConstants.h
* src/BtSetup.cc
* src/LpdDispatchMessageCommand.cc
* src/LpdDispatchMessageCommand.h
* src/LpdMessage.h
* src/LpdMessageDispatcher.cc
* src/LpdMessageDispatcher.h
* src/LpdMessageReceiver.cc
* src/LpdMessageReceiver.h
* src/LpdReceiveMessageCommand.cc
* src/LpdReceiveMessageCommand.h
* src/Makefile.am
* src/OptionHandlerFactory.cc
* src/Peer.cc
* src/Peer.h
* src/PeerInteractionCommand.cc
* src/SocketCore.cc
* src/SocketCore.h
* src/prefs.cc
* src/prefs.h
* src/usage_text.h
* src/util.cc
* src/util.h
* test/LpdMessageDispatcherTest.cc
* test/LpdMessageReceiverTest.cc
* test/Makefile.am
2010-02-20 14:23:25 +00:00
Tatsuhiro Tsujikawa
2da32876a2
2010-02-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Support RFC2231 "Parameter Value Character Set and Language
Information" in Content-Disposition header.
* src/HttpResponse.cc
* src/util.cc
* src/util.h
* test/UtilTest.cc
2010-02-17 16:09:19 +00:00
Tatsuhiro Tsujikawa
eb4116ae57
2010-01-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Replaced isNumberAndDotsNotation() with isNumericHost().
isNumericHost() can handle IPv6 address.
* src/Cookie.cc
* src/CookieStorage.cc
* src/util.cc
* src/util.h
* test/CookieTest.cc
* test/UtilTest.cc
2010-01-28 14:25:16 +00:00
Tatsuhiro Tsujikawa
87b18019b4
2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Moved generateRandomKey() from bittorrent_helper to util.
* src/DHTBucket.cc
* src/DHTNode.cc
* src/bittorrent_helper.cc
* src/bittorrent_helper.h
* src/util.cc
* src/util.h
2010-01-17 10:05:53 +00:00
Tatsuhiro Tsujikawa
768f78f771
2010-01-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Replaced '/' and '_' with '_' in HTTP/FTP filename.
* src/A2STR.cc
* src/A2STR.h
* src/FtpNegotiationCommand.cc
* src/HttpResponseCommand.cc
* src/util.cc
* src/util.h
* test/UtilTest.cc
2010-01-11 14:32:20 +00:00
Tatsuhiro Tsujikawa
4c89170488
2010-01-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Treat --dir="" as --dir="."
* src/FtpNegotiationCommand.cc
* src/HttpResponseCommand.cc
* src/Metalink2RequestGroup.cc
* src/UTMetadataPostDownloadHandler.cc
* src/bittorrent_helper.cc
* src/download_helper.cc
* src/util.cc
* src/util.h
* test/UtilTest.cc
2010-01-11 14:01:20 +00:00
Tatsuhiro Tsujikawa
4db349c1f3
2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Untabify. Fixed one line in copyright which is longer than 80
columns.
* src
* test
2010-01-05 16:01:46 +00:00