std::clog << "AbortTransaction: " << TransactionManager << std::endl;
// ensure the toplevel is in error state too
- Status = pkgAcquire::Item::StatError;
for (std::vector<Item*>::iterator I = Transaction.begin();
I != Transaction.end(); ++I)
{
_error->Error("The repository '%s' is no longer signed.",
URIDesc.c_str());
Rename(MetaIndexFile, MetaIndexFile+".FAILED");
+ Status = pkgAcquire::Item::StatError;
TransactionManager->AbortTransaction();
return;
}
}
// only allow going further if the users explicitely wants it
- if(_config->FindB("APT::Get::AllowUnauthenticated", false))
- {
- _error->Warning("Please use --allow-unauthenticated");
- }
- else
+ if(_config->FindB("APT::Get::AllowUnauthenticated", false) == true)
{
// we parse the indexes here because at this point the user wanted
// a repository that may potentially harm him
MetaIndexParser->Load(MetaIndexFile);
((pkgAcqMetaIndex*)TransactionManager)->QueueIndexes(true);
+ }
+ else
+ {
+ _error->Warning("Use --allow-unauthenticated to force the update");
}
// FIXME: this is used often (e.g. in pkgAcqIndexTrans) so refactor
// Download further indexes with verification
//
- // we do not need to download indexfiles if the Release file has not
- // changed because without a changed release file there are no new hashes
- // and we ensure that the repository is always "complete" (i.e. all
- // that is in the release file is downloaded)
- if(IMSHit == false)
- QueueIndexes(true);
+ // it would be really nice if we could simply do
+ // if (IMSHit == false) QueueIndexes(true)
+ // and skip the download if the Release file has not changed
+ // - but right now the list cleaner will needs to be tricked
+ // to not delete all our packages/source indexes in this case
+ QueueIndexes(true);
#if 0
// is it a clearsigned MetaIndex file?
DestFile = FinalFile;
}
+ _error->Warning(_("The data from '%s' is not signed. Packages "
+ "from that repository can not be authenticated."),
+ URIDesc.c_str());
+
// No Release file was present, or verification failed, so fall
// back to queueing Packages files without verification
// only allow going further if the users explicitely wants it
- if(_config->FindB("APT::Get::AllowUnauthenticated", false))
+ if(_config->FindB("APT::Get::AllowUnauthenticated", false) == true)
{
- // warn if the repository is unsinged
- _error->Warning(_("The data from '%s' is not signed. Packages "
- "from that repository can not be authenticated."),
- URIDesc.c_str());
- _error->Warning("Please use --allow-unauthenticated");
- } else {
QueueIndexes(false);
- }
+ } else {
+ // warn if the repository is unsinged
+ _error->Warning("Use --allow-unauthenticated to force the update");
+ }
}
/*}}}*/