summaryrefslogtreecommitdiff
path: root/src/SocketCore.cc
Commit message (Collapse)AuthorAgeFilesLines
* Fixed compile error without SSL/TLS librelease-1.16.0Tatsuhiro Tsujikawa2012-12-011-0/+4
|
* Enabled TCP_NODELAY in SocketCore::establishConnection and acceptConnectionTatsuhiro Tsujikawa2012-11-281-0/+2
|
* Made socket non-blocking mode in SocketCore::beginListen()Tatsuhiro Tsujikawa2012-11-281-0/+1
|
* Made socket non-blocking mode in SocketCore::acceptConnection()Tatsuhiro Tsujikawa2012-11-281-2/+4
|
* SocketCore::bind now accepts const char* host instead of std::stringTatsuhiro Tsujikawa2012-11-151-5/+5
|
* gnutls: Added more status checking when verifying peerTatsuhiro Tsujikawa2012-10-271-0/+11
|
* Removed trailing spacesTatsuhiro Tsujikawa2012-10-011-5/+5
|
* RPC over SSL/TLS transportTatsuhiro Tsujikawa2012-09-301-58/+90
| | | | | | | To enable RPC over SSL/TLS, specify server certificate and private key using --rpc-certificate and --rpc-private-key options and enable --rpc-secure option. After the encryption is enabled, use https and wss scheme to access RPC server.
* Don't set SNI hostname if it does not include "." for GNUTLSTatsuhiro Tsujikawa2012-09-151-1/+4
|
* Added TLS SNI supportTatsuhiro Tsujikawa2012-07-061-10/+57
|
* Handle sockaddr_in.sin_len and sockaddr_in6.sin6_lenTatsuhiro Tsujikawa2012-05-161-18/+22
| | | | | | Check sockaddr_in.sin_len and sockaddr_in6.sin6_len are available and assign values to them properly. This change fixes unit test error and most error related to getnameinfo() on netbsd.
* Removed dependency on inet_atonTatsuhiro Tsujikawa2012-05-141-7/+35
| | | | | | | Implemented inetPton as a replacement of inet_aton. inetPton is implemented using net::getBinAddr. This change fixes bug#3525424.
* Call ERR_clear_error() before OpenSSL I/O functions.Tatsuhiro Tsujikawa2012-05-081-3/+5
| | | | Use ERR_get_error() with ERR_error_string().
* Compare IPAddress in commonName as string.Tatsuhiro Tsujikawa2012-04-011-4/+3
| | | | Added test for net::verifyHostname().
* Use net::verifyHostname() with gnutls.Tatsuhiro Tsujikawa2012-03-311-3/+26
| | | | We now don't use gnutls_x509_crt_check_hostname() any more.
* Rewritten TLS hostname check based on RFC 6125.Tatsuhiro Tsujikawa2012-03-301-48/+75
|
* Added hostname check described in RFC 2818 with OpenSSL.Tatsuhiro Tsujikawa2012-03-281-22/+66
|
* Enable TCP_NODELAY for WebSocket connection.Tatsuhiro Tsujikawa2012-03-211-0/+6
|
* Fixed the bug that aria2 does not listen on address given in --interface.Tatsuhiro Tsujikawa2012-02-221-1/+1
|
* Code cleanupTatsuhiro Tsujikawa2012-01-111-2/+1
|
* No retry for close() with EINTR. Also reverted changes in d5ffa253.Tatsuhiro Tsujikawa2011-12-251-1/+1
|
* Support IPv6 address for FTP via HTTP tunneling.Tatsuhiro Tsujikawa2011-11-141-2/+4
| | | | | | | 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.
* Code cleanup. Avoid std::string temporaries.Tatsuhiro Tsujikawa2011-11-051-1/+2
|
* Code cleanupTatsuhiro Tsujikawa2011-10-201-30/+16
|
* Use sockaddr_union instead of sockaddr_storage.Tatsuhiro Tsujikawa2011-10-201-56/+42
|
* Rewritten util::inSameCidrBlock() to support IPv6 address.Tatsuhiro Tsujikawa2011-10-191-0/+29
| | | | We also introduced union sockaddr_union in a2netcompat.h.
* Eliminated inet_ntoa and inet_ntop. Use getnameinfo() instead.Tatsuhiro Tsujikawa2011-08-201-0/+23
|
* Use GNUTLS_SHUT_WR instead of GNUTLS_SHUT_RDWRTatsuhiro Tsujikawa2011-07-061-1/+1
| | | | We don't read the response from peer about this.
* Call shutdown() with SHUT_WR before close to avoid TCP RST.Tatsuhiro Tsujikawa2011-07-061-0/+1
|
* Replaced HAVE_LIBSSL with HAVE_OPENSSLTatsuhiro Tsujikawa2011-02-181-16/+16
|
* Removed SocketCore::peekData()Tatsuhiro Tsujikawa2011-01-161-134/+2
|
* 2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-11-201-90/+69
| | | | | | Replaced StringFormat with fmt
* 2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-11-201-15/+15
| | | | | | | Rewritten Logger interface. Logger now writes source file name and line number in log file.
* 2010-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-11-091-44/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* 2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-10-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* 2010-10-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-10-041-0/+2
| | | | | | | | | | | | | | | | | | | 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
* 2010-08-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-08-251-1/+1
| | | | | | | | Added error message when given address and resolved address do not match in SocketCore::bind(). * src/SocketCore.cc
* 2010-08-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-08-221-22/+6
| | | | | | | Removed uitos(). Use util::uitos() instead. * src/SocketCore.cc
* 2010-08-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-08-071-14/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* 2010-07-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-07-301-1/+16
| | | | | | | | | | | | | | 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
* 2010-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-06-211-153/+153
| | | | | | | Changed naming standards for class member variable: now it looks like var_ instead of _var.
* 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-06-121-102/+99
| | | | | | | | Renamed member variables * src/SocketCore.cc * src/SocketCore.h
* 2010-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-04-261-2/+2
| | | | | | | | Fixed segmentation fault when running unit tests on opensolaris. * src/SocketCore.cc * src/bittorrent_helper.cc
* 2010-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-04-251-0/+14
| | | | | | | | | | | 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
* 2010-04-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-04-241-233/+66
| | | | | | | | | | | | 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
* 2010-04-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-04-211-68/+128
| | | | | | | | | | | | | | | | | 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
* 2010-04-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-04-191-38/+83
| | | | | | | | | | | | | | | | | | | | | 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
* 2010-04-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-04-161-1/+0
| | | | | | | | | | | | | 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
* 2010-03-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-03-091-12/+14
| | | | | | | Fixed the bug that error message is not propagated to Exception. * src/SocketCore.cc
* 2010-03-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-02-281-3/+6
| | | | | | | | 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.