Struct routinator::store::StoredManifest[][src]

pub struct StoredManifest { /* fields omitted */ }
Expand description

The content of a manifest placed in the store.

This type collects all data that is stored as the manifest for a publication point.

This contains the raw bytes of both the manifest itself plus data that will be needed to use the manifest during processing. In particular:

  • The expiry time of the manifest’s EE certificate via the not_after method. This is used during cleanup to determine whether to keep a publication point. It is stored to avoid having to parse the whole manifest.
  • The caRepository URI of the CA certificate that has issued the manifest via the ca_repository method. This is necessary to convert the file names mentioned on the manifest into their full rsync URIs. Confusingly, this information is not available on the manifest itself and therefore needs to be stored.
  • The raw bytes of the manifest via the manifest method.
  • The raw bytes of the CRL referenced by the manifest via the crl method. There must always be exactly one CRL used by a publication point. As it needs to be available for validation, we might as well store it together with the manifest.

Implementations

Creates a new stored manifest.

The new value is created from the components of the stored manifest. See the methods with the same name for their meaning.

Reads a stored manifest from an IO reader.

Appends the stored manifest to a writer.

Returns the expire time of the manifest.

This should be equal to the ‘not after’ validity time of the EE certificate included with the manifest.

Returns the rsync URI of the directory containing the objects.

As the manifest only lists relative file names, this URI is necessary to convert them into full rsync URIs.

The URI should be taken from the ‘caRepository’ subject information access extension of the CA certificate that was used to issue the manifest’s EE certificate.

Returns the bytes of the manifest.

Returns the bytes of the publication point’s CRL.

This CRL should be the CRL referenced via the CRL distribution point of the manifest’s EE certificate. It should be correctly referenced at that location on the manifest.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Compare self to key and return true if they are equal.

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.