summaryrefslogtreecommitdiff
path: root/src/FtpNegotiationCommand.cc
Commit message (Collapse)AuthorAgeFilesLines
* clang-format-4.0Tatsuhiro Tsujikawa2017-05-191-2/+3
|
* Use default where possibleNils Maier2016-08-291-1/+1
|
* Refactor SocketCore::getPeerInfo, getAddrInfo to return Endpoint objectTatsuhiro Tsujikawa2016-01-091-4/+3
|
* make clang-format using clang-format-3.6Tatsuhiro Tsujikawa2015-12-271-235/+286
|
* Replace timer facility with chrono libTatsuhiro Tsujikawa2015-06-091-2/+4
|
* ftp, sftp: Fix heap-after-free bug on exceptionTatsuhiro Tsujikawa2015-05-281-1/+1
|
* ftp: Fix timeout when reusing FTP connectionTatsuhiro Tsujikawa2015-05-281-0/+1
|
* ftp: Fix accessing first element in empty segments vectorTatsuhiro Tsujikawa2015-05-121-1/+3
|
* Fixed some typos in code commentsDan Fandrich2015-01-161-1/+1
|
* Use std::make_shared and make_unique where possible, part 1Tatsuhiro Tsujikawa2014-09-131-13/+13
|
* Support PREF_DIR change for Metalink filesTatsuhiro Tsujikawa2014-06-041-4/+6
| | | | | Reworked previous commit adeead6f0396e2f8551d1182972e277728fd6c8b, and now support changing PREF_DIR for Metalink downloads.
* Remove ENABLE_MESSAGE_DIGEST, since we got the internal md, alwaysNils Maier2014-04-171-9/+3
|
* Don't fail multiple concurrent dl same file if auto-file-renaming is enabledTatsuhiro Tsujikawa2013-11-081-8/+3
|
* Use std::unique_ptr for CheckIntegrityEntry and FileAllocationEntryTatsuhiro Tsujikawa2013-07-061-9/+10
|
* Use std::unique_ptr for HttpRequest instead of std::shared_ptrTatsuhiro Tsujikawa2013-07-041-2/+2
|
* Wrap Command object in std::unique_ptrTatsuhiro Tsujikawa2013-06-231-6/+5
|
* Require -std=c++11 and use std::shared_ptr instead of SharedHandleTatsuhiro Tsujikawa2013-06-221-18/+18
|
* Support off64_t for Android buildTatsuhiro Tsujikawa2013-05-061-1/+1
| | | | | | | | 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.
* Rewrite backup connection handlingTatsuhiro Tsujikawa2013-04-011-51/+1
| | | | | | | 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.
* Implement simple Happy Eyeballs for HTTP/FTP downloadsTatsuhiro Tsujikawa2013-04-011-1/+43
|
* Fix failure to set TCP_NODELAY on WindowsTatsuhiro Tsujikawa2013-02-031-5/+1
| | | | | On Windows setting TCP_NODELAY after non-blocking connect fails at least on Windows 7.
* Disable TCP_NODELAY for BitTorrentTatsuhiro Tsujikawa2013-01-151-0/+4
| | | | To make Request messages more often packed into 1 packet.
* Use 64 bits random bytes as GIDTatsuhiro Tsujikawa2012-12-161-1/+1
| | | | | | | | | | 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.
* Made socket non-blocking mode in SocketCore::acceptConnection()Tatsuhiro Tsujikawa2012-11-281-2/+1
|
* Removed trailing spacesTatsuhiro Tsujikawa2012-10-011-4/+4
|
* Removed *Handle typedefTatsuhiro Tsujikawa2012-09-281-2/+2
|
* Use std::string for SocketPoolEntry::options_Tatsuhiro Tsujikawa2012-09-261-3/+3
| | | | | Currently, we only store 1 value for FTP download. std::map is overkill in the this situation.
* Use int64_t instead of off_tTatsuhiro Tsujikawa2012-06-251-1/+1
| | | | | Some classes such as DiskAdaptor, DiskWriter, FileAllocationIterator and ChecksumValidator are left unchanged.
* Use PRId64 for int64_t format specifierTatsuhiro Tsujikawa2012-06-251-6/+5
|
* aria2 now doesn't assume download's completed just because file size matchedTatsuhiro Tsujikawa2012-01-081-14/+45
| | | | | | | | 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.
* FTP PASV: fixed IPv6 support.Tatsuhiro Tsujikawa2011-12-101-3/+4
| | | | | If fake FTP URI cannot be parsed (this should not happen), throw exception.
* Check totalLength of file is less than std::numeric_limits<off_t>::max()Tatsuhiro Tsujikawa2011-12-091-3/+2
| | | | | If totalLength is larger than std::numeric_limits<off_t>::max(), throw DownloadFailureException.
* Use int instead of unsigned int where unsigned int is not needed.Tatsuhiro Tsujikawa2011-12-091-14/+14
|
* Replaced uint64_t with off_t or int64_t.Tatsuhiro Tsujikawa2011-12-091-2/+2
| | | | | Since off_t is int64_t with LFS, we cannot take advantage of extra capacity of uint64_t.
* FTP pasv: Use request host when connecting server with http proxy.Tatsuhiro Tsujikawa2011-12-091-1/+1
|
* Use %lld to fomat a2_gid_tTatsuhiro Tsujikawa2011-12-021-1/+1
|
* Support IPv6 address for FTP via HTTP tunneling.Tatsuhiro Tsujikawa2011-11-141-18/+19
| | | | | | | 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.
* Use fmt instead of util::itosTatsuhiro Tsujikawa2011-11-131-2/+1
|
* Use fmt instead of using snprintf directlyTatsuhiro Tsujikawa2011-11-121-4/+2
|
* Removed strconcatTatsuhiro Tsujikawa2011-11-121-2/+5
|
* 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.
* util::percentDecode now takes iterators as arguments.Tatsuhiro Tsujikawa2011-11-031-1/+2
|
* Removed utf8ToNative from log message and exception message.Tatsuhiro Tsujikawa2011-08-081-2/+2
|
* In MinGW32, open file with UNICODE filename and print them in ANSI.Tatsuhiro Tsujikawa2011-08-041-4/+5
|
* Use IP address of data connection to connect to the remote server inTatsuhiro Tsujikawa2011-01-201-2/+4
| | | | passive mode.
* Eliminated SocketCore::peekData() form HTTP/FTP downloads.Tatsuhiro Tsujikawa2011-01-161-1/+4
| | | | | | | | | | 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.
* Removed DownloadContext::dir_. Use PREF_DIR value instead.Tatsuhiro Tsujikawa2010-12-031-1/+1
|
* Added more error code values.Tatsuhiro Tsujikawa2010-12-011-13/+24
| | | | | I have not set error code for all exception invocation. In this change, I set error code where error likely occurs.
* Added additional error_code::Values(9 through 14).Tatsuhiro Tsujikawa2010-11-281-2/+3
|
* Renamed DownloadErrorCode.h as error_code.h. RenamedTatsuhiro Tsujikawa2010-11-281-3/+3
| | | | downloaderrorcode::Value as error_code::Value.