Tatsuhiro Tsujikawa
b1132d6b10
make clang-format using clang-format-3.6
2015-12-27 18:40:08 +09:00
Tatsuhiro Tsujikawa
99cd73c092
Replace timer facility with chrono lib
2015-06-09 02:05:34 +09:00
Tatsuhiro Tsujikawa
bb8df11d7e
ftp, sftp: Fix heap-after-free bug on exception
2015-05-28 22:15:25 +09:00
Tatsuhiro Tsujikawa
70541498d8
ftp: Fix timeout when reusing FTP connection
2015-05-28 22:14:43 +09:00
Tatsuhiro Tsujikawa
62826d691d
ftp: Fix accessing first element in empty segments vector
2015-05-12 22:42:26 +09:00
Dan Fandrich
0538aa40da
Fixed some typos in code comments
2015-01-16 01:17:35 +01:00
Tatsuhiro Tsujikawa
2807258279
Use std::make_shared and make_unique where possible, part 1
2014-09-13 00:07:21 +09:00
Tatsuhiro Tsujikawa
4f3c526dcd
Support PREF_DIR change for Metalink files
...
Reworked previous commit adeead6f03
, and
now support changing PREF_DIR for Metalink downloads.
2014-06-04 21:45:12 +09:00
Nils Maier
010131161e
Remove ENABLE_MESSAGE_DIGEST, since we got the internal md, always
2014-04-17 18:02:42 +02:00
Tatsuhiro Tsujikawa
e1e6bb1ec5
Don't fail multiple concurrent dl same file if auto-file-renaming is enabled
2013-11-08 00:59:57 +09:00
Tatsuhiro Tsujikawa
6b397c8125
Use std::unique_ptr for CheckIntegrityEntry and FileAllocationEntry
2013-07-06 15:56:08 +09:00
Tatsuhiro Tsujikawa
cb205a207c
Use std::unique_ptr for HttpRequest instead of std::shared_ptr
2013-07-04 00:13:15 +09:00
Tatsuhiro Tsujikawa
fa9f3fb5a3
Wrap Command object in std::unique_ptr
2013-06-23 21:55:52 +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
5bc5665c6a
Support off64_t for Android build
...
Android NDK R8e does not provide ftruncate64, but bionic has the
assembler code to access kernel function. We borrowed those
ftruncate64.S files from android source code repository. It turns out
that x86 asm.h in NDK R8e is also broken, so latest asm.h was also
borrowed.
2013-05-06 19:12:17 +09:00
Tatsuhiro Tsujikawa
26972b8535
Rewrite backup connection handling
...
Now dedicated ConnectCommand handles connection establishment. It
checks whether connection is established or not. It also handles
backup connection. The next Command creation is abstracted using
ControlChain struct template.
2013-04-01 23:51:33 +09:00
Tatsuhiro Tsujikawa
597e1a5c1b
Implement simple Happy Eyeballs for HTTP/FTP downloads
2013-04-01 00:12:27 +09:00
Tatsuhiro Tsujikawa
98e7018599
Fix failure to set TCP_NODELAY on Windows
...
On Windows setting TCP_NODELAY after non-blocking connect fails
at least on Windows 7.
2013-02-03 19:09:06 +09:00
Tatsuhiro Tsujikawa
bf4ea63a66
Disable TCP_NODELAY for BitTorrent
...
To make Request messages more often packed into 1 packet.
2013-01-15 23:17:21 +09:00
Tatsuhiro Tsujikawa
b9da9d4ed3
Use 64 bits random bytes as GID
...
This change replaces the current 64 bit sequential GID with 64 bits
random bytes GID in an attempt to support persistent GID. Internally,
the GID is stored as uint64_t. For human representation and RPC
interface, GID is represented as 16 bytes hex string. For console
readout, 16 bytes are too long, so it is abbreviated to first 6 bytes.
When querying GID in RPC calls, user can speicfy the prefix of GID as
long as the prefix is shared by more than 1 GID entries.
2012-12-16 17:29:01 +09:00
Tatsuhiro Tsujikawa
438f95abae
Made socket non-blocking mode in SocketCore::acceptConnection()
2012-11-28 00:10:32 +09:00
Tatsuhiro Tsujikawa
8b0c701266
Removed trailing spaces
2012-10-01 23:52:22 +09:00
Tatsuhiro Tsujikawa
3258614033
Removed *Handle typedef
2012-09-28 23:27:46 +09:00
Tatsuhiro Tsujikawa
a20e279606
Use std::string for SocketPoolEntry::options_
...
Currently, we only store 1 value for FTP download. std::map is
overkill in the this situation.
2012-09-26 23:00:05 +09:00
Tatsuhiro Tsujikawa
1b874268a0
Use int64_t instead of off_t
...
Some classes such as DiskAdaptor, DiskWriter, FileAllocationIterator
and ChecksumValidator are left unchanged.
2012-06-25 23:35:24 +09:00
Tatsuhiro Tsujikawa
4b03634f36
Use PRId64 for int64_t format specifier
2012-06-25 22:43:33 +09:00
Tatsuhiro Tsujikawa
1c292f469e
aria2 now doesn't assume download's completed just because file size matched
...
The only exception is zero-length file. If server tells file is
zero-length and --checksum option is given, aria2 now correctly checks
its checksum. There is one known issue: If downloaded file is
zero-length file and .aria2 file exists, it will not be deleted on
successful verification, because .aria2 file is not loaded.
2012-01-08 17:46:03 +09:00
Tatsuhiro Tsujikawa
413b61c316
FTP PASV: fixed IPv6 support.
...
If fake FTP URI cannot be parsed (this should not happen), throw
exception.
2011-12-10 17:57:31 +09:00
Tatsuhiro Tsujikawa
31163c6785
Check totalLength of file is less than std::numeric_limits<off_t>::max()
...
If totalLength is larger than std::numeric_limits<off_t>::max(), throw
DownloadFailureException.
2011-12-09 21:39:43 +09:00
Tatsuhiro Tsujikawa
f0bcfa822e
Use int instead of unsigned int where unsigned int is not needed.
2011-12-09 21:39:43 +09:00
Tatsuhiro Tsujikawa
12988e5282
Replaced uint64_t with off_t or int64_t.
...
Since off_t is int64_t with LFS, we cannot take advantage of extra
capacity of uint64_t.
2011-12-09 21:39:43 +09:00
Tatsuhiro Tsujikawa
f25e67b017
FTP pasv: Use request host when connecting server with http proxy.
2011-12-09 21:37:54 +09:00
Tatsuhiro Tsujikawa
f860bf0d50
Use %lld to fomat a2_gid_t
2011-12-02 21:36:11 +09:00
Tatsuhiro Tsujikawa
27dda3c65c
Support IPv6 address for FTP via HTTP tunneling.
...
We use control connection address as data connection address, so we
don't need to store both address and port. We just store port in
PASV/EPSV response and use SocketCore::getPeerInfo() to get peer's
address when needed.
2011-11-14 23:19:37 +09:00
Tatsuhiro Tsujikawa
1687741303
Use fmt instead of util::itos
2011-11-13 20:55:06 +09:00
Tatsuhiro Tsujikawa
5347efb967
Use fmt instead of using snprintf directly
2011-11-12 19:33:38 +09:00
Tatsuhiro Tsujikawa
2e5d9b056f
Removed strconcat
2011-11-12 18:17:34 +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
118626afc4
util::percentDecode now takes iterators as arguments.
2011-11-03 19:27:29 +09:00
Tatsuhiro Tsujikawa
02307cee0a
Removed utf8ToNative from log message and exception message.
2011-08-08 21:46:10 +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
1ea01e84b2
Use IP address of data connection to connect to the remote server in
...
passive mode.
2011-01-20 00:30:01 +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
0a2b1660fa
Removed DownloadContext::dir_. Use PREF_DIR value instead.
2010-12-03 13:08:22 +09:00
Tatsuhiro Tsujikawa
f0f4f8f703
Added more error code values.
...
I have not set error code for all exception invocation.
In this change, I set error code where error likely occurs.
2010-12-01 21:26:58 +09:00
Tatsuhiro Tsujikawa
ecbc05012c
Added additional error_code::Values(9 through 14).
2010-11-28 17:29:32 +09:00
Tatsuhiro Tsujikawa
947967fc63
Renamed DownloadErrorCode.h as error_code.h. Renamed
...
downloaderrorcode::Value as error_code::Value.
2010-11-28 16:52:02 +09:00
Tatsuhiro Tsujikawa
03417e94b4
2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Use format specifier %lld for cuid_t. Defined cuid_t as long long
int instead of int64_t, since g++ complains int64_t is not
suitable for %lld.
2010-11-20 12:12:06 +00:00
Tatsuhiro Tsujikawa
694fb307aa
2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Replaced StringFormat with fmt
2010-11-20 09:36:14 +00:00
Tatsuhiro Tsujikawa
580098eb49
2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Rewritten Logger interface. Logger now writes source file name and
line number in log file.
2010-11-20 08:21:36 +00:00