Commit Graph

2592 Commits (41cb7743746a6013c13a425eb9283ee23113ce84)

Author SHA1 Message Date
Tatsuhiro Tsujikawa 41cb774374 Made getMethodName() of RpcMethod subclass return const char* 2012-09-25 21:57:08 +09:00
Tatsuhiro Tsujikawa 260a0b8bcb Rewritten AnnounceList::getEventString() 2012-09-25 00:07:14 +09:00
Tatsuhiro Tsujikawa b640b830a2 Made STATUS_STRING const char*[] 2012-09-25 00:01:00 +09:00
Tatsuhiro Tsujikawa a8c0794640 Made DEFAULT_STRIP_CHARSET const char[] 2012-09-24 23:54:41 +09:00
Tatsuhiro Tsujikawa 656a766bb0 Rewritten ServerStatMan::load() 2012-09-24 23:35:41 +09:00
Tatsuhiro Tsujikawa d8c44fe9e8 Use const char* instead of static const std::string 2012-09-24 23:20:43 +09:00
Tatsuhiro Tsujikawa 0144397e4b Rewritten File::getPathSeparators() 2012-09-24 23:04:42 +09:00
Tatsuhiro Tsujikawa d95a179876 Removed A2STR strings other than NIL 2012-09-24 23:01:08 +09:00
Tatsuhiro Tsujikawa 4423ece43d Moved GZipDecoder to test 2012-09-24 22:38:59 +09:00
Tatsuhiro Tsujikawa dc74ebeced Removed unused code 2012-09-24 21:46:26 +09:00
Tatsuhiro Tsujikawa 8d8ba403fe Removed proxy-connection from InterestingHeader 2012-09-23 22:33:15 +09:00
Tatsuhiro Tsujikawa 8b0bdacace Don't send Proxy-Connection header field
It was deprecated long ago.
2012-09-23 21:51:53 +09:00
Tatsuhiro Tsujikawa 54665ff409 Removed static std::string constant in HttpHeader
This change also removes inspection of Proxy-Connection header field
when checking whether the remote endpoint keeps connection open.
2012-09-23 21:46:01 +09:00
Tatsuhiro Tsujikawa dd7014a612 Store only interesting HTTP headers in HttpHeader
In this change, we defined HTTP header fields we are interested in.
We only store those headers in HttpHeader object.  Accessing HTTP
headers in HttpHeader object is now done through enum values.
2012-09-23 20:59:34 +09:00
Tatsuhiro Tsujikawa 0b4dec0250 Increased shreshold of command-line option suggestion 2012-09-23 15:06:39 +09:00
Tatsuhiro Tsujikawa 295a62f538 Rewritten help tags and various internal flag handling in OptionHandler
Now help tags are defined as enum values to avoid vector of strings.
The internal flags are represented by bitmask to shrink size.
2012-09-23 14:59:05 +09:00
Tatsuhiro Tsujikawa 461a542c5e Rewritten DownloadHandlerConstants
DownloadHandlerConstants was simplified.  MIME type handling in Accept
header was also reworked.  DownloadContext's metalinkServerContacted_
is replaced with acceptMetalink_ and its boolean value is reverted.
RequestGroup and HttpRequest now do not hold vector of accepting
types.  HttpRequest has the flag acceptMetalink_ which will be set by
the same value of DownloadContext::accpetMetalink_ and if it is true,
Metalink MIME types are added to Accept header field.
2012-09-22 23:19:41 +09:00
Tatsuhiro Tsujikawa 9d294741fd Rewritten FeatureConfig into set of functions 2012-09-22 20:56:39 +09:00
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 0030025bb6 Don't set SNI hostname if it does not include "." for GNUTLS 2012-09-15 01:14:21 +09:00
Tatsuhiro Tsujikawa 393d0d9fbc Disable SSL/TLS compression with OpenSSL 2012-09-15 01:13:52 +09:00
Tatsuhiro Tsujikawa d0703a2f26 Code cleanup 2012-09-07 21:45:36 +09:00
Tatsuhiro Tsujikawa 763c7a0aa0 Pause download even if download is completed
This allows to pause and unpause BitTorrent seed.
2012-09-07 01:40:40 +09:00
Tatsuhiro Tsujikawa f6c7aaa1cd Use execlp() instead of execl() 2012-09-07 01:28:53 +09:00
Tatsuhiro Tsujikawa 2148cbaf1d Fixed compile error without XML library 2012-09-02 21:04:36 +09:00
Tatsuhiro Tsujikawa e2bf627b17 Ensure that num of commands is 0 before processing tracker response 2012-09-02 17:43:26 +09:00
Tatsuhiro Tsujikawa 3c39931566 Remove trailing white spaces 2012-09-02 17:40:11 +09:00
Tatsuhiro Tsujikawa 2a51949132 Catch exception from Socket::getPeerInfo() when pooling connection
Socket::getPeerInfo() may fail if its TCP connection has already
disconnected. In this case, we log this error. The success or failure
of pooling connection should not affect the later execution of the
program.
2012-09-02 17:35:50 +09:00
Tatsuhiro Tsujikawa 9840955798 Removed trailing white spaces 2012-09-01 20:54:07 +09:00
Tatsuhiro Tsujikawa 086c5701e1 Updated doc 2012-09-01 20:53:38 +09:00
Tatsuhiro Tsujikawa ce5c016066 Cleared pre and post download handlers from BitTorrent tracker request 2012-09-01 00:53:30 +09:00
Tatsuhiro Tsujikawa b336725ca0 Don't check control file existence if isPreLocalFileCheckEnabled() == false 2012-08-31 23:40:32 +09:00
Tatsuhiro Tsujikawa 0bbda43385 Fixed assertion error if --retry-wait is used
In CreateRequestCommand, if Request object returned from getRequest()
is still sleeping, CreateRequestCommand pools it back but still holds
its reference. This makes assertion error in
UnknownLengthPieceStroage::hasMissingUnusedPiece() from
AbstractCommand::execute().
2012-08-31 22:31:31 +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 e2fcd6d72c Use enum to select file allocation method 2012-08-11 23:38:58 +09:00
Tatsuhiro Tsujikawa 8f1049c15f Fixed assertion in removeRequestGroupIndex() 2012-08-03 00:27:03 +09:00
Tatsuhiro Tsujikawa 2795176d79 Add GID => RequestGroup index for faster access to RequestGroup 2012-07-31 23:55:51 +09:00
Tatsuhiro Tsujikawa 329a17b3f9 Removed tailing whitespaces 2012-07-31 21:26:59 +09:00
Tatsuhiro Tsujikawa 3465906969 Added missing sources to SRCS 2012-07-30 22:31:09 +09:00
Tatsuhiro Tsujikawa c1ddf34e4b Specify torrent file explicitly in createRequestGroupForBitTorrent() 2012-07-26 21:20:08 +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 7176107414 BencodeParser: fixed parser failure due to the uninitialized variables 2012-07-26 20:42:02 +09:00
Tatsuhiro Tsujikawa 8311d6ef87 Added stream Bencode parser 2012-07-24 23:50:06 +09:00
Tatsuhiro Tsujikawa 9620bb0a6d Fix off by 1 error in JsonParser::parseUpdate() return value 2012-07-24 23:47:18 +09:00
Tatsuhiro Tsujikawa 2684db766d Fix Android build 2012-07-24 00:05:18 +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 4b57106a17 Check sum of file length does not exceed INT64_MAX
With BitTorrent or Metalink (metaurl), one RequestGroup can contain
multiple files. In this change, ensure that the sum of thoese files
must be equal or less than INT64_MAX.
2012-07-23 21:57:02 +09:00
Tatsuhiro Tsujikawa 860f4dd06a Use int64_t instead of off_t
Using off_t, at least, in DiskAdaptor layer is problematic because
torrent can contain under 2GiB files but total sum of those files may
exceed 2GiB limit, which makes off_t overflow in 32 bit system without
large file support. So we use int64_t in API. We'll check the file
length before download so that it does not exceed max off_t.
2012-07-23 21:42:47 +09:00
Tatsuhiro Tsujikawa f56743b083 Parse WebSocket RPC request on the fly without buffering 2012-07-15 00:24:59 +09:00
Tatsuhiro Tsujikawa 7100b1b9ca Parse HTTP RPC request on the fly without buffering 2012-07-14 18:59:56 +09:00