mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-04 13:07:52 +00:00
Backed out 3 changesets (bug 1525640) for causing leaks a=backout
Backed out changeset efdd32c00dc6 (bug 1525640) Backed out changeset e71641f0465b (bug 1525640) Backed out changeset e3539a40afdf (bug 1525640)
This commit is contained in:
parent
8fa5eb9862
commit
8442bbf9c9
@ -182,10 +182,6 @@ class FakeSocketTransportProvider : public nsISocketTransport {
|
|||||||
MOZ_ASSERT(false);
|
MOZ_ASSERT(false);
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
NS_IMETHOD ResolvedByTRR(bool *aResolvedByTRR) override {
|
|
||||||
MOZ_ASSERT(false);
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
// nsITransport
|
// nsITransport
|
||||||
NS_IMETHOD OpenInputStream(uint32_t aFlags, uint32_t aSegmentSize,
|
NS_IMETHOD OpenInputStream(uint32_t aFlags, uint32_t aSegmentSize,
|
||||||
|
@ -314,9 +314,4 @@ interface nsISocketTransport : nsITransport
|
|||||||
* The value is set after PR_Connect is called.
|
* The value is set after PR_Connect is called.
|
||||||
*/
|
*/
|
||||||
readonly attribute boolean esniUsed;
|
readonly attribute boolean esniUsed;
|
||||||
|
|
||||||
/**
|
|
||||||
* IP address resolved using TRR.
|
|
||||||
*/
|
|
||||||
bool resolvedByTRR();
|
|
||||||
};
|
};
|
||||||
|
@ -708,7 +708,6 @@ nsSocketTransport::nsSocketTransport()
|
|||||||
mInputClosed(true),
|
mInputClosed(true),
|
||||||
mOutputClosed(true),
|
mOutputClosed(true),
|
||||||
mResolving(false),
|
mResolving(false),
|
||||||
mResolvedByTRR(false),
|
|
||||||
mDNSLookupStatus(NS_OK),
|
mDNSLookupStatus(NS_OK),
|
||||||
mDNSARequestFinished(0),
|
mDNSARequestFinished(0),
|
||||||
mEsniQueried(false),
|
mEsniQueried(false),
|
||||||
@ -1804,7 +1803,6 @@ bool nsSocketTransport::RecoverFromError() {
|
|||||||
// try next ip address only if past the resolver stage...
|
// try next ip address only if past the resolver stage...
|
||||||
if (mState == STATE_CONNECTING && mDNSRecord) {
|
if (mState == STATE_CONNECTING && mDNSRecord) {
|
||||||
nsresult rv = mDNSRecord->GetNextAddr(SocketPort(), &mNetAddr);
|
nsresult rv = mDNSRecord->GetNextAddr(SocketPort(), &mNetAddr);
|
||||||
mDNSRecord->IsTRR(&mResolvedByTRR);
|
|
||||||
if (NS_SUCCEEDED(rv)) {
|
if (NS_SUCCEEDED(rv)) {
|
||||||
SOCKET_LOG((" trying again with next ip address\n"));
|
SOCKET_LOG((" trying again with next ip address\n"));
|
||||||
tryAgain = true;
|
tryAgain = true;
|
||||||
@ -2098,7 +2096,6 @@ void nsSocketTransport::OnSocketEvent(uint32_t type, nsresult status,
|
|||||||
mDNSTxtRequest = nullptr;
|
mDNSTxtRequest = nullptr;
|
||||||
if (mDNSRecord) {
|
if (mDNSRecord) {
|
||||||
mDNSRecord->GetNextAddr(SocketPort(), &mNetAddr);
|
mDNSRecord->GetNextAddr(SocketPort(), &mNetAddr);
|
||||||
mDNSRecord->IsTRR(&mResolvedByTRR);
|
|
||||||
}
|
}
|
||||||
// status contains DNS lookup status
|
// status contains DNS lookup status
|
||||||
if (NS_FAILED(status)) {
|
if (NS_FAILED(status)) {
|
||||||
@ -3526,11 +3523,5 @@ nsSocketTransport::GetEsniUsed(bool *aEsniUsed) {
|
|||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
NS_IMETHODIMP
|
|
||||||
nsSocketTransport::ResolvedByTRR(bool *aResolvedByTRR) {
|
|
||||||
*aResolvedByTRR = mResolvedByTRR;
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace net
|
} // namespace net
|
||||||
} // namespace mozilla
|
} // namespace mozilla
|
||||||
|
@ -328,7 +328,6 @@ class nsSocketTransport final : public nsASocketHandler,
|
|||||||
|
|
||||||
nsCOMPtr<nsICancelable> mDNSRequest;
|
nsCOMPtr<nsICancelable> mDNSRequest;
|
||||||
nsCOMPtr<nsIDNSRecord> mDNSRecord;
|
nsCOMPtr<nsIDNSRecord> mDNSRecord;
|
||||||
bool mResolvedByTRR;
|
|
||||||
|
|
||||||
nsresult mDNSLookupStatus;
|
nsresult mDNSLookupStatus;
|
||||||
PRIntervalTime mDNSARequestFinished;
|
PRIntervalTime mDNSARequestFinished;
|
||||||
|
@ -275,7 +275,7 @@ nsresult TRR::SendHTTPRequest() {
|
|||||||
// update with each HEADERS or reply to a DATA with a WINDOW UPDATE
|
// update with each HEADERS or reply to a DATA with a WINDOW UPDATE
|
||||||
rv = internalChannel->SetInitialRwin(127 * 1024);
|
rv = internalChannel->SetInitialRwin(127 * 1024);
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
rv = internalChannel->SetIsTRRServiceChannel(true);
|
rv = internalChannel->SetTrr(true);
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
mAllowRFC1918 = gTRRService->AllowRFC1918();
|
mAllowRFC1918 = gTRRService->AllowRFC1918();
|
||||||
|
@ -118,7 +118,6 @@ nsDNSRecord::IsTRR(bool *retval) {
|
|||||||
}
|
}
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsDNSRecord::GetNextAddr(uint16_t port, NetAddr *addr) {
|
nsDNSRecord::GetNextAddr(uint16_t port, NetAddr *addr) {
|
||||||
if (mDone) {
|
if (mDone) {
|
||||||
|
@ -476,19 +476,10 @@ ClassifierDummyChannel::SetBeConservative(bool aBeConservative) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
ClassifierDummyChannel::GetIsTRRServiceChannel(bool* aTrr) {
|
ClassifierDummyChannel::GetTrr(bool* aTrr) { return NS_ERROR_NOT_IMPLEMENTED; }
|
||||||
return NS_ERROR_NOT_IMPLEMENTED;
|
|
||||||
}
|
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
ClassifierDummyChannel::SetIsTRRServiceChannel(bool aTrr) {
|
ClassifierDummyChannel::SetTrr(bool aTrr) { return NS_ERROR_NOT_IMPLEMENTED; }
|
||||||
return NS_ERROR_NOT_IMPLEMENTED;
|
|
||||||
}
|
|
||||||
|
|
||||||
NS_IMETHODIMP
|
|
||||||
ClassifierDummyChannel::GetIsResolvedByTRR(bool* aResolvedByTRR) {
|
|
||||||
return NS_ERROR_NOT_IMPLEMENTED;
|
|
||||||
}
|
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
ClassifierDummyChannel::GetTlsFlags(uint32_t* aTlsFlags) {
|
ClassifierDummyChannel::GetTlsFlags(uint32_t* aTlsFlags) {
|
||||||
|
@ -416,7 +416,7 @@ uint32_t Http2Session::RegisterStreamID(Http2Stream *stream, uint32_t aNewID) {
|
|||||||
// don't count push streams here
|
// don't count push streams here
|
||||||
MOZ_ASSERT(stream->Transaction(), "no transation for the stream!");
|
MOZ_ASSERT(stream->Transaction(), "no transation for the stream!");
|
||||||
RefPtr<nsHttpConnectionInfo> ci(stream->Transaction()->ConnectionInfo());
|
RefPtr<nsHttpConnectionInfo> ci(stream->Transaction()->ConnectionInfo());
|
||||||
if (ci && ci->GetIsTrrServiceChannel()) {
|
if (ci && ci->GetTrrUsed()) {
|
||||||
IncrementTrrCounter();
|
IncrementTrrCounter();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -496,7 +496,7 @@ nsresult Http2Stream::ParseHttpRequestHeaders(const char *buf, uint32_t avail,
|
|||||||
|
|
||||||
// if the "mother stream" had TRR, this one is a TRR stream too!
|
// if the "mother stream" had TRR, this one is a TRR stream too!
|
||||||
RefPtr<nsHttpConnectionInfo> ci(Transaction()->ConnectionInfo());
|
RefPtr<nsHttpConnectionInfo> ci(Transaction()->ConnectionInfo());
|
||||||
if (ci && ci->GetIsTrrServiceChannel()) {
|
if (ci && ci->GetTrrUsed()) {
|
||||||
mSession->IncrementTrrCounter();
|
mSession->IncrementTrrCounter();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -196,8 +196,7 @@ HttpBaseChannel::HttpBaseChannel()
|
|||||||
mAllowSpdy(true),
|
mAllowSpdy(true),
|
||||||
mAllowAltSvc(true),
|
mAllowAltSvc(true),
|
||||||
mBeConservative(false),
|
mBeConservative(false),
|
||||||
mIsTRRServiceChannel(false),
|
mTRR(false),
|
||||||
mResolvedByTRR(false),
|
|
||||||
mResponseTimeoutEnabled(true),
|
mResponseTimeoutEnabled(true),
|
||||||
mAllRedirectsSameOrigin(true),
|
mAllRedirectsSameOrigin(true),
|
||||||
mAllRedirectsPassTimingAllowCheck(true),
|
mAllRedirectsPassTimingAllowCheck(true),
|
||||||
@ -2702,23 +2701,16 @@ HttpBaseChannel::SetBeConservative(bool aBeConservative) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
HttpBaseChannel::GetIsTRRServiceChannel(bool* aIsTRRServiceChannel) {
|
HttpBaseChannel::GetTrr(bool* aTRR) {
|
||||||
NS_ENSURE_ARG_POINTER(aIsTRRServiceChannel);
|
NS_ENSURE_ARG_POINTER(aTRR);
|
||||||
|
|
||||||
*aIsTRRServiceChannel = mIsTRRServiceChannel;
|
*aTRR = mTRR;
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
HttpBaseChannel::SetIsTRRServiceChannel(bool aIsTRRServiceChannel) {
|
HttpBaseChannel::SetTrr(bool aTRR) {
|
||||||
mIsTRRServiceChannel = aIsTRRServiceChannel;
|
mTRR = aTRR;
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
NS_IMETHODIMP
|
|
||||||
HttpBaseChannel::GetIsResolvedByTRR(bool* aResolvedByTRR) {
|
|
||||||
NS_ENSURE_ARG_POINTER(aResolvedByTRR);
|
|
||||||
*aResolvedByTRR = mResolvedByTRR;
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3585,7 +3577,7 @@ nsresult HttpBaseChannel::SetupReplacementChannel(nsIURI* newURI,
|
|||||||
MOZ_ASSERT(NS_SUCCEEDED(rv));
|
MOZ_ASSERT(NS_SUCCEEDED(rv));
|
||||||
rv = httpInternal->SetBeConservative(mBeConservative);
|
rv = httpInternal->SetBeConservative(mBeConservative);
|
||||||
MOZ_ASSERT(NS_SUCCEEDED(rv));
|
MOZ_ASSERT(NS_SUCCEEDED(rv));
|
||||||
rv = httpInternal->SetIsTRRServiceChannel(mIsTRRServiceChannel);
|
rv = httpInternal->SetTrr(mTRR);
|
||||||
MOZ_ASSERT(NS_SUCCEEDED(rv));
|
MOZ_ASSERT(NS_SUCCEEDED(rv));
|
||||||
rv = httpInternal->SetTlsFlags(mTlsFlags);
|
rv = httpInternal->SetTlsFlags(mTlsFlags);
|
||||||
MOZ_ASSERT(NS_SUCCEEDED(rv));
|
MOZ_ASSERT(NS_SUCCEEDED(rv));
|
||||||
|
@ -276,9 +276,8 @@ class HttpBaseChannel : public nsHashPropertyBag,
|
|||||||
NS_IMETHOD SetAllowAltSvc(bool aAllowAltSvc) override;
|
NS_IMETHOD SetAllowAltSvc(bool aAllowAltSvc) override;
|
||||||
NS_IMETHOD GetBeConservative(bool *aBeConservative) override;
|
NS_IMETHOD GetBeConservative(bool *aBeConservative) override;
|
||||||
NS_IMETHOD SetBeConservative(bool aBeConservative) override;
|
NS_IMETHOD SetBeConservative(bool aBeConservative) override;
|
||||||
NS_IMETHOD GetIsTRRServiceChannel(bool *aTRR) override;
|
NS_IMETHOD GetTrr(bool *aTRR) override;
|
||||||
NS_IMETHOD SetIsTRRServiceChannel(bool aTRR) override;
|
NS_IMETHOD SetTrr(bool aTRR) override;
|
||||||
NS_IMETHOD GetIsResolvedByTRR(bool *aResolvedByTRR) override;
|
|
||||||
NS_IMETHOD GetTlsFlags(uint32_t *aTlsFlags) override;
|
NS_IMETHOD GetTlsFlags(uint32_t *aTlsFlags) override;
|
||||||
NS_IMETHOD SetTlsFlags(uint32_t aTlsFlags) override;
|
NS_IMETHOD SetTlsFlags(uint32_t aTlsFlags) override;
|
||||||
NS_IMETHOD GetApiRedirectToURI(nsIURI **aApiRedirectToURI) override;
|
NS_IMETHOD GetApiRedirectToURI(nsIURI **aApiRedirectToURI) override;
|
||||||
@ -702,12 +701,7 @@ class HttpBaseChannel : public nsHashPropertyBag,
|
|||||||
// classification. If this is changed or removed, make sure we also update
|
// classification. If this is changed or removed, make sure we also update
|
||||||
// NS_ShouldClassifyChannel accordingly !!!
|
// NS_ShouldClassifyChannel accordingly !!!
|
||||||
uint32_t mBeConservative : 1;
|
uint32_t mBeConservative : 1;
|
||||||
// If the current channel is used to as a TRR connection.
|
uint32_t mTRR : 1;
|
||||||
uint32_t mIsTRRServiceChannel : 1;
|
|
||||||
// If the request was performed to a TRR resolved IP address.
|
|
||||||
// Will be false if loading the resource does not create a connection
|
|
||||||
// (for example when it's loaded from the cache).
|
|
||||||
uint32_t mResolvedByTRR : 1;
|
|
||||||
uint32_t mResponseTimeoutEnabled : 1;
|
uint32_t mResponseTimeoutEnabled : 1;
|
||||||
// A flag that should be false only if a cross-domain redirect occurred
|
// A flag that should be false only if a cross-domain redirect occurred
|
||||||
uint32_t mAllRedirectsSameOrigin : 1;
|
uint32_t mAllRedirectsSameOrigin : 1;
|
||||||
|
@ -406,7 +406,7 @@ class StartRequestEvent : public NeckoTargetChannelEvent<HttpChannelChild> {
|
|||||||
const NetAddr& aPeerAddr, const uint32_t& aCacheKey,
|
const NetAddr& aPeerAddr, const uint32_t& aCacheKey,
|
||||||
const nsCString& altDataType, const int64_t& altDataLen,
|
const nsCString& altDataType, const int64_t& altDataLen,
|
||||||
const bool& deliveringAltData, const bool& aApplyConversion,
|
const bool& deliveringAltData, const bool& aApplyConversion,
|
||||||
const bool& aIsResolvedByTRR, const ResourceTimingStruct& aTiming)
|
const ResourceTimingStruct& aTiming)
|
||||||
: NeckoTargetChannelEvent<HttpChannelChild>(aChild),
|
: NeckoTargetChannelEvent<HttpChannelChild>(aChild),
|
||||||
mChannelStatus(aChannelStatus),
|
mChannelStatus(aChannelStatus),
|
||||||
mResponseHead(aResponseHead),
|
mResponseHead(aResponseHead),
|
||||||
@ -427,7 +427,6 @@ class StartRequestEvent : public NeckoTargetChannelEvent<HttpChannelChild> {
|
|||||||
mAltDataLen(altDataLen),
|
mAltDataLen(altDataLen),
|
||||||
mDeliveringAltData(deliveringAltData),
|
mDeliveringAltData(deliveringAltData),
|
||||||
mLoadInfoForwarder(loadInfoForwarder),
|
mLoadInfoForwarder(loadInfoForwarder),
|
||||||
mIsResolvedByTRR(aIsResolvedByTRR),
|
|
||||||
mTiming(aTiming) {}
|
mTiming(aTiming) {}
|
||||||
|
|
||||||
void Run() override {
|
void Run() override {
|
||||||
@ -438,7 +437,7 @@ class StartRequestEvent : public NeckoTargetChannelEvent<HttpChannelChild> {
|
|||||||
mCacheFetchCount, mCacheExpirationTime, mCachedCharset,
|
mCacheFetchCount, mCacheExpirationTime, mCachedCharset,
|
||||||
mSecurityInfoSerialization, mSelfAddr, mPeerAddr, mCacheKey,
|
mSecurityInfoSerialization, mSelfAddr, mPeerAddr, mCacheKey,
|
||||||
mAltDataType, mAltDataLen, mDeliveringAltData, mApplyConversion,
|
mAltDataType, mAltDataLen, mDeliveringAltData, mApplyConversion,
|
||||||
mIsResolvedByTRR, mTiming);
|
mTiming);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -461,7 +460,6 @@ class StartRequestEvent : public NeckoTargetChannelEvent<HttpChannelChild> {
|
|||||||
int64_t mAltDataLen;
|
int64_t mAltDataLen;
|
||||||
bool mDeliveringAltData;
|
bool mDeliveringAltData;
|
||||||
ParentLoadInfoForwarderArgs mLoadInfoForwarder;
|
ParentLoadInfoForwarderArgs mLoadInfoForwarder;
|
||||||
bool mIsResolvedByTRR;
|
|
||||||
ResourceTimingStruct mTiming;
|
ResourceTimingStruct mTiming;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -476,8 +474,7 @@ mozilla::ipc::IPCResult HttpChannelChild::RecvOnStartRequest(
|
|||||||
const NetAddr& peerAddr, const int16_t& redirectCount,
|
const NetAddr& peerAddr, const int16_t& redirectCount,
|
||||||
const uint32_t& cacheKey, const nsCString& altDataType,
|
const uint32_t& cacheKey, const nsCString& altDataType,
|
||||||
const int64_t& altDataLen, const bool& deliveringAltData,
|
const int64_t& altDataLen, const bool& deliveringAltData,
|
||||||
const bool& aApplyConversion, const bool& aIsResolvedByTRR,
|
const bool& aApplyConversion, const ResourceTimingStruct& aTiming) {
|
||||||
const ResourceTimingStruct& aTiming) {
|
|
||||||
AUTO_PROFILER_LABEL("HttpChannelChild::RecvOnStartRequest", NETWORK);
|
AUTO_PROFILER_LABEL("HttpChannelChild::RecvOnStartRequest", NETWORK);
|
||||||
LOG(("HttpChannelChild::RecvOnStartRequest [this=%p]\n", this));
|
LOG(("HttpChannelChild::RecvOnStartRequest [this=%p]\n", this));
|
||||||
// mFlushedForDiversion and mDivertingToParent should NEVER be set at this
|
// mFlushedForDiversion and mDivertingToParent should NEVER be set at this
|
||||||
@ -496,8 +493,7 @@ mozilla::ipc::IPCResult HttpChannelChild::RecvOnStartRequest(
|
|||||||
loadInfoForwarder, isFromCache, cacheEntryAvailable, cacheEntryId,
|
loadInfoForwarder, isFromCache, cacheEntryAvailable, cacheEntryId,
|
||||||
cacheFetchCount, cacheExpirationTime, cachedCharset,
|
cacheFetchCount, cacheExpirationTime, cachedCharset,
|
||||||
securityInfoSerialization, selfAddr, peerAddr, cacheKey, altDataType,
|
securityInfoSerialization, selfAddr, peerAddr, cacheKey, altDataType,
|
||||||
altDataLen, deliveringAltData, aApplyConversion, aIsResolvedByTRR,
|
altDataLen, deliveringAltData, aApplyConversion, aTiming));
|
||||||
aTiming));
|
|
||||||
|
|
||||||
{
|
{
|
||||||
// Child's mEventQ is to control the execution order of the IPC messages
|
// Child's mEventQ is to control the execution order of the IPC messages
|
||||||
@ -531,7 +527,7 @@ void HttpChannelChild::OnStartRequest(
|
|||||||
const NetAddr& peerAddr, const uint32_t& cacheKey,
|
const NetAddr& peerAddr, const uint32_t& cacheKey,
|
||||||
const nsCString& altDataType, const int64_t& altDataLen,
|
const nsCString& altDataType, const int64_t& altDataLen,
|
||||||
const bool& deliveringAltData, const bool& aApplyConversion,
|
const bool& deliveringAltData, const bool& aApplyConversion,
|
||||||
const bool& aIsResolvedByTRR, const ResourceTimingStruct& aTiming) {
|
const ResourceTimingStruct& aTiming) {
|
||||||
LOG(("HttpChannelChild::OnStartRequest [this=%p]\n", this));
|
LOG(("HttpChannelChild::OnStartRequest [this=%p]\n", this));
|
||||||
|
|
||||||
// mFlushedForDiversion and mDivertingToParent should NEVER be set at this
|
// mFlushedForDiversion and mDivertingToParent should NEVER be set at this
|
||||||
@ -584,7 +580,6 @@ void HttpChannelChild::OnStartRequest(
|
|||||||
mAvailableCachedAltDataType = altDataType;
|
mAvailableCachedAltDataType = altDataType;
|
||||||
mDeliveringAltData = deliveringAltData;
|
mDeliveringAltData = deliveringAltData;
|
||||||
mAltDataLength = altDataLen;
|
mAltDataLength = altDataLen;
|
||||||
mResolvedByTRR = aIsResolvedByTRR;
|
|
||||||
|
|
||||||
SetApplyConversion(aApplyConversion);
|
SetApplyConversion(aApplyConversion);
|
||||||
|
|
||||||
|
@ -145,7 +145,7 @@ class HttpChannelChild final : public PHttpChannelChild,
|
|||||||
const NetAddr& peerAddr, const int16_t& redirectCount,
|
const NetAddr& peerAddr, const int16_t& redirectCount,
|
||||||
const uint32_t& cacheKey, const nsCString& altDataType,
|
const uint32_t& cacheKey, const nsCString& altDataType,
|
||||||
const int64_t& altDataLen, const bool& deliveringAltData,
|
const int64_t& altDataLen, const bool& deliveringAltData,
|
||||||
const bool& aApplyConversion, const bool& aIsResolvedByTRR,
|
const bool& aApplyConversion,
|
||||||
const ResourceTimingStruct& aTiming) override;
|
const ResourceTimingStruct& aTiming) override;
|
||||||
mozilla::ipc::IPCResult RecvFailedAsyncOpen(const nsresult& status) override;
|
mozilla::ipc::IPCResult RecvFailedAsyncOpen(const nsresult& status) override;
|
||||||
mozilla::ipc::IPCResult RecvRedirect1Begin(
|
mozilla::ipc::IPCResult RecvRedirect1Begin(
|
||||||
@ -470,7 +470,7 @@ class HttpChannelChild final : public PHttpChannelChild,
|
|||||||
const NetAddr& peerAddr, const uint32_t& cacheKey,
|
const NetAddr& peerAddr, const uint32_t& cacheKey,
|
||||||
const nsCString& altDataType, const int64_t& altDataLen,
|
const nsCString& altDataType, const int64_t& altDataLen,
|
||||||
const bool& deliveringAltData, const bool& aApplyConversion,
|
const bool& deliveringAltData, const bool& aApplyConversion,
|
||||||
const bool& aIsResolvedByTRR, const ResourceTimingStruct& aTiming);
|
const ResourceTimingStruct& aTiming);
|
||||||
void MaybeDivertOnData(const nsCString& data, const uint64_t& offset,
|
void MaybeDivertOnData(const nsCString& data, const uint64_t& offset,
|
||||||
const uint32_t& count);
|
const uint32_t& count);
|
||||||
void OnTransportAndData(const nsresult& channelStatus, const nsresult& status,
|
void OnTransportAndData(const nsresult& channelStatus, const nsresult& status,
|
||||||
|
@ -1461,9 +1461,6 @@ HttpChannelParent::OnStartRequest(nsIRequest* aRequest) {
|
|||||||
ResourceTimingStruct timing;
|
ResourceTimingStruct timing;
|
||||||
GetTimingAttributes(mChannel, timing);
|
GetTimingAttributes(mChannel, timing);
|
||||||
|
|
||||||
bool isResolvedByTRR = false;
|
|
||||||
chan->GetIsResolvedByTRR(&isResolvedByTRR);
|
|
||||||
|
|
||||||
rv = NS_OK;
|
rv = NS_OK;
|
||||||
if (mIPCClosed ||
|
if (mIPCClosed ||
|
||||||
!SendOnStartRequest(
|
!SendOnStartRequest(
|
||||||
@ -1473,7 +1470,7 @@ HttpChannelParent::OnStartRequest(nsIRequest* aRequest) {
|
|||||||
cacheEntryId, fetchCount, expirationTime, cachedCharset,
|
cacheEntryId, fetchCount, expirationTime, cachedCharset,
|
||||||
secInfoSerialization, chan->GetSelfAddr(), chan->GetPeerAddr(),
|
secInfoSerialization, chan->GetSelfAddr(), chan->GetPeerAddr(),
|
||||||
redirectCount, cacheKey, altDataType, altDataLen, deliveringAltData,
|
redirectCount, cacheKey, altDataType, altDataLen, deliveringAltData,
|
||||||
applyConversion, isResolvedByTRR, timing)) {
|
applyConversion, timing)) {
|
||||||
rv = NS_ERROR_UNEXPECTED;
|
rv = NS_ERROR_UNEXPECTED;
|
||||||
}
|
}
|
||||||
requestHead->Exit();
|
requestHead->Exit();
|
||||||
|
@ -126,7 +126,6 @@ child:
|
|||||||
int64_t altDataLength,
|
int64_t altDataLength,
|
||||||
bool deliveringAltData,
|
bool deliveringAltData,
|
||||||
bool applyConversion,
|
bool applyConversion,
|
||||||
bool isResolvedByTRR,
|
|
||||||
ResourceTimingStruct timing);
|
ResourceTimingStruct timing);
|
||||||
|
|
||||||
// Used to cancel child channel if we hit errors during creating and
|
// Used to cancel child channel if we hit errors during creating and
|
||||||
|
@ -1827,14 +1827,6 @@ SocketTransportShim::GetEsniUsed(bool *aEsniUsed) {
|
|||||||
return NS_ERROR_NOT_IMPLEMENTED;
|
return NS_ERROR_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
NS_IMETHODIMP
|
|
||||||
SocketTransportShim::ResolvedByTRR(bool *aResolvedByTRR) {
|
|
||||||
if (mIsWebsocket) {
|
|
||||||
LOG3(("WARNING: SocketTransportShim::IsTRR %p", this));
|
|
||||||
}
|
|
||||||
return NS_ERROR_NOT_IMPLEMENTED;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define FWD_TS_PTR(fx, ts) \
|
#define FWD_TS_PTR(fx, ts) \
|
||||||
NS_IMETHODIMP \
|
NS_IMETHODIMP \
|
||||||
SocketTransportShim::fx(ts *arg) { return mWrapped->fx(arg); }
|
SocketTransportShim::fx(ts *arg) { return mWrapped->fx(arg); }
|
||||||
|
@ -617,7 +617,7 @@ nsresult nsHttpChannel::ContinueOnBeforeConnect(bool aShouldUpgrade,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mIsTRRServiceChannel) {
|
if (mTRR) {
|
||||||
mCaps |= NS_HTTP_LARGE_KEEPALIVE | NS_HTTP_DISABLE_TRR;
|
mCaps |= NS_HTTP_LARGE_KEEPALIVE | NS_HTTP_DISABLE_TRR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -632,7 +632,7 @@ nsresult nsHttpChannel::ContinueOnBeforeConnect(bool aShouldUpgrade,
|
|||||||
mConnectionInfo->SetBeConservative((mCaps & NS_HTTP_BE_CONSERVATIVE) ||
|
mConnectionInfo->SetBeConservative((mCaps & NS_HTTP_BE_CONSERVATIVE) ||
|
||||||
mBeConservative);
|
mBeConservative);
|
||||||
mConnectionInfo->SetTlsFlags(mTlsFlags);
|
mConnectionInfo->SetTlsFlags(mTlsFlags);
|
||||||
mConnectionInfo->SetIsTrrServiceChannel(mIsTRRServiceChannel);
|
mConnectionInfo->SetTrrUsed(mTRR);
|
||||||
mConnectionInfo->SetTrrDisabled(mCaps & NS_HTTP_DISABLE_TRR);
|
mConnectionInfo->SetTrrDisabled(mCaps & NS_HTTP_DISABLE_TRR);
|
||||||
mConnectionInfo->SetIPv4Disabled(mCaps & NS_HTTP_DISABLE_IPV4);
|
mConnectionInfo->SetIPv4Disabled(mCaps & NS_HTTP_DISABLE_IPV4);
|
||||||
mConnectionInfo->SetIPv6Disabled(mCaps & NS_HTTP_DISABLE_IPV6);
|
mConnectionInfo->SetIPv6Disabled(mCaps & NS_HTTP_DISABLE_IPV6);
|
||||||
@ -4037,7 +4037,7 @@ nsresult nsHttpChannel::OpenCacheEntryInternal(
|
|||||||
if (mPostID) {
|
if (mPostID) {
|
||||||
extension.Append(nsPrintfCString("%d", mPostID));
|
extension.Append(nsPrintfCString("%d", mPostID));
|
||||||
}
|
}
|
||||||
if (mIsTRRServiceChannel) {
|
if (mTRR) {
|
||||||
extension.Append("TRR");
|
extension.Append("TRR");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -8429,15 +8429,11 @@ nsHttpChannel::OnTransportStatus(nsITransport *trans, nsresult status,
|
|||||||
status == NS_NET_STATUS_WAITING_FOR) {
|
status == NS_NET_STATUS_WAITING_FOR) {
|
||||||
if (mTransaction) {
|
if (mTransaction) {
|
||||||
mTransaction->GetNetworkAddresses(mSelfAddr, mPeerAddr);
|
mTransaction->GetNetworkAddresses(mSelfAddr, mPeerAddr);
|
||||||
mResolvedByTRR = mTransaction->ResolvedByTRR();
|
|
||||||
} else {
|
} else {
|
||||||
nsCOMPtr<nsISocketTransport> socketTransport = do_QueryInterface(trans);
|
nsCOMPtr<nsISocketTransport> socketTransport = do_QueryInterface(trans);
|
||||||
if (socketTransport) {
|
if (socketTransport) {
|
||||||
socketTransport->GetSelfAddr(&mSelfAddr);
|
socketTransport->GetSelfAddr(&mSelfAddr);
|
||||||
socketTransport->GetPeerAddr(&mPeerAddr);
|
socketTransport->GetPeerAddr(&mPeerAddr);
|
||||||
bool isTrr = false;
|
|
||||||
socketTransport->ResolvedByTRR(&isTrr);
|
|
||||||
mResolvedByTRR = isTrr;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -139,7 +139,7 @@ nsHttpConnection::~nsHttpConnection() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
MOZ_ASSERT(ci);
|
MOZ_ASSERT(ci);
|
||||||
if (ci->GetIsTrrServiceChannel()) {
|
if (ci->GetTrrUsed()) {
|
||||||
Telemetry::Accumulate(Telemetry::DNS_TRR_REQUEST_PER_CONN,
|
Telemetry::Accumulate(Telemetry::DNS_TRR_REQUEST_PER_CONN,
|
||||||
mHttp1xTransactionCount);
|
mHttp1xTransactionCount);
|
||||||
}
|
}
|
||||||
|
@ -81,7 +81,7 @@ void nsHttpConnectionInfo::Init(const nsACString &host, int32_t port,
|
|||||||
mNPNToken = npnToken;
|
mNPNToken = npnToken;
|
||||||
mOriginAttributes = originAttributes;
|
mOriginAttributes = originAttributes;
|
||||||
mTlsFlags = 0x0;
|
mTlsFlags = 0x0;
|
||||||
mIsTrrServiceChannel = false;
|
mTrrUsed = false;
|
||||||
mTrrDisabled = false;
|
mTrrDisabled = false;
|
||||||
mIPv4Disabled = false;
|
mIPv4Disabled = false;
|
||||||
mIPv6Disabled = false;
|
mIPv6Disabled = false;
|
||||||
@ -250,7 +250,7 @@ already_AddRefed<nsHttpConnectionInfo> nsHttpConnectionInfo::Clone() const {
|
|||||||
clone->SetNoSpdy(GetNoSpdy());
|
clone->SetNoSpdy(GetNoSpdy());
|
||||||
clone->SetBeConservative(GetBeConservative());
|
clone->SetBeConservative(GetBeConservative());
|
||||||
clone->SetTlsFlags(GetTlsFlags());
|
clone->SetTlsFlags(GetTlsFlags());
|
||||||
clone->SetIsTrrServiceChannel(GetIsTrrServiceChannel());
|
clone->SetTrrUsed(GetTrrUsed());
|
||||||
clone->SetTrrDisabled(GetTrrDisabled());
|
clone->SetTrrDisabled(GetTrrDisabled());
|
||||||
clone->SetIPv4Disabled(GetIPv4Disabled());
|
clone->SetIPv4Disabled(GetIPv4Disabled());
|
||||||
clone->SetIPv6Disabled(GetIPv6Disabled());
|
clone->SetIPv6Disabled(GetIPv6Disabled());
|
||||||
@ -276,7 +276,7 @@ void nsHttpConnectionInfo::CloneAsDirectRoute(nsHttpConnectionInfo **outCI) {
|
|||||||
clone->SetNoSpdy(GetNoSpdy());
|
clone->SetNoSpdy(GetNoSpdy());
|
||||||
clone->SetBeConservative(GetBeConservative());
|
clone->SetBeConservative(GetBeConservative());
|
||||||
clone->SetTlsFlags(GetTlsFlags());
|
clone->SetTlsFlags(GetTlsFlags());
|
||||||
clone->SetIsTrrServiceChannel(GetIsTrrServiceChannel());
|
clone->SetTrrUsed(GetTrrUsed());
|
||||||
clone->SetTrrDisabled(GetTrrDisabled());
|
clone->SetTrrDisabled(GetTrrDisabled());
|
||||||
clone->SetIPv4Disabled(GetIPv4Disabled());
|
clone->SetIPv4Disabled(GetIPv4Disabled());
|
||||||
clone->SetIPv6Disabled(GetIPv6Disabled());
|
clone->SetIPv6Disabled(GetIPv6Disabled());
|
||||||
|
@ -125,12 +125,9 @@ class nsHttpConnectionInfo final : public ARefBase {
|
|||||||
void SetTlsFlags(uint32_t aTlsFlags);
|
void SetTlsFlags(uint32_t aTlsFlags);
|
||||||
uint32_t GetTlsFlags() const { return mTlsFlags; }
|
uint32_t GetTlsFlags() const { return mTlsFlags; }
|
||||||
|
|
||||||
// IsTrrServiceChannel means that this connection is used to send TRR requests
|
// TrrUsed means that this connection is used to send TRR requests over
|
||||||
// over
|
void SetTrrUsed(bool aUsed) { mTrrUsed = aUsed; }
|
||||||
void SetIsTrrServiceChannel(bool aIsTRRChannel) {
|
bool GetTrrUsed() const { return mTrrUsed; }
|
||||||
mIsTrrServiceChannel = aIsTRRChannel;
|
|
||||||
}
|
|
||||||
bool GetIsTrrServiceChannel() const { return mIsTrrServiceChannel; }
|
|
||||||
|
|
||||||
// SetTrrDisabled means don't use TRR to resolve host names for this
|
// SetTrrDisabled means don't use TRR to resolve host names for this
|
||||||
// connection
|
// connection
|
||||||
@ -198,7 +195,7 @@ class nsHttpConnectionInfo final : public ARefBase {
|
|||||||
OriginAttributes mOriginAttributes;
|
OriginAttributes mOriginAttributes;
|
||||||
|
|
||||||
uint32_t mTlsFlags;
|
uint32_t mTlsFlags;
|
||||||
uint16_t mIsTrrServiceChannel : 1;
|
uint16_t mTrrUsed : 1;
|
||||||
uint16_t mTrrDisabled : 1;
|
uint16_t mTrrDisabled : 1;
|
||||||
uint16_t mIPv4Disabled : 1;
|
uint16_t mIPv4Disabled : 1;
|
||||||
uint16_t mIPv6Disabled : 1;
|
uint16_t mIPv6Disabled : 1;
|
||||||
|
@ -143,7 +143,6 @@ nsHttpTransaction::nsHttpTransaction()
|
|||||||
mPassedRatePacing(false),
|
mPassedRatePacing(false),
|
||||||
mSynchronousRatePaceRequest(false),
|
mSynchronousRatePaceRequest(false),
|
||||||
mClassOfService(0),
|
mClassOfService(0),
|
||||||
mResolvedByTRR(false),
|
|
||||||
m0RTTInProgress(false),
|
m0RTTInProgress(false),
|
||||||
mDoNotTryEarlyData(false),
|
mDoNotTryEarlyData(false),
|
||||||
mEarlyDataDisposition(EARLY_NONE),
|
mEarlyDataDisposition(EARLY_NONE),
|
||||||
@ -592,7 +591,6 @@ void nsHttpTransaction::OnTransportStatus(nsITransport *transport,
|
|||||||
MutexAutoLock lock(mLock);
|
MutexAutoLock lock(mLock);
|
||||||
socketTransport->GetSelfAddr(&mSelfAddr);
|
socketTransport->GetSelfAddr(&mSelfAddr);
|
||||||
socketTransport->GetPeerAddr(&mPeerAddr);
|
socketTransport->GetPeerAddr(&mPeerAddr);
|
||||||
socketTransport->ResolvedByTRR(&mResolvedByTRR);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -464,12 +464,10 @@ class nsHttpTransaction final : public nsAHttpTransaction,
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
void GetNetworkAddresses(NetAddr &self, NetAddr &peer);
|
void GetNetworkAddresses(NetAddr &self, NetAddr &peer);
|
||||||
bool ResolvedByTRR() { return mResolvedByTRR; }
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
NetAddr mSelfAddr;
|
NetAddr mSelfAddr;
|
||||||
NetAddr mPeerAddr;
|
NetAddr mPeerAddr;
|
||||||
bool mResolvedByTRR;
|
|
||||||
|
|
||||||
bool m0RTTInProgress;
|
bool m0RTTInProgress;
|
||||||
bool mDoNotTryEarlyData;
|
bool mDoNotTryEarlyData;
|
||||||
|
@ -243,14 +243,7 @@ interface nsIHttpChannelInternal : nsISupports
|
|||||||
* True if channel is used by the internal trusted recursive resolver
|
* True if channel is used by the internal trusted recursive resolver
|
||||||
* This flag places data for the request in a cache segment specific to TRR
|
* This flag places data for the request in a cache segment specific to TRR
|
||||||
*/
|
*/
|
||||||
[noscript, must_use] attribute boolean isTRRServiceChannel;
|
[noscript, must_use] attribute boolean trr;
|
||||||
|
|
||||||
/**
|
|
||||||
* If the channel's remote IP was resolved using TRR.
|
|
||||||
* Is false for resources loaded from the cache or resources that have an
|
|
||||||
* IP literal host.
|
|
||||||
*/
|
|
||||||
[noscript, must_use] readonly attribute boolean isResolvedByTRR;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An opaque flags for non-standard behavior of the TLS system.
|
* An opaque flags for non-standard behavior of the TLS system.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user