aboutsummaryrefslogtreecommitdiff
path: root/src/driver
diff options
context:
space:
mode:
authorIgor Tolmachev <me@igorek.dev>2024-07-16 17:24:33 +0900
committerIgor Tolmachev <me@igorek.dev>2024-07-16 17:24:33 +0900
commitcc18a545a87ca616f05114d174690e5cc9614669 (patch)
tree51ec845115754bb1d8b41d82e5349db5343a40ec /src/driver
parenta83767f9fbd51df654901b52bdba7838f6a10bf9 (diff)
downloadarchivator-cc18a545a87ca616f05114d174690e5cc9614669.tar.gz
archivator-cc18a545a87ca616f05114d174690e5cc9614669.zip
Optimize encryption
- Add archive for testing encryption of compressed files - Implement incorrect password check - Use custom crc32 function
Diffstat (limited to 'src/driver')
-rw-r--r--src/driver/driver.rs5
-rw-r--r--src/driver/file.rs2
2 files changed, 2 insertions, 5 deletions
diff --git a/src/driver/driver.rs b/src/driver/driver.rs
index f0f93a9..359793d 100644
--- a/src/driver/driver.rs
+++ b/src/driver/driver.rs
@@ -14,7 +14,7 @@ pub trait ArchiveRead: Driver
14where 14where
15 Self::Io: Read, 15 Self::Io: Read,
16{ 16{
17 type FileReader<'d>: FileDriver 17 type FileReader<'d>: FileDriver<Io = Self::Io, FileInfo = Self::FileInfo>
18 where 18 where
19 Self: 'd; 19 Self: 'd;
20 20
@@ -34,7 +34,6 @@ where
34 fn get_file_reader<'d>( 34 fn get_file_reader<'d>(
35 &'d mut self, 35 &'d mut self,
36 index: usize, 36 index: usize,
37 password: Option<&str>,
38 ) -> ArchiveResult<Self::FileReader<'d>, Self::Error>; 37 ) -> ArchiveResult<Self::FileReader<'d>, Self::Error>;
39} 38}
40 39
@@ -42,7 +41,7 @@ pub trait ArchiveWrite: Driver
42where 41where
43 Self::Io: Read + Write, 42 Self::Io: Read + Write,
44{ 43{
45 type FileWriter<'d>: FileDriver 44 type FileWriter<'d>: FileDriver<Io = Self::Io, FileInfo = Self::FileInfo>
46 where 45 where
47 Self: 'd; 46 Self: 'd;
48} 47}
diff --git a/src/driver/file.rs b/src/driver/file.rs
index 5c6ea43..3d562da 100644
--- a/src/driver/file.rs
+++ b/src/driver/file.rs
@@ -3,6 +3,4 @@ pub trait ArchiveFileInfo: Clone {}
3pub trait FileDriver { 3pub trait FileDriver {
4 type Io; 4 type Io;
5 type FileInfo: ArchiveFileInfo; 5 type FileInfo: ArchiveFileInfo;
6
7 fn info(&self) -> &Self::FileInfo;
8} 6}