Commit 5b177fc7 authored by Shane Caraveo's avatar Shane Caraveo
Browse files

Bug 1733481 retry telemetry requests when a proxy fails r=chutten,robwu,necko-reviewers,valentin

parent 58623e14
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -9584,6 +9584,13 @@
  mirror: always
#endif

# Whether to allow a bypass flag to be set on httpChannel that will
# prevent proxies from being used for that specific request.
- name: network.proxy.allow_bypass
  type: bool
  value: true
  mirror: always

- name: network.proxy.parse_pac_on_socket_process
  type: RelaxedAtomicBool
  value: false
+11 −2
Original line number Diff line number Diff line
@@ -3355,17 +3355,26 @@ HttpBaseChannel::SetBeConservative(bool aBeConservative) {
  return NS_OK;
}

bool HttpBaseChannel::BypassProxy() {
  return StaticPrefs::network_proxy_allow_bypass() && LoadBypassProxy();
}

NS_IMETHODIMP
HttpBaseChannel::GetBypassProxy(bool* aBypassProxy) {
  NS_ENSURE_ARG_POINTER(aBypassProxy);

  *aBypassProxy = LoadBypassProxy();
  *aBypassProxy = BypassProxy();
  return NS_OK;
}

NS_IMETHODIMP
HttpBaseChannel::SetBypassProxy(bool aBypassProxy) {
  if (StaticPrefs::network_proxy_allow_bypass()) {
    StoreBypassProxy(aBypassProxy);
  } else {
    NS_WARNING("bypassProxy set but network.proxy.bypass is disabled");
    return NS_ERROR_FAILURE;
  }
  return NS_OK;
}

+2 −0
Original line number Diff line number Diff line
@@ -274,6 +274,8 @@ class HttpBaseChannel : public nsHashPropertyBag,
  NS_IMETHOD SetBeConservative(bool aBeConservative) override;
  NS_IMETHOD GetBypassProxy(bool* aBypassProxy) override;
  NS_IMETHOD SetBypassProxy(bool aBypassProxy) override;
  bool BypassProxy();

  NS_IMETHOD GetIsTRRServiceChannel(bool* aTRR) override;
  NS_IMETHOD SetIsTRRServiceChannel(bool aTRR) override;
  NS_IMETHOD GetIsResolvedByTRR(bool* aResolvedByTRR) override;
+1 −1
Original line number Diff line number Diff line
@@ -2151,7 +2151,7 @@ nsresult HttpChannelChild::ContinueAsyncOpen() {
  openArgs.allowHttp3() = LoadAllowHttp3();
  openArgs.allowAltSvc() = LoadAllowAltSvc();
  openArgs.beConservative() = LoadBeConservative();
  openArgs.bypassProxy() = LoadBypassProxy();
  openArgs.bypassProxy() = BypassProxy();
  openArgs.tlsFlags() = mTlsFlags;
  openArgs.initialRwin() = mInitialRwin;

+1 −1
Original line number Diff line number Diff line
@@ -5925,7 +5925,7 @@ void nsHttpChannel::MaybeResolveProxyAndBeginConnect() {
  // settings if we are never going to make a network connection.
  if (!mProxyInfo &&
      !(mLoadFlags & (LOAD_ONLY_FROM_CACHE | LOAD_NO_NETWORK_IO)) &&
      !LoadBypassProxy() && NS_SUCCEEDED(ResolveProxy())) {
      !BypassProxy() && NS_SUCCEEDED(ResolveProxy())) {
    return;
  }

Loading