diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-02-17 15:56:47 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-02-17 15:56:47 +0000 |
| commit | c0d2223c778ae9719fd13d1fde6dc2fbf4faa82b (patch) | |
| tree | 1d7a2ca2f7d99ebe7aa24cf0be364aa0453afc89 /src/SocketCore.h | |
| parent | 13021233680e3fb3650075e2a71c1f234acb1803 (diff) | |
2008-02-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added Message Stream Encryption(MSE) support.
Currently, aria2 accepts incoming connections with Obfuscation Header
and legacy BitTorrent Header and establishes connections with
Obfuscation Header first and if failed then retry with legacy
BitTorrent header. If plain text and ARC4 is provided, aria2 always
choose ARC4. The new option to change the default behavior is planned.
For tracker extension, "supportcrypto=1" is added statically.
* src/PeerInitiateConnectionCommand.{h, cc}
* src/PeerConnection.{h, cc}
* src/HandleRegistry.h
* src/SocketCore.h
* src/PeerReceiveHandshakeCommand.{h, cc}
* src/BtRegistry.{h, cc}
* src/PeerListenCommand.cc
* src/InitiatorMSEHandshakeCommand.{h, cc}
* src/ReceiverMSEHandshakeCommand.{h, cc}
* src/MSEHandshake.{h, cc}
* src/ARC4Encryptor.h
* src/ARC4Decryptor.h
* src/LibgcryptARC4Encryptor.h
* src/LibgcryptARC4Decryptor.h
* src/LibgcryptARC4Context.h
* src/LibsslARC4Encryptor.h
* src/LibsslARC4Decryptor.h
* src/LibsslARC4Context.h
* src/DHKeyExchange.h
* src/LibgcryptDHKeyExchange.h
* src/LibsslDHKeyExchange.h
* src/DefaultBtAnnounce.cc: Just added "supportcrypto=1" parameter.
* test/DefaultBtAnnounceTest.cc
* test/ARC4Test.cc
* test/DHKeyExchangeTest.cc
Removed prepareForRetry() because it is not used.
* src/PeerAbstractCommand.{h, cc}
* src/PeerInteractionCommand.{h, cc}
* src/PeerInitiateConnectionCommand.{h, cc}
Diffstat (limited to 'src/SocketCore.h')
| -rw-r--r-- | src/SocketCore.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/SocketCore.h b/src/SocketCore.h index 992b5bb3..77f71428 100644 --- a/src/SocketCore.h +++ b/src/SocketCore.h @@ -180,6 +180,10 @@ public: { writeData(msg.c_str(), msg.size()); } + void writeData(const unsigned char* data, int32_t len) + { + writeData(reinterpret_cast<const char*>(data), len); + } void writeData(const char* data, size_t len, const std::string& host, uint16_t port); @@ -197,6 +201,11 @@ public: */ void readData(char* data, int32_t& len); + void readData(unsigned char* data, int32_t& len) + { + readData(reinterpret_cast<char*>(data), len); + } + ssize_t readDataFrom(char* data, size_t len, struct sockaddr* sender, socklen_t* senderLength); @@ -217,6 +226,11 @@ public: */ void peekData(char* data, int32_t& len); + void peekData(unsigned char* data, int32_t& len) + { + peekData(reinterpret_cast<char*>(data), len); + } + /** * Makes this socket secure. * If the system has not OpenSSL, then this method do nothing. |
