| Index: net/websockets/websocket_handshake_handler.cc
|
| diff --git a/net/websockets/websocket_handshake_handler.cc b/net/websockets/websocket_handshake_handler.cc
|
| index 0fd67f9691ba69503e4b9db33acd6f94cb7319fb..641b196806e85a4fd465845bd45f8f457321ac86 100644
|
| --- a/net/websockets/websocket_handshake_handler.cc
|
| +++ b/net/websockets/websocket_handshake_handler.cc
|
| @@ -345,6 +345,16 @@ bool WebSocketHandshakeResponseHandler::HasResponse() const {
|
| static_cast<size_t>(original_header_length_) <= original_.size();
|
| }
|
|
|
| +void ComputeSecWebSocketAccept(const std::string& key,
|
| + std::string* accept) {
|
| + DCHECK(accept);
|
| +
|
| + std::string hash =
|
| + base::SHA1HashString(key + websockets::kWebSocketGuid);
|
| + bool encode_success = base::Base64Encode(hash, accept);
|
| + DCHECK(encode_success);
|
| +}
|
| +
|
| bool WebSocketHandshakeResponseHandler::ParseResponseInfo(
|
| const HttpResponseInfo& response_info,
|
| const std::string& challenge) {
|
| @@ -363,11 +373,8 @@ bool WebSocketHandshakeResponseHandler::ParseResponseInfo(
|
| AppendHeader(
|
| HttpRequestHeaders::kConnection, websockets::kUpgrade, &response_message);
|
|
|
| - std::string hash =
|
| - base::SHA1HashString(challenge + websockets::kWebSocketGuid);
|
| std::string websocket_accept;
|
| - bool encode_success = base::Base64Encode(hash, &websocket_accept);
|
| - DCHECK(encode_success);
|
| + ComputeSecWebSocketAccept(challenge, &websocket_accept);
|
| AppendHeader(
|
| websockets::kSecWebSocketAccept, websocket_accept, &response_message);
|
|
|
|
|