summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2016-06-20 11:23:09 +0200
committerJulian Andres Klode <jak@debian.org>2016-06-20 17:25:26 +0200
commit7fb6227f5239e44ed2e7dfc8dd6f6fc801fba146 (patch)
treedd66e7676c713760f1ccfc07662db37adfec325c
parent99043f83e5855dbf50b3a5c741072b095a48b051 (diff)
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)
-rw-r--r--apt-pkg/contrib/proxy.cc2
-rwxr-xr-xtest/integration/test-apt-helper8
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'