]> git.saurik.com Git - apt.git/commitdiff
do not error if auto-detect-proxy cmd has no output
authorDavid Kalnischkies <david@kalnischkies.de>
Mon, 20 Jun 2016 09:23:09 +0000 (11:23 +0200)
committerJulian Andres Klode <jak@debian.org>
Mon, 20 Jun 2016 15:25:26 +0000 (17:25 +0200)
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
test/integration/test-apt-helper

index cbe640634cd73e36caaf8fdddf86740cb4a37904..84d802dcb90834f4d506c69cd63997899438152d 100644 (file)
@@ -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);
index b2347ddcf152ee5bd013fe91d59c9f3482d69e34..157352479bac439fbbf064f4377634139b13578b 100755 (executable)
@@ -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'