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 Types | |
enum | ItemState { StatIdle, StatFetching, StatDone, StatError, StatAuthError, StatTransientNetworkError } |
The current status of this item. More... | |
Public Member Functions | |
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. More... | |
void | AddWeakPointer (WeakPointable **weakptr) |
Add a new weak pointer. More... | |
virtual std::string | Custom600Headers () |
Custom headers to be sent to the fetch process. More... | |
virtual std::string | DescURI () |
A "descriptive" URI-like string. More... | |
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. More... | |
virtual void | Failed (std::string Message, pkgAcquire::MethodConfig *Cnf) |
Invoked by the acquire worker when the object couldn't be fetched. More... | |
virtual void | Finished () |
Invoked by the worker when the download is completely done. More... | |
pkgAcquire * | GetOwner () |
virtual std::string | HashSum () |
HashSum. More... | |
virtual bool | IsTrusted () |
void | RemoveWeakPointer (WeakPointable **weakptr) |
Remove the weak pointer from the list of weak pointers. More... | |
void | ReportMirrorFailure (std::string FailCode) |
Report mirror problem. More... | |
virtual std::string | ShortDesc () |
Short item description. More... | |
virtual void | Start (std::string Message, unsigned long long Size) |
Invoked when the worker starts to fetch this object. More... | |
Public Attributes | |
bool | Complete |
If true, the entire object has been successfully fetched. More... | |
std::string | DestFile |
The name of the file into which the retrieved object will be written. More... | |
std::string | ErrorText |
Contains a textual description of the error encountered if Status is StatError or StatAuthError. More... | |
unsigned long long | FileSize |
The size of the object to fetch. More... | |
unsigned long | ID |
A client-supplied unique identifier. More... | |
bool | Local |
If true, the URI of this object is "local". More... | |
const char * | Mode |
If not NULL, contains the name of a subprocess that is operating on this object (for instance, "gzip" or "gpgv"). More... | |
unsigned long long | PartialSize |
How much of the object was already fetched. More... | |
unsigned int | QueueCounter |
The number of fetch queues into which this item has been inserted. More... | |
enum pkgAcquire::Item::ItemState | Status |
std::string | UsedMirror |
Protected Member Functions | |
void | AuthDone (std::string Message) |
Called when authentication succeeded. More... | |
void | Dequeue () |
Remove this item from its owner's queue. More... | |
void | QueueIndexes (bool verify) |
Starts downloading the individual index files. More... | |
void | QueueURI (ItemDesc &Item) |
Insert this item into its owner's queue. More... | |
void | Rename (std::string From, std::string To) |
Rename a file without modifying its timestamp. More... | |
void | RetrievalDone (std::string Message) |
Called when a file is finished being retrieved. More... | |
bool | VerifyVendor (std::string Message) |
Check that the release file is a release file for the correct distribution. More... | |
Protected Attributes | |
bool | AuthPass |
If true, the index's signature is currently being verified. More... | |
pkgAcquire::ItemDesc | Desc |
The fetch command that is currently being processed. More... | |
bool | IMSHit |
const std::vector< struct IndexTarget * > * | IndexTargets |
The index files to download. More... | |
indexRecords * | MetaIndexParser |
The parser for the meta-index file. More... | |
pkgAcquire * | Owner |
The acquire object with which this item is associated. More... | |
std::string | RealURI |
The URI that is actually being downloaded; never modified by pkgAcqMetaIndex. More... | |
std::string | SigFile |
The file in which the signature for this index was stored. More... | |
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).
|
inherited |
The current status of this item.
pkgAcqMetaIndex::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.
|
inlineinherited |
Add a new weak pointer.
References WeakPointable::pointers.
|
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. |
|
virtual |
Custom headers to be sent to the fetch process.
Reimplemented from pkgAcquire::Item.
Reimplemented in pkgAcqMetaClearSig.
|
inlineprotectedinherited |
Remove this item from its owner's queue.
References pkgAcquire::Dequeue(), and pkgAcquire::Item::Owner.
|
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.
|
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.
|
inlinevirtualinherited |
Invoked by the worker when the download is completely done.
Reimplemented in pkgAcqArchive.
|
inlineinherited |
References pkgAcquire::Item::Owner.
|
inlinevirtualinherited |
HashSum.
Reimplemented in pkgAcqFile, pkgAcqArchive, and pkgAcqIndex.
|
inlinevirtualinherited |
Reimplemented in pkgAcqArchive.
|
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. |
|
inlineprotectedinherited |
Insert this item into its owner's queue.
References pkgAcquire::Enqueue(), and pkgAcquire::Item::Owner.
|
inlineinherited |
Remove the weak pointer from the list of weak pointers.
References WeakPointable::pointers.
|
protectedinherited |
Rename a file without modifying its timestamp.
Many item methods call this as their final action.
From | The file to be renamed. |
To | The new name of #From. If #To exists it will be overwritten. |
|
inherited |
Report mirror problem.
This allows reporting mirror failures back to a centralized server. The apt-report-mirror-failure script is called for this
FailCode | A short failure string that is send |
|
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. |
|
inlinevirtualinherited |
Short item description.
Reimplemented in pkgAcqArchive.
References pkgAcquire::Item::DescURI().
|
virtualinherited |
Invoked when the worker starts to fetch this object.
Message | RFC822-formatted data from the worker process. Use LookupTag() to parse it. |
Size | The size of the object being fetched. |
|
protected |
Check that the release file is a release file for the correct distribution.
|
protected |
If true, the index's signature is currently being verified.
|
inherited |
If true, the entire object has been successfully fetched.
Subclasses should set this to true when appropriate.
|
protected |
The fetch command that is currently being processed.
|
inherited |
The name of the file into which the retrieved object will be written.
|
inherited |
Contains a textual description of the error encountered if Status is StatError or StatAuthError.
|
inherited |
The size of the object to fetch.
|
inherited |
A client-supplied unique identifier.
This field is initalized to 0; it is meant to be filled in by clients that wish to use it to uniquely identify items.
|
protected |
|
protected |
The index files to download.
|
inherited |
If true, the URI of this object is "local".
The only effect of this field is to exclude the object from the download progress indicator's overall statistics.
|
protected |
The parser for the meta-index file.
|
inherited |
If not NULL, contains the name of a subprocess that is operating on this object (for instance, "gzip" or "gpgv").
|
protectedinherited |
The acquire object with which this item is associated.
Referenced by pkgAcquire::Item::Dequeue(), pkgAcquire::Item::GetOwner(), and pkgAcquire::Item::QueueURI().
|
inherited |
How much of the object was already fetched.
|
inherited |
The number of fetch queues into which this item has been inserted.
There is one queue for each source from which an item could be downloaded.
|
protected |
The URI that is actually being downloaded; never modified by pkgAcqMetaIndex.
Referenced by DescURI().
|
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.
|
inherited |
|
inherited |