diff options
author | Julian Andres Klode <jak@debian.org> | 2017-06-30 11:02:54 +0200 |
---|---|---|
committer | Julian Andres Klode <jak@debian.org> | 2017-06-30 20:09:00 +0200 |
commit | 0c0d5c29fdc044ffe3f088f982c17d316b6a25c5 (patch) | |
tree | 9e89069618e0069757b437a42278a8656b2abe3f | |
parent | 9a9bbe00ffe021fe82ea35fbe65af91b039396fe (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.cc | 4 | ||||
-rwxr-xr-x | test/integration/test-bug-738785-switch-protocol | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/methods/connect.cc b/methods/connect.cc index 5bb34a958..dc2aee05c 100644 --- a/methods/connect.cc +++ b/methods/connect.cc @@ -144,7 +144,9 @@ static bool DoConnect(struct addrinfo *Addr,std::string const &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 690e8727e..471d12e53 100755 --- a/test/integration/test-bug-738785-switch-protocol +++ b/test/integration/test-bug-738785-switch-protocol @@ -47,4 +47,4 @@ cd - >/dev/null # 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 -o Acquire::https::Timeout=1 +testfailure aptget update --allow-insecure-repositories -o Acquire::https::Timeout=1 -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::https=1 |