Commit Graph

267 Commits (461a542c5e236a22bb4edba3fae9610df4ba44c6)

Author SHA1 Message Date
Tatsuhiro Tsujikawa e2340efe27 Use std::vector instead of std::map for ContextAttribute objects
Now key for ContextAttribute object store is int instead of string.
2012-09-22 17:37:30 +09:00
Tatsuhiro Tsujikawa 2148cbaf1d Fixed compile error without XML library 2012-09-02 21:04:36 +09:00
Tatsuhiro Tsujikawa d734ff7d29 Added new file allocation method called 'trunc'
--file-allocation option can now take new value 'trunc'. 'trunc' uses
ftruncate() system call or platform-specific counterpart to truncate a
file to a specified length.
2012-08-12 16:52:53 +09:00
Tatsuhiro Tsujikawa 3465906969 Added missing sources to SRCS 2012-07-30 22:31:09 +09:00
Tatsuhiro Tsujikawa 01e1fdaf49 Parse torrent file on the fly if --follow-torrent=mem is given
In this changes, Bencode parser in bencode2 is removed and the request
is delegated to BencodeParser.
2012-07-26 21:07:10 +09:00
Tatsuhiro Tsujikawa 8311d6ef87 Added stream Bencode parser 2012-07-24 23:50:06 +09:00
Tatsuhiro Tsujikawa f6b2c3c080 Rewritten ExpatXmlParser
Put common elements in both Xml2XmlParser and ExpatXmlParser in
XmlParser.
2012-07-23 23:41:33 +09:00
Tatsuhiro Tsujikawa 7100b1b9ca Parse HTTP RPC request on the fly without buffering 2012-07-14 18:59:56 +09:00
Tatsuhiro Tsujikawa 57b46d5123 Added streaming parser for structured data format.
Added JSON streaming parser. Note that currently JSON parser ignores
frac and exp parts of number construct.
2012-07-10 01:42:42 +09:00
Tatsuhiro Tsujikawa ca60020fa4 Removed dependency on inet_aton
Implemented inetPton as a replacement of inet_aton. inetPton is
implemented using net::getBinAddr.

This change fixes bug#3525424.
2012-05-14 01:17:50 +09:00
Tatsuhiro Tsujikawa 52826433d9 Fixed typo 2012-04-08 17:51:01 +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 4ff29f802f Moved PeerConnection.{h,cc} to BitTorrent resources 2012-01-08 01:09:58 +09:00
Tatsuhiro Tsujikawa c8191700b1 Fixed compile error without BitTorrent and Metalink support 2011-12-11 00:08:13 +09:00
Tatsuhiro Tsujikawa 8fe92517d9 Removed deleted source file entry 2011-12-10 19:26:36 +09:00
Tatsuhiro Tsujikawa 6bf696ca11 New help messages. Added suggestion for unknown/ambiguous options.
The help messages shown when argument error were redesigned and less
verbose now.  When unknown or ambiguous option is given, show
suggestions like "Did you mean...". Some constant values related to
levenstein distance are borrowed from git help.c.
2011-12-03 16:30:00 +09:00
Tatsuhiro Tsujikawa b89bc8a6cb Added --stop-with-process=PID option.
This feature stops application when process PID is not running.  This
is useful if aria2 process is forked from a parent process. The parent
process can fork aria2 with its own pid and when parent process exits
for some reason, aria2 can detect it and shutdown itself.

