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

Unified Diff: dart/sdk/lib/io/secure_server_socket.dart

Issue 625953002: Support for the ALPN extension of the TLS protocol for Client and Server (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Add test for ALPN negotiation Created 6 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 side-by-side diff with in-line comments
Download patch
Index: dart/sdk/lib/io/secure_server_socket.dart
diff --git a/dart/sdk/lib/io/secure_server_socket.dart b/dart/sdk/lib/io/secure_server_socket.dart
index e5fa60fe7aaac0026c43c73df771578167f6248f..ce1db8a5a75a0d5b7dcbec2c36fe2293681e3eea 100644
--- a/dart/sdk/lib/io/secure_server_socket.dart
+++ b/dart/sdk/lib/io/secure_server_socket.dart
@@ -66,7 +66,8 @@ class SecureServerSocket extends Stream<SecureSocket> {
{int backlog: 0,
bool v6Only: false,
bool requestClientCertificate: false,
- bool requireClientCertificate: false}) {
+ bool requireClientCertificate: false,
+ List<String> supportedProtocols}) {
return RawSecureServerSocket.bind(
address,
port,
@@ -74,7 +75,8 @@ class SecureServerSocket extends Stream<SecureSocket> {
backlog: backlog,
v6Only: v6Only,
requestClientCertificate: requestClientCertificate,
- requireClientCertificate: requireClientCertificate).then(
+ requireClientCertificate: requireClientCertificate,
+ supportedProtocols: supportedProtocols).then(
(serverSocket) => new SecureServerSocket._(serverSocket));
}
@@ -122,12 +124,14 @@ class RawSecureServerSocket extends Stream<RawSecureSocket> {
final String certificateName;
final bool requestClientCertificate;
final bool requireClientCertificate;
+ final List<String> supportedProtocols;
bool _closed = false;
RawSecureServerSocket._(RawServerSocket serverSocket,
this.certificateName,
this.requestClientCertificate,
- this.requireClientCertificate) {
+ this.requireClientCertificate,
+ this.supportedProtocols) {
_socket = serverSocket;
_controller = new StreamController<RawSecureSocket>(
sync: true,
@@ -187,13 +191,15 @@ class RawSecureServerSocket extends Stream<RawSecureSocket> {
{int backlog: 0,
bool v6Only: false,
bool requestClientCertificate: false,
- bool requireClientCertificate: false}) {
+ bool requireClientCertificate: false,
+ List<String> supportedProtocols}) {
return RawServerSocket.bind(address, port, backlog: backlog, v6Only: v6Only)
.then((serverSocket) => new RawSecureServerSocket._(
serverSocket,
certificateName,
requestClientCertificate,
- requireClientCertificate));
+ requireClientCertificate,
+ supportedProtocols));
}
StreamSubscription<RawSecureSocket> listen(void onData(RawSecureSocket s),
@@ -241,7 +247,8 @@ class RawSecureServerSocket extends Stream<RawSecureSocket> {
is_server: true,
socket: connection,
requestClientCertificate: requestClientCertificate,
- requireClientCertificate: requireClientCertificate)
+ requireClientCertificate: requireClientCertificate,
+ supportedProtocols: supportedProtocols)
.then((RawSecureSocket secureConnection) {
if (_closed) {
secureConnection.close();

Powered by Google App Engine
This is Rietveld 408576698