Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(334)

Side by Side Diff: net/socket/ssl_client_socket_nss.h

Issue 8156001: net: rework the NPN patch. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ... Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef NET_SOCKET_SSL_CLIENT_SOCKET_NSS_H_ 5 #ifndef NET_SOCKET_SSL_CLIENT_SOCKET_NSS_H_
6 #define NET_SOCKET_SSL_CLIENT_SOCKET_NSS_H_ 6 #define NET_SOCKET_SSL_CLIENT_SOCKET_NSS_H_
7 #pragma once 7 #pragma once
8 8
9 #include <certt.h> 9 #include <certt.h>
10 #include <keyt.h> 10 #include <keyt.h>
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 static SECStatus ClientAuthHandler(void* arg, 181 static SECStatus ClientAuthHandler(void* arg,
182 PRFileDesc* socket, 182 PRFileDesc* socket,
183 CERTDistNames* ca_names, 183 CERTDistNames* ca_names,
184 CERTCertificate** result_certificate, 184 CERTCertificate** result_certificate,
185 SECKEYPrivateKey** result_private_key); 185 SECKEYPrivateKey** result_private_key);
186 #endif 186 #endif
187 // NSS calls this when handshake is completed. We pass 'this' as the second 187 // NSS calls this when handshake is completed. We pass 'this' as the second
188 // argument. 188 // argument.
189 static void HandshakeCallback(PRFileDesc* socket, void* arg); 189 static void HandshakeCallback(PRFileDesc* socket, void* arg);
190 190
191 static SECStatus NextProtoCallback(void* arg,
192 PRFileDesc* fd,
193 const unsigned char* protos,
194 unsigned int protos_len,
195 unsigned char* proto_out,
196 unsigned int* proto_out_len);
197
191 // The following methods are for debugging bug 65948. Will remove this code 198 // The following methods are for debugging bug 65948. Will remove this code
192 // after fixing bug 65948. 199 // after fixing bug 65948.
193 void EnsureThreadIdAssigned() const; 200 void EnsureThreadIdAssigned() const;
194 bool CalledOnValidThread() const; 201 bool CalledOnValidThread() const;
195 202
196 OldCompletionCallbackImpl<SSLClientSocketNSS> buffer_send_callback_; 203 OldCompletionCallbackImpl<SSLClientSocketNSS> buffer_send_callback_;
197 OldCompletionCallbackImpl<SSLClientSocketNSS> buffer_recv_callback_; 204 OldCompletionCallbackImpl<SSLClientSocketNSS> buffer_recv_callback_;
198 bool transport_send_busy_; 205 bool transport_send_busy_;
199 bool transport_recv_busy_; 206 bool transport_recv_busy_;
200 // corked_ is true if we are currently suspending writes to the network. This 207 // corked_ is true if we are currently suspending writes to the network. This
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 // Buffers for the network end of the SSL state machine 285 // Buffers for the network end of the SSL state machine
279 memio_Private* nss_bufs_; 286 memio_Private* nss_bufs_;
280 287
281 BoundNetLog net_log_; 288 BoundNetLog net_log_;
282 289
283 base::TimeTicks start_cert_verification_time_; 290 base::TimeTicks start_cert_verification_time_;
284 291
285 scoped_ptr<SSLHostInfo> ssl_host_info_; 292 scoped_ptr<SSLHostInfo> ssl_host_info_;
286 DnsCertProvenanceChecker* const dns_cert_checker_; 293 DnsCertProvenanceChecker* const dns_cert_checker_;
287 294
295 // next_proto_ is the protocol that we selected by NPN.
296 std::string next_proto_;
297 NextProtoStatus next_proto_status_;
298
288 // The following two variables are added for debugging bug 65948. Will 299 // The following two variables are added for debugging bug 65948. Will
289 // remove this code after fixing bug 65948. 300 // remove this code after fixing bug 65948.
290 // Added the following code Debugging in release mode. 301 // Added the following code Debugging in release mode.
291 mutable base::Lock lock_; 302 mutable base::Lock lock_;
292 // This is mutable so that CalledOnValidThread can set it. 303 // This is mutable so that CalledOnValidThread can set it.
293 // It's guarded by |lock_|. 304 // It's guarded by |lock_|.
294 mutable base::PlatformThreadId valid_thread_id_; 305 mutable base::PlatformThreadId valid_thread_id_;
295 }; 306 };
296 307
297 } // namespace net 308 } // namespace net
298 309
299 #endif // NET_SOCKET_SSL_CLIENT_SOCKET_NSS_H_ 310 #endif // NET_SOCKET_SSL_CLIENT_SOCKET_NSS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698