From 7fb6227f5239e44ed2e7dfc8dd6f6fc801fba146 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Mon, 20 Jun 2016 11:23:09 +0200 Subject: do not error if auto-detect-proxy cmd has no output Regression introduced in 8f858d560e3b7b475c623c4e242d1edce246025a. Commands are probably better of always having output through as the fall through to the generic proxy settings is likely not intended. As documenting and implementing this more consistently is kind of a regression through, it is split off into the next commit. Closes: 827713 (cherry picked from commit cad1877559f3e1703c3fea4d081978e1b4bb4a0e) --- apt-pkg/contrib/proxy.cc | 2 +- test/integration/test-apt-helper | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/apt-pkg/contrib/proxy.cc b/apt-pkg/contrib/proxy.cc index cbe640634..84d802dcb 100644 --- a/apt-pkg/contrib/proxy.cc +++ b/apt-pkg/contrib/proxy.cc @@ -52,7 +52,7 @@ bool AutoDetectProxy(URI &URL) return _error->Error("ProxyAutoDetect command '%s' failed!", AutoDetectProxyCmd.c_str()); char buf[512]; if (PipeFd.ReadLine(buf, sizeof(buf)) == nullptr) - return _error->Error("Failed to read in AutoDetectProxy"); + return true; PipeFd.Close(); ExecWait(Child, "ProxyAutoDetect", true); auto const cleanedbuf = _strstrip(buf); diff --git a/test/integration/test-apt-helper b/test/integration/test-apt-helper index b2347ddcf..157352479 100755 --- a/test/integration/test-apt-helper +++ b/test/integration/test-apt-helper @@ -61,7 +61,13 @@ E: Download Failed" test_apt_helper_detect_proxy() { # no proxy testsuccessequal "Using proxy '' for URL 'http://example.com/'" apthelper auto-detect-proxy http://example.com/ - + cat > apt-proxy-detect <<'EOF' +#!/bin/sh -e +exit 0 +EOF + chmod 755 apt-proxy-detect + echo "Acquire::http::Proxy-Auto-Detect \"$(pwd)/apt-proxy-detect\";" > rootdir/etc/apt/apt.conf.d/02proxy-detect + testsuccessequal "Using proxy '' for URL 'http://www.example.com/'" apthelper auto-detect-proxy http://www.example.com # http auto detect proxy script cat > apt-proxy-detect <<'EOF' -- cgit v1.2.3