summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2016-06-20 11:23:09 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2016-06-20 13:22:22 +0200
commitcad1877559f3e1703c3fea4d081978e1b4bb4a0e (patch)
tree9df150032a2a26ecc634e9a6d45ee7f11f59ae78
parent1d742e01470bba27715a8191c50adde4b39c2f19 (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
-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 8a25859b8..c1c193c5c 100755
--- a/test/integration/test-apt-helper
+++ b/test/integration/test-apt-helper
@@ -74,7 +74,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'