| Index: runtime/bin/tls_socket_patch.dart
|
| diff --git a/runtime/bin/tls_socket_patch.dart b/runtime/bin/tls_socket_patch.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..73e40e815076e40ac68ead319a8e4f350048cf5b
|
| --- /dev/null
|
| +++ b/runtime/bin/tls_socket_patch.dart
|
| @@ -0,0 +1,52 @@
|
| +// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +patch class TlsSocket {
|
| + /* patch */ static void setCertificateDatabase(String pkcertDirectory)
|
| + native "TlsSocket_SetCertificateDatabase";
|
| +}
|
| +
|
| +
|
| +patch class _TlsFilter {
|
| + /* patch */ factory _TlsFilter() => new _TlsFilterImpl();
|
| +}
|
| +
|
| +
|
| +/**
|
| + * _TlsFilterImpl wraps a filter that encrypts and decrypts data travelling
|
| + * over a TLS encrypted socket. The filter also handles the handshaking
|
| + * and certificate verification.
|
| + *
|
| + * The filter exposes its input and output buffers as Dart objects that
|
| + * are backed by an external C array of bytes, so that both Dart code and
|
| + * native code can access the same data.
|
| + */
|
| +class _TlsFilterImpl extends NativeFieldWrapperClass1 implements _TlsFilter {
|
| + _TlsFilterImpl() {
|
| + buffers = new List<_TlsExternalBuffer>(_TlsSocket.NUM_BUFFERS);
|
| + for (int i = 0; i < _TlsSocket.NUM_BUFFERS; ++i) {
|
| + buffers[i] = new _TlsExternalBuffer();
|
| + }
|
| + }
|
| +
|
| + void connect(String hostName, int port) native "TlsSocket_Connect";
|
| +
|
| + void destroy() {
|
| + buffers = null;
|
| + _destroy();
|
| + }
|
| +
|
| + void _destroy() native "TlsSocket_Destroy";
|
| +
|
| + void handshake() native "TlsSocket_Handshake";
|
| +
|
| + void init() native "TlsSocket_Init";
|
| +
|
| + int processBuffer(int bufferIndex) native "TlsSocket_ProcessBuffer";
|
| +
|
| + void registerHandshakeCompleteCallback(Function handshakeCompleteHandler)
|
| + native "TlsSocket_RegisterHandshakeCompleteCallback";
|
| +
|
| + List<_TlsExternalBuffer> buffers;
|
| +}
|
|
|