Loading netwerk/socket/moz.build +0 −1 Original line number Diff line number Diff line Loading @@ -11,7 +11,6 @@ DIRS += [ XPIDL_SOURCES += [ "nsISocketProvider.idl", "nsISocketProviderService.idl", "nsISOCKSSocketInfo.idl", "nsISSLSocketControl.idl", "nsITransportSecurityInfo.idl", ] Loading netwerk/socket/nsISOCKSSocketInfo.idldeleted 100644 → 0 +0 −24 Original line number Diff line number Diff line /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsISupports.idl" %{ C++ namespace mozilla { namespace net { union NetAddr; } } %} [ptr] native NetAddrPtr(mozilla::net::NetAddr); [scriptable, uuid(D5C0D1F9-22D7-47DC-BF91-D9AC6E1251A6)] interface nsISOCKSSocketInfo : nsISupports { [noscript] attribute NetAddrPtr destinationAddr; [noscript] attribute NetAddrPtr externalProxyAddr; [noscript] attribute NetAddrPtr internalProxyAddr; }; netwerk/socket/nsSOCKSIOLayer.cpp +19 −45 Original line number Diff line number Diff line Loading @@ -11,7 +11,6 @@ #include "nsIDNSService.h" #include "nsIDNSRecord.h" #include "nsISOCKSSocketInfo.h" #include "nsISocketProvider.h" #include "nsNamedPipeIOLayer.h" #include "nsSOCKSIOLayer.h" Loading @@ -37,7 +36,7 @@ static mozilla::LazyLogModule gSOCKSLog("SOCKS"); #define LOGDEBUG(args) MOZ_LOG(gSOCKSLog, mozilla::LogLevel::Debug, args) #define LOGERROR(args) MOZ_LOG(gSOCKSLog, mozilla::LogLevel::Error, args) class nsSOCKSSocketInfo : public nsISOCKSSocketInfo, public nsIDNSListener { class nsSOCKSSocketInfo : public nsIDNSListener { enum State { SOCKS_INITIAL, SOCKS_DNS_IN_PROGRESS, Loading Loading @@ -67,7 +66,6 @@ class nsSOCKSSocketInfo : public nsISOCKSSocketInfo, public nsIDNSListener { nsSOCKSSocketInfo(); NS_DECL_THREADSAFE_ISUPPORTS NS_DECL_NSISOCKSSOCKETINFO NS_DECL_NSIDNSLISTENER void Init(int32_t version, int32_t family, nsIProxyInfo* proxy, Loading @@ -80,6 +78,10 @@ class nsSOCKSSocketInfo : public nsISOCKSSocketInfo, public nsIDNSListener { void ForgetFD() { mFD = nullptr; } void SetNamedPipeFD(PRFileDesc* fd) { mFD = fd; } void GetExternalProxyAddr(NetAddr& aExternalProxyAddr); void GetDestinationAddr(NetAddr& aDestinationAddr); void SetDestinationAddr(const NetAddr& aDestinationAddr); private: virtual ~nsSOCKSSocketInfo() { ForgetFD(); Loading Loading @@ -350,42 +352,18 @@ void nsSOCKSSocketInfo::Init(int32_t version, int32_t family, mProxy->GetUsername(mProxyUsername); // cache } NS_IMPL_ISUPPORTS(nsSOCKSSocketInfo, nsISOCKSSocketInfo, nsIDNSListener) NS_IMPL_ISUPPORTS(nsSOCKSSocketInfo, nsIDNSListener) NS_IMETHODIMP nsSOCKSSocketInfo::GetExternalProxyAddr(NetAddr** aExternalProxyAddr) { memcpy(*aExternalProxyAddr, &mExternalProxyAddr, sizeof(NetAddr)); return NS_OK; void nsSOCKSSocketInfo::GetExternalProxyAddr(NetAddr& aExternalProxyAddr) { aExternalProxyAddr = mExternalProxyAddr; } NS_IMETHODIMP nsSOCKSSocketInfo::SetExternalProxyAddr(NetAddr* aExternalProxyAddr) { memcpy(&mExternalProxyAddr, aExternalProxyAddr, sizeof(NetAddr)); return NS_OK; void nsSOCKSSocketInfo::GetDestinationAddr(NetAddr& aDestinationAddr) { aDestinationAddr = mDestinationAddr; } NS_IMETHODIMP nsSOCKSSocketInfo::GetDestinationAddr(NetAddr** aDestinationAddr) { memcpy(*aDestinationAddr, &mDestinationAddr, sizeof(NetAddr)); return NS_OK; } NS_IMETHODIMP nsSOCKSSocketInfo::SetDestinationAddr(NetAddr* aDestinationAddr) { memcpy(&mDestinationAddr, aDestinationAddr, sizeof(NetAddr)); return NS_OK; } NS_IMETHODIMP nsSOCKSSocketInfo::GetInternalProxyAddr(NetAddr** aInternalProxyAddr) { memcpy(*aInternalProxyAddr, &mInternalProxyAddr, sizeof(NetAddr)); return NS_OK; } NS_IMETHODIMP nsSOCKSSocketInfo::SetInternalProxyAddr(NetAddr* aInternalProxyAddr) { memcpy(&mInternalProxyAddr, aInternalProxyAddr, sizeof(NetAddr)); return NS_OK; void nsSOCKSSocketInfo::SetDestinationAddr(const NetAddr& aDestinationAddr) { mDestinationAddr = aDestinationAddr; } // There needs to be a means of distinguishing between connection errors Loading Loading @@ -1301,7 +1279,7 @@ static PRStatus nsSOCKSIOLayerConnect(PRFileDesc* fd, const PRNetAddr* addr, memcpy(&dst, addr, sizeof(dst)); } info->SetDestinationAddr(&dst); info->SetDestinationAddr(dst); info->SetConnectTimeout(to); do { Loading Loading @@ -1375,12 +1353,10 @@ static PRStatus nsSOCKSIOLayerGetName(PRFileDesc* fd, PRNetAddr* addr) { if (info != nullptr && addr != nullptr) { NetAddr temp; NetAddr* tempPtr = &temp; if (info->GetExternalProxyAddr(&tempPtr) == NS_OK) { NetAddrToPRNetAddr(tempPtr, addr); info->GetExternalProxyAddr(temp); NetAddrToPRNetAddr(&temp, addr); return PR_SUCCESS; } } return PR_FAILURE; } Loading @@ -1390,12 +1366,10 @@ static PRStatus nsSOCKSIOLayerGetPeerName(PRFileDesc* fd, PRNetAddr* addr) { if (info != nullptr && addr != nullptr) { NetAddr temp; NetAddr* tempPtr = &temp; if (info->GetDestinationAddr(&tempPtr) == NS_OK) { NetAddrToPRNetAddr(tempPtr, addr); info->GetDestinationAddr(temp); NetAddrToPRNetAddr(&temp, addr); return PR_SUCCESS; } } return PR_FAILURE; } Loading Loading
netwerk/socket/moz.build +0 −1 Original line number Diff line number Diff line Loading @@ -11,7 +11,6 @@ DIRS += [ XPIDL_SOURCES += [ "nsISocketProvider.idl", "nsISocketProviderService.idl", "nsISOCKSSocketInfo.idl", "nsISSLSocketControl.idl", "nsITransportSecurityInfo.idl", ] Loading
netwerk/socket/nsISOCKSSocketInfo.idldeleted 100644 → 0 +0 −24 Original line number Diff line number Diff line /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsISupports.idl" %{ C++ namespace mozilla { namespace net { union NetAddr; } } %} [ptr] native NetAddrPtr(mozilla::net::NetAddr); [scriptable, uuid(D5C0D1F9-22D7-47DC-BF91-D9AC6E1251A6)] interface nsISOCKSSocketInfo : nsISupports { [noscript] attribute NetAddrPtr destinationAddr; [noscript] attribute NetAddrPtr externalProxyAddr; [noscript] attribute NetAddrPtr internalProxyAddr; };
netwerk/socket/nsSOCKSIOLayer.cpp +19 −45 Original line number Diff line number Diff line Loading @@ -11,7 +11,6 @@ #include "nsIDNSService.h" #include "nsIDNSRecord.h" #include "nsISOCKSSocketInfo.h" #include "nsISocketProvider.h" #include "nsNamedPipeIOLayer.h" #include "nsSOCKSIOLayer.h" Loading @@ -37,7 +36,7 @@ static mozilla::LazyLogModule gSOCKSLog("SOCKS"); #define LOGDEBUG(args) MOZ_LOG(gSOCKSLog, mozilla::LogLevel::Debug, args) #define LOGERROR(args) MOZ_LOG(gSOCKSLog, mozilla::LogLevel::Error, args) class nsSOCKSSocketInfo : public nsISOCKSSocketInfo, public nsIDNSListener { class nsSOCKSSocketInfo : public nsIDNSListener { enum State { SOCKS_INITIAL, SOCKS_DNS_IN_PROGRESS, Loading Loading @@ -67,7 +66,6 @@ class nsSOCKSSocketInfo : public nsISOCKSSocketInfo, public nsIDNSListener { nsSOCKSSocketInfo(); NS_DECL_THREADSAFE_ISUPPORTS NS_DECL_NSISOCKSSOCKETINFO NS_DECL_NSIDNSLISTENER void Init(int32_t version, int32_t family, nsIProxyInfo* proxy, Loading @@ -80,6 +78,10 @@ class nsSOCKSSocketInfo : public nsISOCKSSocketInfo, public nsIDNSListener { void ForgetFD() { mFD = nullptr; } void SetNamedPipeFD(PRFileDesc* fd) { mFD = fd; } void GetExternalProxyAddr(NetAddr& aExternalProxyAddr); void GetDestinationAddr(NetAddr& aDestinationAddr); void SetDestinationAddr(const NetAddr& aDestinationAddr); private: virtual ~nsSOCKSSocketInfo() { ForgetFD(); Loading Loading @@ -350,42 +352,18 @@ void nsSOCKSSocketInfo::Init(int32_t version, int32_t family, mProxy->GetUsername(mProxyUsername); // cache } NS_IMPL_ISUPPORTS(nsSOCKSSocketInfo, nsISOCKSSocketInfo, nsIDNSListener) NS_IMPL_ISUPPORTS(nsSOCKSSocketInfo, nsIDNSListener) NS_IMETHODIMP nsSOCKSSocketInfo::GetExternalProxyAddr(NetAddr** aExternalProxyAddr) { memcpy(*aExternalProxyAddr, &mExternalProxyAddr, sizeof(NetAddr)); return NS_OK; void nsSOCKSSocketInfo::GetExternalProxyAddr(NetAddr& aExternalProxyAddr) { aExternalProxyAddr = mExternalProxyAddr; } NS_IMETHODIMP nsSOCKSSocketInfo::SetExternalProxyAddr(NetAddr* aExternalProxyAddr) { memcpy(&mExternalProxyAddr, aExternalProxyAddr, sizeof(NetAddr)); return NS_OK; void nsSOCKSSocketInfo::GetDestinationAddr(NetAddr& aDestinationAddr) { aDestinationAddr = mDestinationAddr; } NS_IMETHODIMP nsSOCKSSocketInfo::GetDestinationAddr(NetAddr** aDestinationAddr) { memcpy(*aDestinationAddr, &mDestinationAddr, sizeof(NetAddr)); return NS_OK; } NS_IMETHODIMP nsSOCKSSocketInfo::SetDestinationAddr(NetAddr* aDestinationAddr) { memcpy(&mDestinationAddr, aDestinationAddr, sizeof(NetAddr)); return NS_OK; } NS_IMETHODIMP nsSOCKSSocketInfo::GetInternalProxyAddr(NetAddr** aInternalProxyAddr) { memcpy(*aInternalProxyAddr, &mInternalProxyAddr, sizeof(NetAddr)); return NS_OK; } NS_IMETHODIMP nsSOCKSSocketInfo::SetInternalProxyAddr(NetAddr* aInternalProxyAddr) { memcpy(&mInternalProxyAddr, aInternalProxyAddr, sizeof(NetAddr)); return NS_OK; void nsSOCKSSocketInfo::SetDestinationAddr(const NetAddr& aDestinationAddr) { mDestinationAddr = aDestinationAddr; } // There needs to be a means of distinguishing between connection errors Loading Loading @@ -1301,7 +1279,7 @@ static PRStatus nsSOCKSIOLayerConnect(PRFileDesc* fd, const PRNetAddr* addr, memcpy(&dst, addr, sizeof(dst)); } info->SetDestinationAddr(&dst); info->SetDestinationAddr(dst); info->SetConnectTimeout(to); do { Loading Loading @@ -1375,12 +1353,10 @@ static PRStatus nsSOCKSIOLayerGetName(PRFileDesc* fd, PRNetAddr* addr) { if (info != nullptr && addr != nullptr) { NetAddr temp; NetAddr* tempPtr = &temp; if (info->GetExternalProxyAddr(&tempPtr) == NS_OK) { NetAddrToPRNetAddr(tempPtr, addr); info->GetExternalProxyAddr(temp); NetAddrToPRNetAddr(&temp, addr); return PR_SUCCESS; } } return PR_FAILURE; } Loading @@ -1390,12 +1366,10 @@ static PRStatus nsSOCKSIOLayerGetPeerName(PRFileDesc* fd, PRNetAddr* addr) { if (info != nullptr && addr != nullptr) { NetAddr temp; NetAddr* tempPtr = &temp; if (info->GetDestinationAddr(&tempPtr) == NS_OK) { NetAddrToPRNetAddr(tempPtr, addr); info->GetDestinationAddr(temp); NetAddrToPRNetAddr(&temp, addr); return PR_SUCCESS; } } return PR_FAILURE; } Loading