]> 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)
committerDavid Kalnischkies <david@kalnischkies.de>
Mon, 20 Jun 2016 11:22:22 +0000 (13:22 +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
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 8a25859b840e2dbd7d57eaa57a5e615110445a12..c1c193c5c89e353c113add9339bde67faabd78a8 100755 (executable)
@@ -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'