pub enum FrameErrorInner {
Show 23 variants
Io {
source: Error,
},
IncompleteBlock {
read: usize,
},
InvalidIdentity {
found: [u8; 8],
},
InvalidChecksum {
expected: Option<u64>,
actual: u64,
},
InvalidSize {
found: [u8; 12],
},
InvalidNumericField {
field: &'static str,
found: Vec<u8>,
},
UnterminatedUstarStringField {
field: &'static str,
},
UnsupportedTypeflag {
typeflag: u8,
},
FormatMismatch {
expected: ArchiveFormat,
found: ArchiveFormat,
},
UnexpectedOrder {
expected: &'static str,
found: &'static str,
},
InvalidPaxRecord {
source: PaxError,
},
ExtensionTooLarge {
format: ArchiveFormat,
size: u64,
limit: u64,
},
GlobalPaxExtensionsTooLarge {
size: u64,
limit: u64,
},
InvalidGnuMetadata {
kind: GnuKind,
reason: &'static str,
},
DeletedPaxMetadata {
keyword: &'static str,
},
EmptyMemberPath,
NulInMemberName {
field: &'static str,
},
ArithmeticOverflow {
context: &'static str,
},
InvalidMemberSize {
kind: UstarKind,
size: u64,
},
TruncatedPayload {
owner: DataOwner,
remaining: u64,
},
UnexpectedEof {
expected: &'static str,
},
MissingEndMarker,
InvalidEndMarker,
}Expand description
Specific errors that can occur while processing tar frames.
Variants§
Io
The underlying reader failed.
IncompleteBlock
The underlying stream ended in the middle of a logical block.
InvalidIdentity
A header did not identify either supported archive family.
InvalidChecksum
A header checksum was malformed or did not match its contents.
Fields
InvalidSize
A header’s size field was not a strict number. The underlying format of the number might be octal or GNU-style base256.
InvalidNumericField
An ordinary member header’s numeric metadata field was invalid.
Fields
UnterminatedUstarStringField
An ordinary ustar member header’s string field had no NUL terminator.
UnsupportedTypeflag
A tar type is not supported within the selected archive family.
FormatMismatch
A header from another archive family appeared after family detection.
Fields
expected: ArchiveFormatThe archive family selected by an earlier header.
found: ArchiveFormatThe archive family identified by this header.
UnexpectedOrder
A valid block appeared in a position where another block type was required.
Fields
InvalidPaxRecord
A pax extended-header record could not be parsed.
ExtensionTooLarge
A metadata extension declares more data than the configured format limit.
Fields
format: ArchiveFormatThe archive family containing the extension.
GlobalPaxExtensionsTooLarge
Consecutive global pax extensions contain more metadata than the configured limit.
Fields
InvalidGnuMetadata
A GNU long-name or long-link metadata payload is not a valid value.
Fields
DeletedPaxMetadata
A pax record removed metadata required to interpret a member.
EmptyMemberPath
An ordinary member has no effective pathname after applying extensions.
NulInMemberName
An effective member path or link target contains an embedded NUL byte.
ArithmeticOverflow
A framing offset or record length overflowed.
InvalidMemberSize
A member’s declared or effective size is invalid for its type.
TruncatedPayload
The stream ended while a payload still required bytes.
Fields
UnexpectedEof
The stream ended while a required member header was pending.
MissingEndMarker
The two-block end marker was absent or incomplete.
InvalidEndMarker
The first zero terminator block was not followed by a second zero block.
Trait Implementations§
Source§impl Debug for FrameErrorInner
impl Debug for FrameErrorInner
Source§impl Display for FrameErrorInner
impl Display for FrameErrorInner
Source§impl Error for FrameErrorInner
impl Error for FrameErrorInner
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()