summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2017-06-30 11:02:54 +0200
committerJulian Andres Klode <jak@debian.org>2017-09-13 18:20:37 +0200
commit6636ec6d45a2da21faf2c004faba346056a52039 (patch)
tree4b023b0ec46f8d88439c1fec572c8cfd50b36239
parent7bb1078178fdab4bf28a7973b35ca2b37f5eb484 (diff)
Reset failure reason when connection was successful
When APT was trying multiple addresses, any later error somewhere else would be reported with ConnectionRefused or ConnectionTimedOut as the FailReason because that was set by early connect attempts. This causes APT to handle the failures differently, leading to some weirdly breaking test cases (like the changed one). Add debugging to the previously failing test case so we can find out when something goes wrong there again. (cherry picked from commit d3a70c3e5ae68a0e5a3d4667dd1d0fc0887e6263)
-rw-r--r--methods/connect.cc4
-rwxr-xr-xtest/integration/test-bug-738785-switch-protocol2
2 files changed, 4 insertions, 2 deletions
diff --git a/methods/connect.cc b/methods/connect.cc
index 311fb1af6..3df8baa24 100644
--- a/methods/connect.cc
+++ b/methods/connect.cc
@@ -129,7 +129,9 @@ static bool DoConnect(struct addrinfo *Addr,std::string Host,
return _error->Errno("connect",_("Could not connect to %s:%s (%s)."),Host.c_str(),
Service,Name);
}
-
+
+ Owner->SetFailReason("");
+
return true;
}
/*}}}*/
diff --git a/test/integration/test-bug-738785-switch-protocol b/test/integration/test-bug-738785-switch-protocol
index e7d4a6744..808b75dfe 100755
--- a/test/integration/test-bug-738785-switch-protocol
+++ b/test/integration/test-bug-738785-switch-protocol
@@ -63,4 +63,4 @@ ln -s "$OLDMETHODS/https" "$NEWMETHODS"
# check that downgrades from https to http are not allowed
webserverconfig 'aptwebserver::support::http' 'true'
sed -i -e "s#:${APTHTTPPORT}/redirectme#:${APTHTTPSPORT}/downgrademe#" -e 's# http:# https:#' rootdir/etc/apt/sources.list.d/*
-testfailure aptget update --allow-insecure-repositories
+testfailure aptget update --allow-insecure-repositories -o Acquire::https::Timeout=1 -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::https=1