Index: net/socket/ssl_server_socket_nss.h |
diff --git a/net/socket/ssl_server_socket_nss.h b/net/socket/ssl_server_socket_nss.h |
index 788e4524315126b052baf4908c31ebd12220bc83..497d461767a496b7df0b604e80c9ab506e4f24e6 100644 |
--- a/net/socket/ssl_server_socket_nss.h |
+++ b/net/socket/ssl_server_socket_nss.h |
@@ -22,122 +22,17 @@ |
namespace net { |
-class SSLServerSocketNSS : public SSLServerSocket { |
+class SSLServerContextNSS : public SSLServerContext { |
public: |
- // See comments on CreateSSLServerSocket for details of how these |
- // parameters are used. |
- SSLServerSocketNSS(scoped_ptr<StreamSocket> socket, |
- scoped_refptr<X509Certificate> certificate, |
- const crypto::RSAPrivateKey& key, |
- const SSLServerConfig& ssl_server_config); |
- ~SSLServerSocketNSS() override; |
+ SSLServerContextNSS(X509Certificate* certificate, |
+ const crypto::RSAPrivateKey& key, |
+ const SSLServerConfig& ssl_server_config); |
+ ~SSLServerContextNSS() override; |
- // SSLServerSocket interface. |
- int Handshake(const CompletionCallback& callback) override; |
- |
- // SSLSocket interface. |
- int ExportKeyingMaterial(const base::StringPiece& label, |
- bool has_context, |
- const base::StringPiece& context, |
- unsigned char* out, |
- unsigned int outlen) override; |
- int GetTLSUniqueChannelBinding(std::string* out) override; |
- |
- // Socket interface (via StreamSocket). |
- int Read(IOBuffer* buf, |
- int buf_len, |
- const CompletionCallback& callback) override; |
- int Write(IOBuffer* buf, |
- int buf_len, |
- const CompletionCallback& callback) override; |
- int SetReceiveBufferSize(int32_t size) override; |
- int SetSendBufferSize(int32_t size) override; |
- |
- // StreamSocket implementation. |
- int Connect(const CompletionCallback& callback) override; |
- void Disconnect() override; |
- bool IsConnected() const override; |
- bool IsConnectedAndIdle() const override; |
- int GetPeerAddress(IPEndPoint* address) const override; |
- int GetLocalAddress(IPEndPoint* address) const override; |
- const BoundNetLog& NetLog() const override; |
- void SetSubresourceSpeculation() override; |
- void SetOmniboxSpeculation() override; |
- bool WasEverUsed() const override; |
- bool UsingTCPFastOpen() const override; |
- bool WasNpnNegotiated() const override; |
- NextProto GetNegotiatedProtocol() const override; |
- bool GetSSLInfo(SSLInfo* ssl_info) override; |
- void GetConnectionAttempts(ConnectionAttempts* out) const override; |
- void ClearConnectionAttempts() override {} |
- void AddConnectionAttempts(const ConnectionAttempts& attempts) override {} |
- int64_t GetTotalReceivedBytes() const override; |
+ scoped_ptr<SSLServerSocket> CreateSSLServerSocket( |
+ scoped_ptr<StreamSocket> socket) override; |
private: |
- enum State { |
- STATE_NONE, |
- STATE_HANDSHAKE, |
- }; |
- |
- int InitializeSSLOptions(); |
- |
- void OnSendComplete(int result); |
- void OnRecvComplete(int result); |
- void OnHandshakeIOComplete(int result); |
- |
- int BufferSend(); |
- void BufferSendComplete(int result); |
- int BufferRecv(); |
- void BufferRecvComplete(int result); |
- bool DoTransportIO(); |
- int DoPayloadRead(); |
- int DoPayloadWrite(); |
- |
- int DoHandshakeLoop(int last_io_result); |
- int DoReadLoop(int result); |
- int DoWriteLoop(int result); |
- int DoHandshake(); |
- void DoHandshakeCallback(int result); |
- void DoReadCallback(int result); |
- void DoWriteCallback(int result); |
- |
- static SECStatus OwnAuthCertHandler(void* arg, |
- PRFileDesc* socket, |
- PRBool checksig, |
- PRBool is_server); |
- static void HandshakeCallback(PRFileDesc* socket, void* arg); |
- |
- int Init(); |
- |
- // Members used to send and receive buffer. |
- bool transport_send_busy_; |
- bool transport_recv_busy_; |
- |
- scoped_refptr<IOBuffer> recv_buffer_; |
- |
- BoundNetLog net_log_; |
- |
- CompletionCallback user_handshake_callback_; |
- CompletionCallback user_read_callback_; |
- CompletionCallback user_write_callback_; |
- |
- // Used by Read function. |
- scoped_refptr<IOBuffer> user_read_buf_; |
- int user_read_buf_len_; |
- |
- // Used by Write function. |
- scoped_refptr<IOBuffer> user_write_buf_; |
- int user_write_buf_len_; |
- |
- // The NSS SSL state machine |
- PRFileDesc* nss_fd_; |
- |
- // Buffers for the network end of the SSL state machine |
- memio_Private* nss_bufs_; |
- |
- // StreamSocket for sending and receiving data. |
- scoped_ptr<StreamSocket> transport_socket_; |
- |
// Options for the SSL socket. |
SSLServerConfig ssl_server_config_; |
@@ -146,11 +41,6 @@ class SSLServerSocketNSS : public SSLServerSocket { |
// Private key used by the server. |
scoped_ptr<crypto::RSAPrivateKey> key_; |
- |
- State next_handshake_state_; |
- bool completed_handshake_; |
- |
- DISALLOW_COPY_AND_ASSIGN(SSLServerSocketNSS); |
}; |
} // namespace net |