From 7bcdc3b4ca460aec2b98fb2dca6165788c562b05 Mon Sep 17 00:00:00 2001 From: Igor Tolmachev Date: Sat, 20 Jul 2024 16:52:39 +0900 Subject: Partial aes implementation and others improvements --- src/zip/structs.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/zip/structs.rs') diff --git a/src/zip/structs.rs b/src/zip/structs.rs index ebecae7..8b25400 100644 --- a/src/zip/structs.rs +++ b/src/zip/structs.rs @@ -1,6 +1,9 @@ use crate::structs::{ByteOrder, Settings, StructResult, VariantIndexType}; use serde::{Deserialize, Serialize}; +pub const FILE_HEADER_SIGNATURE: [u8; 4] = [0x50, 0x4b, 0x03, 0x04]; + +pub const EOCDR_SIGNATURE: [u8; 4] = [0x50, 0x4b, 0x05, 0x06]; #[derive(Serialize, Deserialize)] pub struct Eocdr { pub eocdr_disk: u16, @@ -12,6 +15,7 @@ pub struct Eocdr { pub comment_len: u16, } +pub const EOCDR64_LOCATOR_SIGNATURE: [u8; 4] = [0x50, 0x4b, 0x06, 0x07]; #[derive(Serialize, Deserialize)] pub struct Eocdr64Locator { pub eocdr64_disk: u32, @@ -19,6 +23,7 @@ pub struct Eocdr64Locator { pub disks: u32, } +pub const EOCDR64_SIGNATURE: [u8; 4] = [0x50, 0x4b, 0x06, 0x06]; #[derive(Serialize, Deserialize)] pub struct Eocdr64 { pub eocdr64_size: u64, @@ -32,6 +37,7 @@ pub struct Eocdr64 { pub cd_pointer: u64, } +pub const CDR_SIGNATURE: [u8; 4] = [0x50, 0x4b, 0x01, 0x02]; #[derive(Serialize, Deserialize)] pub struct Cdr { pub version: u16, @@ -58,6 +64,14 @@ pub struct ExtraHeader { pub size: u16, } +#[derive(Serialize, Deserialize)] +pub struct AesField { + pub version: u16, + pub id: u16, + pub strength: u8, + pub compression_method: u16, +} + #[inline] #[allow(dead_code)] pub fn serialize(object: &mut T) -> StructResult> { -- cgit v1.2.3