1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #include "mozilla/BasePrincipal.h"
8 #include "nsSSLSocketProvider.h"
9 #include "nsNSSIOLayer.h"
12 using mozilla::OriginAttributes
;
14 nsSSLSocketProvider::nsSSLSocketProvider() = default;
16 nsSSLSocketProvider::~nsSSLSocketProvider() = default;
18 NS_IMPL_ISUPPORTS(nsSSLSocketProvider
, nsISocketProvider
)
21 nsSSLSocketProvider::NewSocket(int32_t family
, const char* host
, int32_t port
,
23 const OriginAttributes
& originAttributes
,
24 uint32_t flags
, uint32_t tlsFlags
,
26 nsITLSSocketControl
** tlsSocketControl
) {
28 nsSSLIOLayerNewSocket(family
, host
, port
, proxy
, originAttributes
,
29 _result
, tlsSocketControl
, false, flags
, tlsFlags
);
30 return (NS_FAILED(rv
)) ? NS_ERROR_SOCKET_CREATE_FAILED
: NS_OK
;
33 // Add the SSL IO layer to an existing socket
35 nsSSLSocketProvider::AddToSocket(int32_t family
, const char* host
, int32_t port
,
37 const OriginAttributes
& originAttributes
,
38 uint32_t flags
, uint32_t tlsFlags
,
40 nsITLSSocketControl
** tlsSocketControl
) {
41 nsresult rv
= nsSSLIOLayerAddToSocket(
42 family
, host
, port
, proxy
, originAttributes
, aSocket
, tlsSocketControl
,
43 false, flags
, tlsFlags
);
45 return (NS_FAILED(rv
)) ? NS_ERROR_SOCKET_CREATE_FAILED
: NS_OK
;