Loading netwerk/base/nsSocketTransport2.cpp +38 −12 Original line number Diff line number Diff line Loading @@ -722,9 +722,15 @@ nsresult nsSocketTransport::Init(const nsTArray<nsCString>& types, if (dnsRecord) { mExternalDNSResolution = true; mDNSRecord = do_QueryInterface(dnsRecord); mDNSRecord->IsTRR(&mResolvedByTRR); mDNSRecord->GetEffectiveTRRMode(&mEffectiveTRRMode); mDNSRecord->GetTrrSkipReason(&mTRRSkipReason); bool resolvedByTRR; mDNSRecord->IsTRR(&resolvedByTRR); mResolvedByTRR = resolvedByTRR; nsIRequest::TRRMode effectiveTRRMode; mDNSRecord->GetEffectiveTRRMode(&effectiveTRRMode); mEffectiveTRRMode = effectiveTRRMode; nsITRRSkipReason::value trrSkipReason; mDNSRecord->GetTrrSkipReason(&trrSkipReason); mTRRSkipReason = trrSkipReason; } // init socket type info Loading Loading @@ -1751,9 +1757,17 @@ bool nsSocketTransport::RecoverFromError() { // try next ip address only if past the resolver stage... if (mState == STATE_CONNECTING && mDNSRecord) { nsresult rv = mDNSRecord->GetNextAddr(SocketPort(), &mNetAddr); mDNSRecord->IsTRR(&mResolvedByTRR); mDNSRecord->GetEffectiveTRRMode(&mEffectiveTRRMode); mDNSRecord->GetTrrSkipReason(&mTRRSkipReason); { bool resolvedByTRR; mDNSRecord->IsTRR(&resolvedByTRR); mResolvedByTRR = resolvedByTRR; nsIRequest::TRRMode effectiveTRRMode; mDNSRecord->GetEffectiveTRRMode(&effectiveTRRMode); mEffectiveTRRMode = effectiveTRRMode; nsITRRSkipReason::value trrSkipReason; mDNSRecord->GetTrrSkipReason(&trrSkipReason); mTRRSkipReason = trrSkipReason; } if (NS_SUCCEEDED(rv)) { SOCKET_LOG((" trying again with next ip address\n")); tryAgain = true; Loading Loading @@ -2061,9 +2075,15 @@ void nsSocketTransport::OnSocketEvent(uint32_t type, nsresult status, if (mDNSRecord) { mDNSRecord->GetNextAddr(SocketPort(), &mNetAddr); mDNSRecord->IsTRR(&mResolvedByTRR); mDNSRecord->GetEffectiveTRRMode(&mEffectiveTRRMode); mDNSRecord->GetTrrSkipReason(&mTRRSkipReason); bool resolvedByTRR; mDNSRecord->IsTRR(&resolvedByTRR); mResolvedByTRR = resolvedByTRR; nsIRequest::TRRMode effectiveTRRMode; mDNSRecord->GetEffectiveTRRMode(&effectiveTRRMode); mEffectiveTRRMode = effectiveTRRMode; nsITRRSkipReason::value trrSkipReason; mDNSRecord->GetTrrSkipReason(&trrSkipReason); mTRRSkipReason = trrSkipReason; } // status contains DNS lookup status if (NS_FAILED(status)) { Loading Loading @@ -2823,9 +2843,15 @@ nsSocketTransport::OnLookupComplete(nsICancelable* request, nsIDNSRecord* rec, } if (nsCOMPtr<nsIDNSAddrRecord> addrRecord = do_QueryInterface(rec)) { addrRecord->IsTRR(&mResolvedByTRR); addrRecord->GetEffectiveTRRMode(&mEffectiveTRRMode); addrRecord->GetTrrSkipReason(&mTRRSkipReason); bool resolvedByTRR; addrRecord->IsTRR(&resolvedByTRR); mResolvedByTRR = resolvedByTRR; nsIRequest::TRRMode effectiveTRRMode; addrRecord->GetEffectiveTRRMode(&effectiveTRRMode); mEffectiveTRRMode = effectiveTRRMode; nsITRRSkipReason::value trrSkipReason; addrRecord->GetTrrSkipReason(&trrSkipReason); mTRRSkipReason = trrSkipReason; } // flag host lookup complete for the benefit of the ResolveHost method. Loading netwerk/base/nsSocketTransport2.h +5 −3 Original line number Diff line number Diff line Loading @@ -273,9 +273,11 @@ class nsSocketTransport final : public nsASocketHandler, nsCString mEchConfig MOZ_GUARDED_BY(mLock); Atomic<bool, Relaxed> mEchConfigUsed{false}; bool mResolvedByTRR{false}; nsIRequest::TRRMode mEffectiveTRRMode{nsIRequest::TRR_DEFAULT_MODE}; nsITRRSkipReason::value mTRRSkipReason{nsITRRSkipReason::TRR_UNSET}; Atomic<bool, Relaxed> mResolvedByTRR{false}; Atomic<nsIRequest::TRRMode, Relaxed> mEffectiveTRRMode{ nsIRequest::TRR_DEFAULT_MODE}; Atomic<nsITRRSkipReason::value, Relaxed> mTRRSkipReason{ nsITRRSkipReason::TRR_UNSET}; nsCOMPtr<nsISupports> mInputCopyContext; nsCOMPtr<nsISupports> mOutputCopyContext; Loading Loading
netwerk/base/nsSocketTransport2.cpp +38 −12 Original line number Diff line number Diff line Loading @@ -722,9 +722,15 @@ nsresult nsSocketTransport::Init(const nsTArray<nsCString>& types, if (dnsRecord) { mExternalDNSResolution = true; mDNSRecord = do_QueryInterface(dnsRecord); mDNSRecord->IsTRR(&mResolvedByTRR); mDNSRecord->GetEffectiveTRRMode(&mEffectiveTRRMode); mDNSRecord->GetTrrSkipReason(&mTRRSkipReason); bool resolvedByTRR; mDNSRecord->IsTRR(&resolvedByTRR); mResolvedByTRR = resolvedByTRR; nsIRequest::TRRMode effectiveTRRMode; mDNSRecord->GetEffectiveTRRMode(&effectiveTRRMode); mEffectiveTRRMode = effectiveTRRMode; nsITRRSkipReason::value trrSkipReason; mDNSRecord->GetTrrSkipReason(&trrSkipReason); mTRRSkipReason = trrSkipReason; } // init socket type info Loading Loading @@ -1751,9 +1757,17 @@ bool nsSocketTransport::RecoverFromError() { // try next ip address only if past the resolver stage... if (mState == STATE_CONNECTING && mDNSRecord) { nsresult rv = mDNSRecord->GetNextAddr(SocketPort(), &mNetAddr); mDNSRecord->IsTRR(&mResolvedByTRR); mDNSRecord->GetEffectiveTRRMode(&mEffectiveTRRMode); mDNSRecord->GetTrrSkipReason(&mTRRSkipReason); { bool resolvedByTRR; mDNSRecord->IsTRR(&resolvedByTRR); mResolvedByTRR = resolvedByTRR; nsIRequest::TRRMode effectiveTRRMode; mDNSRecord->GetEffectiveTRRMode(&effectiveTRRMode); mEffectiveTRRMode = effectiveTRRMode; nsITRRSkipReason::value trrSkipReason; mDNSRecord->GetTrrSkipReason(&trrSkipReason); mTRRSkipReason = trrSkipReason; } if (NS_SUCCEEDED(rv)) { SOCKET_LOG((" trying again with next ip address\n")); tryAgain = true; Loading Loading @@ -2061,9 +2075,15 @@ void nsSocketTransport::OnSocketEvent(uint32_t type, nsresult status, if (mDNSRecord) { mDNSRecord->GetNextAddr(SocketPort(), &mNetAddr); mDNSRecord->IsTRR(&mResolvedByTRR); mDNSRecord->GetEffectiveTRRMode(&mEffectiveTRRMode); mDNSRecord->GetTrrSkipReason(&mTRRSkipReason); bool resolvedByTRR; mDNSRecord->IsTRR(&resolvedByTRR); mResolvedByTRR = resolvedByTRR; nsIRequest::TRRMode effectiveTRRMode; mDNSRecord->GetEffectiveTRRMode(&effectiveTRRMode); mEffectiveTRRMode = effectiveTRRMode; nsITRRSkipReason::value trrSkipReason; mDNSRecord->GetTrrSkipReason(&trrSkipReason); mTRRSkipReason = trrSkipReason; } // status contains DNS lookup status if (NS_FAILED(status)) { Loading Loading @@ -2823,9 +2843,15 @@ nsSocketTransport::OnLookupComplete(nsICancelable* request, nsIDNSRecord* rec, } if (nsCOMPtr<nsIDNSAddrRecord> addrRecord = do_QueryInterface(rec)) { addrRecord->IsTRR(&mResolvedByTRR); addrRecord->GetEffectiveTRRMode(&mEffectiveTRRMode); addrRecord->GetTrrSkipReason(&mTRRSkipReason); bool resolvedByTRR; addrRecord->IsTRR(&resolvedByTRR); mResolvedByTRR = resolvedByTRR; nsIRequest::TRRMode effectiveTRRMode; addrRecord->GetEffectiveTRRMode(&effectiveTRRMode); mEffectiveTRRMode = effectiveTRRMode; nsITRRSkipReason::value trrSkipReason; addrRecord->GetTrrSkipReason(&trrSkipReason); mTRRSkipReason = trrSkipReason; } // flag host lookup complete for the benefit of the ResolveHost method. Loading
netwerk/base/nsSocketTransport2.h +5 −3 Original line number Diff line number Diff line Loading @@ -273,9 +273,11 @@ class nsSocketTransport final : public nsASocketHandler, nsCString mEchConfig MOZ_GUARDED_BY(mLock); Atomic<bool, Relaxed> mEchConfigUsed{false}; bool mResolvedByTRR{false}; nsIRequest::TRRMode mEffectiveTRRMode{nsIRequest::TRR_DEFAULT_MODE}; nsITRRSkipReason::value mTRRSkipReason{nsITRRSkipReason::TRR_UNSET}; Atomic<bool, Relaxed> mResolvedByTRR{false}; Atomic<nsIRequest::TRRMode, Relaxed> mEffectiveTRRMode{ nsIRequest::TRR_DEFAULT_MODE}; Atomic<nsITRRSkipReason::value, Relaxed> mTRRSkipReason{ nsITRRSkipReason::TRR_UNSET}; nsCOMPtr<nsISupports> mInputCopyContext; nsCOMPtr<nsISupports> mOutputCopyContext; Loading