-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes made: #39
Changes made: #39
Conversation
spec/main.txt
Outdated
0-3 => RESERVED, [ IF FLAGS::SIGNED is SET THEN THE ARCHIVE HAS SIGNATURES ] | ||
4-15 => CUSTOM_DATA | ||
0-3 => RESERVED | ||
4-16 => ALL BITS HERE ARE FAIR GAME |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this be 4-15, since we start counting at 0?
We want this in the 0.2.0 release, @sokorototo, right? |
Yes, it all comes with the 0.2.0 release |
@zeskeertwee probably merge this PR because the next PR switches from chacha20poly to AES for encryption, with support for hardware acceleration. In short the next PR will be fully focused on the encryption side. And after that a better error handling framework |
Yeah this PR is almost ready to merge, its just the documentation that has one small mistake in it. Could you fix that @sokorototo ? |
What issue @zeskeertwee? |
I left a review comment, but basically the spec says bytes go from 0-16 and it should be 0-15 @sokorototo |
@zeskeertwee The |
By the way, did you consider the encryption algorithm's speed? I saw this table comparing different algorithms, and the one we use definitely isn't close to the fastest @sokorototo . RustCrypto/AEADs#243 (comment) |
Good point, we should probably shift to the much faster version |
It's even better that I isolated the encryption logic. So we can easily swap out algorithms |
My take on encryptionI figured that encryption is not about speed, but rather for safety. I still did some benchmarks, and |
Allright, that makes sense! |
|
Header
, you could only toggle signatures globally. This was also the reason whyFlags::SIGNED_FLAG
did not appear in theRegEntry
flags, this bug, since it existed in theHeader
. Now since the signed flag belongs in theRegistryEntry
, it can be toggled locally when building the.vach
file, ie it is now scoped ( withLeaf::sign(false)
). Also, that's whyRegistryEntry::from_handle(---)
now takes one argument instead of two, as it reads the signatures internally instead of taking abool
fromHeader::flags.contains(Flags::SIGNED_FLAG)
.Flags
instance directly: withFlags { bits: 0 }
, asbits
is now private, and can only be accessed withFlags::bits()
.Header
formatting was changed to include less information, for extra information usedbg!()
asfmt::Debug
gives more info.