The code which detects whether or not given process PID is running is
contributed by Emmanuel Engelhart.
2011-12-01 23:21:44 +09:00
Tatsuhiro Tsujikawa 787bfd75da Use XmlParser for XML-RPC. 2011-11-11 00:37:32 +09:00
Tatsuhiro Tsujikawa 440f29aca3 Rewritten Metalink XML parser.
Now we don't strip white spaces while parsing Metalink V3 document.
Expat implementation does not included in this change.
2011-11-10 22:38:01 +09:00
Tatsuhiro Tsujikawa 72a1847ba8 Rewritten *ARC4Encryptor. Removed *ARC4Context.
Now *ARC4Encryptor supports in-place encryption.
2011-11-08 00:50:07 +09:00
Tatsuhiro Tsujikawa 02b3873e6d Removed ARC4Decryptor because ARC4Encryptor can decrypt the message. 2011-11-07 22:24:47 +09:00
Tatsuhiro Tsujikawa 30fdb08f40 Rewritten parametered URI handling routine. 2011-11-06 16:37:02 +09:00
Tatsuhiro Tsujikawa d45d854926 Rewritten base64::decode and base64::encode 2011-11-05 23:30:46 +09:00
Tatsuhiro Tsujikawa 17a1b51a76 mv Base64.{cc,h} base64.{cc,h} 2011-11-05 21:13:49 +09:00
Tatsuhiro Tsujikawa 9bb914b76e Changed parse*Int functions so that it accepts iterators. 2011-11-03 18:51:31 +09:00
Tatsuhiro Tsujikawa 9a51cc356b Changed interface of BtRegistry.
BtRegistry now uses SharedHandle<BtObject> instead of BtObject.
2011-11-01 23:13:13 +09:00
Tatsuhiro Tsujikawa 4a455b5afe Removed IntSequence and Sequence<T> 2011-10-30 15:08:44 +09:00
Tatsuhiro Tsujikawa 78c3bcd199 Added SegList<T>, replacement of Sequence<T> 2011-10-29 21:51:58 +09:00
Tatsuhiro Tsujikawa 23a83deb4f Renamed NameMatchOptionHandler as AbstractOptionHandler. 2011-10-22 22:57:44 +09:00
Tatsuhiro Tsujikawa a077ddd111 Fixed compile error with --without-libxml2 --without-libexpat 2011-09-28 23:41:22 +09:00
Tatsuhiro Tsujikawa 201af99501 Added GeomStreamPieceSelector. 2011-08-24 21:56:54 +09:00
Tatsuhiro Tsujikawa e76dc28f7f Added libnettle and libgmp support.
libnettle and libgmp is used by default. Old implementation uses
libgcrypt as default. If more and more Linux distributions offer
libnettle linked GnuTLS, then this change decrease library dependency
against libgcrypt and libgpg-error.  The current library detection for
libnettle and libgmp is very simple, just use AC_SEARCH_LIBS.
util::generateRandomData() was written using SimpleRandomizer, thus no
external library dependency from this function.
2011-08-11 02:29:14 +09:00
Tatsuhiro Tsujikawa e8e3a6f259 wallclock is now retrieved using global::wallclock() call.
This is necessary to avoid global variable initialization order
problem.
2011-08-10 01:17:28 +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 6cb91cae88 Added fopen/fread/fwrite/fgets wrapper class. 2011-08-06 21:17:36 +09:00
Tatsuhiro Tsujikawa 9ff60ac477 Added struct for Metalink/HTTP 2011-07-26 23:19:54 +09:00
Tatsuhiro Tsujikawa 65ec9e98df Replaced InOrder with Inorder. 2011-06-11 21:49:09 +09:00
Tatsuhiro Tsujikawa deaea9537b Added --stream-piece-selector option.
This option specifies piece selection algorithm used in HTTP/FTP
download. Piece means fixed length segment which is downloaded in
parallel in segmented download. If 'default' is given, aria2 selects
piece so that it reduces the number of establishing connection. This
is reasonable default behaviour because establishing connection is an
expensive operation.  If 'inorder' is given, aria2 selects piece which
has minimum index. Index=0 means first of the file. This will be
useful to view movie while downloading it. --enable-http-pipelining
option may be useful to reduce reconnection overhead.  Please note
that aria2 honors --min-split-size option, so it will be necessary to
specify a reasonable value to --min-split-size option.
2011-06-11 21:41:56 +09:00
Tatsuhiro Tsujikawa cc82da3bab Added StreamPieceSelector class.
This class abstracts the piece selection algorithm for HTTP/FTP
download.
2011-06-11 17:34:17 +09:00
Tatsuhiro Tsujikawa f0cfbb21c1 Renamed classes in abstract layer of RPC service from XmlRpc* to Rpc*.
Now JSON-RPC is available by default regardless of XML library.
XML-RPC becomes available when XML library is available.
2011-03-14 16:38:54 +09:00
Tatsuhiro Tsujikawa 7338a25035 Added initial JSON-RPC support.
JSON-RPC is enabled using --enable-xml-rpc. We are implementing
JSON-RPC based on JSON-RPC 2.0 draft spec.
2011-03-09 23:07:27 +09:00
Tatsuhiro Tsujikawa 395212f47f Replaced HAVE_LIBSSL with HAVE_OPENSSL 2011-02-18 22:43:50 +09:00
Tatsuhiro Tsujikawa 7230fbd2f7 Replaced HAVE_LIBZ with HAVE_ZLIB 2011-02-18 22:34:38 +09:00
Tatsuhiro Tsujikawa 3f125dce21 Use LIBS and CPPFLAGS instead of substituting them individually per
library.
2011-02-18 18:53:53 +09:00
Tatsuhiro Tsujikawa 2666bc8170 Renamed MessageDigestHelper as message_digest_helper
Static member variables in MessageDigestHelper class are now functions
under message_digest namespace.
2011-02-05 23:38:51 +09:00
Tatsuhiro Tsujikawa 38202a5565 Renamed MetalinkHelper as metalink_helper.
Static member functions in MetalinkHelper class is now functions under
metalink namespace.
2011-02-05 23:21:06 +09:00
Tatsuhiro Tsujikawa 2ba2511dd5 Check presence of ar.
This change allows configure to find appropriate ar at cross compile.
2011-01-29 21:33:57 +09:00
Tatsuhiro Tsujikawa ea1b4b3ee5 Eliminated SocketCore::peekData() form HTTP/FTP downloads.
We introduced SocketRecvBuffer which buffers received bytes. Since
HTTP response header and response body are divided with \r\n, we have
to buffer up several bytes to find this delimiter. We use
SocketRecvBuffer to hold these bytes and only consumes header and
passes SocketRecvBuffer, which may contain head of response body, to
next Command.  Since FTPConnection doesn't use SocketCore::peekData(),
we left it as is.
2011-01-16 16:55:41 +09:00
Tatsuhiro Tsujikawa 3ee6784b76 Made `make distcheck' pass.
We added 2 macros A2_TEST_DIR and A2_TEST_OUT_DIR to pass tests in
`make distcheck`.  A2_TEST_DIR refers to test directory.  All output
files by unit tests are now created under A2_TEST_OUT_DIR directory.
2010-12-02 22:52:35 +09:00