| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
We also introduced union sockaddr_union in a2netcompat.h.
|
| | |
|
| |
|
|
| |
We don't read the response from peer about this.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Replaced StringFormat with fmt
|
| |
|
|
|
|
|
| |
Rewritten Logger interface. Logger now writes source file name and
line number in log file.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added '// namespace' after end of unnamed namespace.
* src/AbstractCommand.cc
* src/AnnounceList.cc
* src/BtSeederStateChoke.cc
* src/ConsoleStatCalc.cc
* src/CookieStorage.cc
* src/DHTBucket.cc
* src/DHTPeerAnnounceEntry.cc
* src/DHTPeerAnnounceStorage.cc
* src/DHTTaskQueueImpl.cc
* src/DefaultBtMessageDispatcher.cc
* src/DefaultBtRequestFactory.cc
* src/DefaultPeerStorage.cc
* src/DefaultPieceStorage.cc
* src/ExpatMetalinkProcessor.cc
* src/ExpatXmlRpcRequestProcessor.cc
* src/FeedbackURISelector.cc
* src/FileEntry.cc
* src/GZipEncoder.cc
* src/Metalink2RequestGroup.cc
* src/MetalinkEntry.cc
* src/MetalinkParserStateV3Impl.cc
* src/MetalinkParserStateV4Impl.cc
* src/Metalinker.cc
* src/MultiDiskAdaptor.cc
* src/Netrc.cc
* src/NsCookieParser.cc
* src/OptionParser.cc
* src/PieceStatMan.cc
* src/RarestPieceSelector.cc
* src/RequestGroupMan.cc
* src/SegmentMan.cc
* src/ServerStatMan.cc
* src/SocketCore.cc
* src/XML2SAXMetalinkProcessor.cc
* src/Xml2XmlRpcRequestProcessor.cc
* src/XmlRpcMethodImpl.cc
* src/cookie_helper.cc
* src/download_helper.cc
* src/messageDigest.cc
* src/util.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use inet_ntoa if inet_ntop is not available. Since inet_ntoa does
not handle IPv6 address, IPv6 support is limited in this
case. Fixed unit test error under mingw32.
* configure.ac
* src/AsyncNameResolver.cc
* src/SocketCore.cc
* src/bittorrent_helper.cc
* test/BittorrentHelperTest.cc
* test/DHTMessageFactoryImplTest.cc
* test/DHTRoutingTableDeserializerTest.cc
* test/DHTRoutingTableSerializerTest.cc
* test/DefaultBtAnnounceTest.cc
* test/Metalink2RequestGroupTest.cc
* test/UTPexExtensionMessageTest.cc
|
| |
|
|
|
|
|
|
| |
Added error message when given address and resolved address do not
match in SocketCore::bind().
* src/SocketCore.cc
|
| |
|
|
|
|
|
| |
Removed uitos(). Use util::uitos() instead.
* src/SocketCore.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added IPv6 DHT. Added --dht-entry-porint6, --dht-file-path6,
--dht-listen-addr6 and --enable-dht6 option. IPv6 DHT is disabled
by default. To use IPv6 DHT, you need to use --enable-dht6 and
specify a global unicast address to --dht-listen-addr6. IPv6 DHT
is highly experimental.
* src/BtSetup.cc
* src/DHTAutoSaveCommand.cc
* src/DHTAutoSaveCommand.h
* src/DHTConnectionImpl.cc
* src/DHTConnectionImpl.h
* src/DHTEntryPointNameResolveCommand.cc
* src/DHTFindNodeReplyMessage.cc
* src/DHTFindNodeReplyMessage.h
* src/DHTGetPeersMessage.cc
* src/DHTGetPeersReplyMessage.cc
* src/DHTGetPeersReplyMessage.h
* src/DHTMessageFactory.h
* src/DHTMessageFactoryImpl.cc
* src/DHTMessageFactoryImpl.h
* src/DHTMessageTracker.cc
* src/DHTRegistry.cc
* src/DHTRegistry.h
* src/DHTRoutingTableDeserializer.cc
* src/DHTRoutingTableDeserializer.h
* src/DHTRoutingTableSerializer.cc
* src/DHTRoutingTableSerializer.h
* src/DHTSetup.cc
* src/DHTSetup.h
* src/FtpConnection.cc
* src/LpdMessageReceiver.cc
* src/OptionHandlerFactory.cc
* src/OptionHandlerImpl.h
* src/PeerInteractionCommand.cc
* src/RequestGroup.cc
* src/SocketCore.cc
* src/SocketCore.h
* src/bittorrent_helper.cc
* src/bittorrent_helper.h
* src/prefs.cc
* src/prefs.h
* src/usage_text.h
* test/DHTConnectionImplTest.cc
* test/DHTFindNodeReplyMessageTest.cc
* test/DHTGetPeersMessageTest.cc
* test/DHTGetPeersReplyMessageTest.cc
* test/DHTMessageFactoryImplTest.cc
* test/DHTRoutingTableDeserializerTest.cc
* test/DHTRoutingTableSerializerTest.cc
* test/LpdMessageDispatcherTest.cc
* test/MockDHTMessageFactory.h
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added FTP EPSV and EPRT command support. aria2 issues these
commands when address family of local socket is AF_INET6.
* src/FtpConnection.cc
* src/FtpConnection.h
* src/FtpNegotiationCommand.cc
* src/FtpNegotiationCommand.h
* src/SocketCore.cc
* src/SocketCore.h
* test/FtpConnectionTest.cc
|
| |
|
|
|
|
|
| |
Changed naming standards for class member variable: now it looks
like var_ instead of _var.
|
| |
|
|
|
|
|
|
| |
Renamed member variables
* src/SocketCore.cc
* src/SocketCore.h
|
| |
|
|
|
|
|
|
| |
Fixed segmentation fault when running unit tests on opensolaris.
* src/SocketCore.cc
* src/bittorrent_helper.cc
|
| |
|
|
|
|
|
|
|
|
|
| |
Print warning when trying to add file descriptor >= FD_SET or < 0
to fd_set for other than MinGW32 build. For MinGW32 build, print
warning when trying to add file descriptor to fd_set when it
already contains FD_SET file descriptors.
* src/SelectEventPoll.cc
* src/SocketCore.cc
|
| |
|
|
|
|
|
|
|
|
|
|
| |
In SocketCore::isReadable()/isWritable(), use poll() if it is
available otherwise use select(). Removed epoll/port from there
because poll() does the good enough job for single socket event
notification.
* src/SocketCore.cc
* src/SocketCore.h
* src/main.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added opensolaris port_associate() support.
* src/DownloadEngineFactory.cc
* src/Makefile.am
* src/OptionHandlerFactory.cc
* src/PortEventPoll.cc
* src/PortEventPoll.h
* src/SocketCore.cc
* src/SocketCore.h
* src/configure.ac
* src/main.cc
* src/prefs.cc
* src/prefs.h
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Supported poll() for socket event notification. --event-poll can
take value "poll". Fixed the bug that timeout for
SocketCore::isReadable()/isWritable() is ignored when epoll is
used.
* src/OptionHandlerFactory.cc
* src/a2io.h
* src/prefs.h
* src/SocketCore.h
* src/Makefile.am
* src/main.cc
* src/PollEventPoll.h
* src/SocketCore.cc
* src/DownloadEngineFactory.cc
* src/PollEventPoll.cc
* src/prefs.cc
* configure.ac
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed compile error with openssl 1.1.0 and mingw32.
* src/AsyncNameResolver.cc
* src/LogFactory.cc
* src/Logger.cc
* src/Logger.h
* src/SocketCore.cc
* src/SocketCore.h
* src/a2netcompat.h
|
| |
|
|
|
|
|
| |
Fixed the bug that error message is not propagated to Exception.
* src/SocketCore.cc
|
| |
|
|
|
|
|
|
| |
Avoid to calculate end() iterator in each loop. std::deque is
particularly slow. Make sure that recalculate end iterator if
element is erased during loop.
|
| |
|
|
|
|
|
|
|
|
|
| |
Added aiFlags argument to getInterfaceAddress(). Use
AI_NUMERICHOST to find interface specified using
--bt-lpd-interface option to avoid time-consuming address lookup.
* src/BtSetup.cc
* src/SocketCore.cc
* src/SocketCore.h
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added --bt-lpd-interface option to specify the interface to use
for Local Peer Discovery. LpdMessageDispatcher object now has its
own socket. LpdMessageReceiver's socket is binded to multicast
address to only receive multicast packets.
* src/BtSetup.cc
* src/LpdMessageDispatcher.cc
* src/LpdMessageDispatcher.h
* src/LpdMessageReceiver.cc
* src/LpdMessageReceiver.h
* src/LpdReceiveMessageCommand.cc
* src/LpdReceiveMessageCommand.h
* src/OptionHandlerFactory.cc
* src/SocketCore.cc
* src/SocketCore.h
* src/prefs.cc
* src/prefs.h
* src/usage_text.h
* test/LpdMessageDispatcherTest.cc
* test/LpdMessageReceiverTest.cc
|
| |
|
|
|
|
|
|
|
| |
Put the portion of code to get interface addresses in
SocketCore::bindAddress() into newly added getInterfaceAddress().
* src/SocketCore.cc
* src/SocketCore.h
|
| |
|
|
|
|
|
|
|
| |
Fixed compile error with mingw32 cross compiler. Defined
a2_sockopt_t as void* for the target systems other than mingw32.
* src/SocketCore.cc
* src/a2netcompat.h
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
Small optimization for A2_WOULDBLOCK(e)
* src/SocketCore.cc
|
| |
|
|
|
|
|
| |
Check both EAGAIN and EWOULDBLOCK
* src/SocketCore.cc
|
| |
|
|
|
|
|
|
|
|
|
| |
Removed ret == 0 checking for SSL_read(), SSL_write() and
SSL_peek() because the checks are done in the caller. In
SocketBuffer::send(), throw exception if nothing could be written
and socket error was not EWOULDBLOCK
* src/SocketBuffer.cc
* src/SocketCore.cc
|
| |
|
|
|
|
|
|
|
| |
Fixed error code handling so that it can handle Winsock2 error
code.
* src/SocketCore.cc
* src/SocketCore.h
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Wrapped logger->debug(...) with if(logger->debug()) { ... }
* src/AbstractCommand.cc
* src/AdaptiveURISelector.cc
* src/BtPieceMessage.cc
* src/BtPortMessage.cc
* src/CreateRequestCommand.cc
* src/DHTAbstractNodeLookupTask.cc
* src/DHTBucket.cc
* src/DHTGetPeersCommand.cc
* src/DHTMessageDispatcherImpl.cc
* src/DHTMessageFactoryImpl.cc
* src/DHTMessageTracker.cc
* src/DHTPeerAnnounceStorage.cc
* src/DHTRoutingTable.cc
* src/DHTSetup.cc
* src/DefaultBtAnnounce.cc
* src/DefaultBtInteractive.cc
* src/DefaultBtMessageDispatcher.cc
* src/DefaultBtMessageReceiver.cc
* src/DefaultBtProgressInfoFile.cc
* src/DefaultBtRequestFactory.cc
* src/DefaultPeerStorage.cc
* src/DefaultPieceStorage.cc
* src/DownloadCommand.cc
* src/DownloadEngine.cc
* src/EpollEventPoll.cc
* src/FileAllocationCommand.cc
* src/FileEntry.cc
* src/FtpNegotiationCommand.cc
* src/HandshakeExtensionMessage.cc
* src/HttpListenCommand.cc
* src/HttpServer.cc
* src/HttpSkipResponseCommand.cc
* src/IteratableChunkChecksumValidator.cc
* src/Logger.h
* src/MSEHandshake.cc
* src/MetalinkPostDownloadHandler.cc
* src/MultiDiskAdaptor.cc
* src/PeerAbstractCommand.cc
* src/PeerConnection.cc
* src/PeerListenCommand.cc
* src/PeerReceiveHandshakeCommand.cc
* src/RequestGroup.cc
* src/RequestGroupMan.cc
* src/SegmentMan.cc
* src/SelectEventPoll.cc
* src/ServerStat.cc
* src/SimpleBtMessage.cc
* src/SocketCore.cc
* src/TrackerWatcherCommand.cc
* src/UTMetadataDataExtensionMessage.cc
* src/UTMetadataRequestFactory.cc
* src/UTMetadataRequestTracker.cc
* src/XmlRpcMethod.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed compile error with i586-mingw32msvc-gcc 4.4.2, without any
additional libraries.
* src/MultiUrlRequestInfo.cc
* src/NameResolver.cc
* src/SelectEventPoll.cc
* src/SelectEventPoll.h
* src/SocketCore.cc
* src/SocketCore.h
* src/a2netcompat.h
* src/daemon.cc
* src/main.cc
|
| |
|
|
|
|
|
|
|
| |
Untabify. Fixed one line in copyright which is longer than 80
columns.
* src
* test
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use AI_ADDRCONFIG flag if it is available. Refactored so that
getaddrinfo calls are not scattered around. Unset AI_ADDRCONFIG
when conducting unit tests because they fail if networking
interface is not configured with IPv4 address.
* src/NameResolver.cc
* src/SocketCore.cc
* src/SocketCore.h
* src/a2netcompat.h
* test/AllTest.cc
|
| |
|
|
|
|
|
|
| |
Fixed the bug that aria2 listens wrong port if --interface option
is used.
* src/SocketCore.cc
|
| |
|
|
|
|
|
|
|
| |
Store all addresses found by getifaddrs() and getaddrinfo(). In
bind, try all addresses until success
* src/SocketCore.cc
* src/SocketCore.h
|
| |
|
|
|
|
|
| |
Added debug logs.
* src/SocketCore.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added --interface option. This feature binds sockets to given
interface. You can specify interface name, IP address and
hostname.
* configure.ac
* src/OptionHandlerFactory.cc
* src/SocketCore.cc
* src/SocketCore.h
* src/main.cc
* src/message.h
* src/prefs.cc
* src/prefs.h
* src/usage_text.h
|
| |
|
|
|
|
|
|
|
|
| |
Renamed Util.{cc,h} as util.{cc,h}
* src/Util.cc
* src/Util.h
* src/util.cc
* src/util.h
|