nsTLSSocketProvider.cpp (1962B)
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- 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/. */ 6 7 #include "mozilla/BasePrincipal.h" 8 #include "nsTLSSocketProvider.h" 9 #include "nsNSSIOLayer.h" 10 #include "nsError.h" 11 12 using mozilla::OriginAttributes; 13 14 nsTLSSocketProvider::nsTLSSocketProvider() = default; 15 16 nsTLSSocketProvider::~nsTLSSocketProvider() = default; 17 18 NS_IMPL_ISUPPORTS(nsTLSSocketProvider, nsISocketProvider) 19 20 NS_IMETHODIMP 21 nsTLSSocketProvider::NewSocket(int32_t family, const char* host, int32_t port, 22 nsIProxyInfo* proxy, 23 const OriginAttributes& originAttributes, 24 uint32_t flags, uint32_t tlsFlags, 25 PRFileDesc** _result, 26 nsITLSSocketControl** tlsSocketControl) { 27 nsresult rv = 28 nsSSLIOLayerNewSocket(family, host, port, proxy, originAttributes, 29 _result, tlsSocketControl, true, flags, tlsFlags); 30 31 return (NS_FAILED(rv)) ? NS_ERROR_SOCKET_CREATE_FAILED : NS_OK; 32 } 33 34 // Add the SSL IO layer to an existing socket 35 NS_IMETHODIMP 36 nsTLSSocketProvider::AddToSocket(int32_t family, const char* host, int32_t port, 37 nsIProxyInfo* proxy, 38 const OriginAttributes& originAttributes, 39 uint32_t flags, uint32_t tlsFlags, 40 PRFileDesc* aSocket, 41 nsITLSSocketControl** tlsSocketControl) { 42 nsresult rv = 43 nsSSLIOLayerAddToSocket(family, host, port, proxy, originAttributes, 44 aSocket, tlsSocketControl, true, flags, tlsFlags); 45 46 return (NS_FAILED(rv)) ? NS_ERROR_SOCKET_CREATE_FAILED : NS_OK; 47 }