Index: webrtc/base/socketadapters.cc |
diff --git a/webrtc/base/socketadapters.cc b/webrtc/base/socketadapters.cc |
index 2b513dca63dea5f463d677c07e6c5cfb5583e5d4..85c126751cdf9ccb531430c0d8e0eb7badf1f869 100644 |
--- a/webrtc/base/socketadapters.cc |
+++ b/webrtc/base/socketadapters.cc |
@@ -561,7 +561,7 @@ void AsyncSocksProxySocket::OnConnectEvent(AsyncSocket* socket) { |
void AsyncSocksProxySocket::ProcessInput(char* data, size_t* len) { |
ASSERT(state_ < SS_TUNNEL); |
- ByteBuffer response(data, *len); |
+ ByteBufferReader response(data, *len); |
if (state_ == SS_HELLO) { |
uint8_t ver, method; |
@@ -638,7 +638,7 @@ void AsyncSocksProxySocket::ProcessInput(char* data, size_t* len) { |
// Consume parsed data |
*len = response.Length(); |
- memcpy(data, response.Data(), *len); |
+ memmove(data, response.Data(), *len); |
if (state_ != SS_TUNNEL) |
return; |
@@ -653,7 +653,7 @@ void AsyncSocksProxySocket::ProcessInput(char* data, size_t* len) { |
} |
void AsyncSocksProxySocket::SendHello() { |
- ByteBuffer request; |
+ ByteBufferWriter request; |
request.WriteUInt8(5); // Socks Version |
if (user_.empty()) { |
request.WriteUInt8(1); // Authentication Mechanisms |
@@ -668,7 +668,7 @@ void AsyncSocksProxySocket::SendHello() { |
} |
void AsyncSocksProxySocket::SendAuth() { |
- ByteBuffer request; |
+ ByteBufferWriter request; |
request.WriteUInt8(1); // Negotiation Version |
request.WriteUInt8(static_cast<uint8_t>(user_.size())); |
request.WriteString(user_); // Username |
@@ -684,7 +684,7 @@ void AsyncSocksProxySocket::SendAuth() { |
} |
void AsyncSocksProxySocket::SendConnect() { |
- ByteBuffer request; |
+ ByteBufferWriter request; |
request.WriteUInt8(5); // Socks Version |
request.WriteUInt8(1); // CONNECT |
request.WriteUInt8(0); // Reserved |
@@ -719,7 +719,7 @@ void AsyncSocksProxyServerSocket::ProcessInput(char* data, size_t* len) { |
// TODO: See if the whole message has arrived |
ASSERT(state_ < SS_CONNECT_PENDING); |
- ByteBuffer response(data, *len); |
+ ByteBufferReader response(data, *len); |
if (state_ == SS_HELLO) { |
HandleHello(&response); |
} else if (state_ == SS_AUTH) { |
@@ -730,14 +730,14 @@ void AsyncSocksProxyServerSocket::ProcessInput(char* data, size_t* len) { |
// Consume parsed data |
*len = response.Length(); |
- memcpy(data, response.Data(), *len); |
+ memmove(data, response.Data(), *len); |
} |
-void AsyncSocksProxyServerSocket::DirectSend(const ByteBuffer& buf) { |
+void AsyncSocksProxyServerSocket::DirectSend(const ByteBufferWriter& buf) { |
BufferedReadAdapter::DirectSend(buf.Data(), buf.Length()); |
} |
-void AsyncSocksProxyServerSocket::HandleHello(ByteBuffer* request) { |
+void AsyncSocksProxyServerSocket::HandleHello(ByteBufferReader* request) { |
uint8_t ver, num_methods; |
if (!request->ReadUInt8(&ver) || |
!request->ReadUInt8(&num_methods)) { |
@@ -769,13 +769,13 @@ void AsyncSocksProxyServerSocket::HandleHello(ByteBuffer* request) { |
} |
void AsyncSocksProxyServerSocket::SendHelloReply(uint8_t method) { |
- ByteBuffer response; |
+ ByteBufferWriter response; |
response.WriteUInt8(5); // Socks Version |
response.WriteUInt8(method); // Auth method |
DirectSend(response); |
} |
-void AsyncSocksProxyServerSocket::HandleAuth(ByteBuffer* request) { |
+void AsyncSocksProxyServerSocket::HandleAuth(ByteBufferReader* request) { |
uint8_t ver, user_len, pass_len; |
std::string user, pass; |
if (!request->ReadUInt8(&ver) || |
@@ -793,13 +793,13 @@ void AsyncSocksProxyServerSocket::HandleAuth(ByteBuffer* request) { |
} |
void AsyncSocksProxyServerSocket::SendAuthReply(uint8_t result) { |
- ByteBuffer response; |
+ ByteBufferWriter response; |
response.WriteUInt8(1); // Negotiation Version |
response.WriteUInt8(result); |
DirectSend(response); |
} |
-void AsyncSocksProxyServerSocket::HandleConnect(ByteBuffer* request) { |
+void AsyncSocksProxyServerSocket::HandleConnect(ByteBufferReader* request) { |
uint8_t ver, command, reserved, addr_type; |
uint32_t ip; |
uint16_t port; |
@@ -828,7 +828,7 @@ void AsyncSocksProxyServerSocket::SendConnectResult(int result, |
if (state_ != SS_CONNECT_PENDING) |
return; |
- ByteBuffer response; |
+ ByteBufferWriter response; |
response.WriteUInt8(5); // Socks version |
response.WriteUInt8((result != 0)); // 0x01 is generic error |
response.WriteUInt8(0); // reserved |