apt
0.9.7.5ubuntu5
|
An item that is responsible for downloading the meta-index {{{ file (i.e., Release) itself and verifying its signature. More...
#include <acquire-item.h>
Public Member Functions | |
virtual void | Failed (std::string Message, pkgAcquire::MethodConfig *Cnf) |
Invoked by the acquire worker when the object couldn't be fetched. | |
virtual void | Done (std::string Message, unsigned long long Size, std::string Hash, pkgAcquire::MethodConfig *Cnf) |
Invoked by the acquire worker when the object was fetched successfully. | |
virtual std::string | Custom600Headers () |
Custom headers to be sent to the fetch process. | |
virtual std::string | DescURI () |
A "descriptive" URI-like string. | |
pkgAcqMetaIndex (pkgAcquire *Owner, std::string URI, std::string URIDesc, std::string ShortDesc, std::string SigFile, const std::vector< struct IndexTarget * > *IndexTargets, indexRecords *MetaIndexParser) | |
Create a new pkgAcqMetaIndex. | |
![]() | |
virtual void | Start (std::string Message, unsigned long long Size) |
Invoked when the worker starts to fetch this object. | |
virtual std::string | ShortDesc () |
Short item description. | |
virtual void | Finished () |
Invoked by the worker when the download is completely done. | |
virtual std::string | HashSum () |
HashSum. | |
pkgAcquire * | GetOwner () |
virtual bool | IsTrusted () |
void | ReportMirrorFailure (std::string FailCode) |
Report mirror problem. | |
Item (pkgAcquire *Owner) | |
Initialize an item. | |
virtual | ~Item () |
Remove this item from its owner's queue by invoking pkgAcquire::Remove. | |
![]() | |
void | AddWeakPointer (WeakPointable **weakptr) |
void | RemoveWeakPointer (WeakPointable **weakptr) |
~WeakPointable () |
Protected Member Functions | |
bool | VerifyVendor (std::string Message) |
Check that the release file is a release file for the correct distribution. | |
void | RetrievalDone (std::string Message) |
Called when a file is finished being retrieved. | |
void | AuthDone (std::string Message) |
Called when authentication succeeded. | |
void | QueueIndexes (bool verify) |
Starts downloading the individual index files. | |
![]() | |
void | QueueURI (ItemDesc &Item) |
Insert this item into its owner's queue. | |
void | Dequeue () |
Remove this item from its owner's queue. | |
void | Rename (std::string From, std::string To) |
Rename a file without modifying its timestamp. |
Protected Attributes | |
pkgAcquire::ItemDesc | Desc |
The fetch command that is currently being processed. | |
std::string | RealURI |
The URI that is actually being downloaded; never modified by pkgAcqMetaIndex. | |
std::string | SigFile |
The file in which the signature for this index was stored. | |
const std::vector< struct IndexTarget * > * | IndexTargets |
The index files to download. | |
indexRecords * | MetaIndexParser |
The parser for the meta-index file. | |
bool | AuthPass |
If true, the index's signature is currently being verified. | |
bool | IMSHit |
![]() | |
pkgAcquire * | Owner |
The acquire object with which this item is associated. |
Additional Inherited Members | |
![]() | |
enum | ItemState { StatIdle, StatFetching, StatDone, StatError, StatAuthError, StatTransientNetworkError } |
The current status of this item. More... | |
![]() | |
enum pkgAcquire::Item::ItemState | Status |
std::string | ErrorText |
Contains a textual description of the error encountered if #Status is StatError or StatAuthError. | |
unsigned long long | FileSize |
The size of the object to fetch. | |
unsigned long long | PartialSize |
How much of the object was already fetched. | |
const char * | Mode |
If not NULL, contains the name of a subprocess that is operating on this object (for instance, "gzip" or "gpgv"). | |
unsigned long | ID |
A client-supplied unique identifier. | |
bool | Complete |
If true, the entire object has been successfully fetched. | |
bool | Local |
If true, the URI of this object is "local". | |
std::string | UsedMirror |
unsigned int | QueueCounter |
The number of fetch queues into which this item has been inserted. | |
std::string | DestFile |
The name of the file into which the retrieved object will be written. |
An item that is responsible for downloading the meta-index {{{ file (i.e., Release) itself and verifying its signature.
Once the download and verification are complete, the downloads of the individual index files are queued up using pkgAcqDiffIndex. If the meta-index file had a valid signature, the expected hashsums of the index files will be the md5sums listed in the meta-index; otherwise, the expected hashsums will be "" (causing the authentication of the index files to be bypassed).
|
protected |
Called when authentication succeeded.
Sanity-checks the authenticated file, queues up the individual index files for download, and saves the signature in the lists directory next to the authenticated list file.
Message | The message block received from the fetch subprocess. |
References pkgAcquire::Item::DestFile, pkgAcquire::Item::ErrorText, QueueIndexes(), RealURI, pkgAcquire::Item::Rename(), SigFile, pkgAcquire::Item::StatAuthError, and VerifyVendor().
Referenced by Done().
|
virtual |
Custom headers to be sent to the fetch process.
Reimplemented from pkgAcquire::Item.
Reimplemented in pkgAcqMetaClearSig.
References RealURI.
|
inlinevirtual |
A "descriptive" URI-like string.
Implements pkgAcquire::Item.
References RealURI.
|
virtual |
Invoked by the acquire worker when the object was fetched successfully.
Note that the object might not have been written to DestFile; check for the presence of an Alt-Filename entry in Message to find the file to which it was really written.
Done is often used to switch from one stage of the processing to the next (e.g. fetching, unpacking, copying). It is one branch of the continuation of the fetch process.
Message | Data from the acquire method. Use LookupTag() to parse it. |
Size | The size of the object that was fetched. |
Hash | The HashSum of the object that was fetched. |
Cnf | The method via which the object was fetched. |
Reimplemented from pkgAcquire::Item.
References AuthDone(), AuthPass, pkgAcquire::Item::Complete, Desc, pkgAcquire::Item::DestFile, Failed(), pkgAcquire::Item::Mode, QueueIndexes(), pkgAcquire::Item::QueueURI(), RealURI, pkgAcquire::Item::Rename(), RetrievalDone(), SigFile, and pkgAcquire::ItemDesc::URI.
|
virtual |
Invoked by the acquire worker when the object couldn't be fetched.
This is a branch of the continuation of the fetch process.
Message | An RFC822-formatted message from the acquire method describing what went wrong. Use LookupTag() to parse it. |
Cnf | The method via which the worker tried to fetch this object. |
Reimplemented from pkgAcquire::Item.
Reimplemented in pkgAcqMetaClearSig.
References AuthPass, Desc, pkgAcquire::ItemDesc::Description, pkgAcquire::Item::DestFile, QueueIndexes(), RealURI, pkgAcquire::Item::Rename(), pkgAcquire::Item::ReportMirrorFailure(), SigFile, and pkgAcquire::Item::StatTransientNetworkError.
Referenced by Done().
|
protected |
Starts downloading the individual index files.
verify | If true, only indices whose expected hashsum can be determined from the meta-index will be downloaded, and the hashsums of indices will be checked (reporting StatAuthError if there is a mismatch). If verify is false, no hashsum checking will be performed. |
References pkgAcquire::Item::DestFile, pkgAcquire::Item::ErrorText, indexRecords::Exists(), IndexTargets, pkgAcquire::Item::StatAuthError, and pkgAcquire::Item::StatError.
Referenced by AuthDone(), Done(), and Failed().
|
protected |
Called when a file is finished being retrieved.
If the file was not downloaded to DestFile, a copy process is set up to copy it to DestFile; otherwise, Complete is set to true and the file is moved to its final location.
Message | The message block received from the fetch subprocess. |
References pkgAcquire::Item::Complete, Desc, pkgAcquire::Item::DestFile, pkgAcquire::Item::ErrorText, pkgAcquire::Item::Local, pkgAcquire::Item::QueueURI(), RealURI, SigFile, pkgAcquire::Item::StatError, and pkgAcquire::ItemDesc::URI.
Referenced by Done().
|
protected |
Check that the release file is a release file for the correct distribution.
References Desc, pkgAcquire::ItemDesc::Description, and RealURI.
Referenced by AuthDone().
|
protected |
The file in which the signature for this index was stored.
If empty, the signature and the md5sums of the individual indices will not be checked.
Referenced by AuthDone(), Done(), Failed(), pkgAcqMetaClearSig::pkgAcqMetaClearSig(), and RetrievalDone().