summaryrefslogtreecommitdiff
path: root/apt-pkg/acquire-worker.cc
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2016-08-18 10:02:35 +0200
committerJulian Andres Klode <jak@debian.org>2016-08-18 10:02:35 +0200
commitd1fd09b982f6108dc32ec75330b0535236c48311 (patch)
treec0dce6cf7501c1e0d5e3bad34e9b63c0d6dcd354 /apt-pkg/acquire-worker.cc
parentb5fcba3682581b2a48921cc830dbf3deae6b0ff3 (diff)
parent43670e2ef8b689d9efba633d11d2a5fc6f9968a0 (diff)
Merge tag '1.3_rc2' into ubuntu
apt Debian release 1.3~rc2
Diffstat (limited to 'apt-pkg/acquire-worker.cc')
-rw-r--r--apt-pkg/acquire-worker.cc26
1 files changed, 23 insertions, 3 deletions
diff --git a/apt-pkg/acquire-worker.cc b/apt-pkg/acquire-worker.cc
index 7a4f8177f..a4fbc7651 100644
--- a/apt-pkg/acquire-worker.cc
+++ b/apt-pkg/acquire-worker.cc
@@ -464,6 +464,7 @@ bool pkgAcquire::Worker::RunMessages()
}
else
{
+ auto SavedDesc = Owner->GetItemDesc();
if (isDoomedItem(Owner) == false)
{
if (Message.find("\nFailReason:") == std::string::npos)
@@ -476,7 +477,7 @@ bool pkgAcquire::Worker::RunMessages()
Owner->Failed(Message,Config);
}
if (Log != nullptr)
- Log->Fail(Owner->GetItemDesc());
+ Log->Fail(SavedDesc);
}
}
ItemDone();
@@ -524,11 +525,11 @@ bool pkgAcquire::Worker::RunMessages()
Owner->Status = pkgAcquire::Item::StatAuthError;
else if (errTransient)
Owner->Status = pkgAcquire::Item::StatTransientNetworkError;
-
+ auto SavedDesc = Owner->GetItemDesc();
if (isDoomedItem(Owner) == false)
Owner->Failed(Message,Config);
if (Log != nullptr)
- Log->Fail(Owner->GetItemDesc());
+ Log->Fail(SavedDesc);
}
ItemDone();
@@ -685,6 +686,25 @@ bool pkgAcquire::Worker::QueueItem(pkgAcquire::Queue::QItem *Item)
return true;
}
+ if (Item->Owner->IsRedirectionLoop(Item->URI))
+ {
+ std::string const Message = "400 URI Failure"
+ "\nURI: " + Item->URI +
+ "\nFilename: " + Item->Owner->DestFile +
+ "\nFailReason: RedirectionLoop";
+
+ auto const ItmOwners = Item->Owners;
+ for (auto &O: ItmOwners)
+ {
+ O->Status = pkgAcquire::Item::StatError;
+ O->Failed(Message, Config);
+ if (Log != nullptr)
+ Log->Fail(O->GetItemDesc());
+ }
+ // "queued" successfully, the item just instantly failed
+ return true;
+ }
+
string Message = "600 URI Acquire\n";
Message.reserve(300);
Message += "URI: " + Item->URI;