diff --git a/Cargo.lock b/Cargo.lock index 3a0d29c8..6feb068e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -60,7 +60,7 @@ dependencies = [ [[package]] name = "age" -version = "0.11.4" +version = "0.11.5" dependencies = [ "aes", "aes-gcm", @@ -77,6 +77,7 @@ dependencies = [ "criterion-cycles-per-byte", "ctr", "curve25519-dalek", + "flate2", "futures", "futures-test", "hex", diff --git a/Cargo.toml b/Cargo.toml index 8468db45..689a1f18 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -53,6 +53,9 @@ secrecy = "0.10" subtle = "2" zeroize = "1" +# Compression +flate2 = "1" + # Localization i18n-embed = { version = "0.15", features = ["fluent-system"] } i18n-embed-fl = "0.9" diff --git a/age/CHANGELOG.md b/age/CHANGELOG.md index 25bf4139..d06ef9c1 100644 --- a/age/CHANGELOG.md +++ b/age/CHANGELOG.md @@ -10,6 +10,14 @@ to 1.0.0 are beta releases. ## [Unreleased] +## [0.11.5] - 2026-07-14 +### Fixed +- `age::armor::ArmoredReader`: + - It now correctly implements the intended strict parsing profile (initially + implemented in 0.9.0) by rejecting an empty final line. + - The async API now correctly rejects some classes of truncated files that + previously would cause it to hang. + ## [0.11.4] - 2026-07-13 ### Fixed - Parsing of recipient and identity files now returns an error if the input is diff --git a/age/Cargo.toml b/age/Cargo.toml index ac012a53..9a85e436 100644 --- a/age/Cargo.toml +++ b/age/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "age" description = "[BETA] A simple, secure, and modern encryption library." -version = "0.11.4" +version = "0.11.5" authors.workspace = true repository.workspace = true readme = "README.md" @@ -83,6 +83,7 @@ wsl = { version = "0.1", optional = true } [dev-dependencies] criterion = "0.5" +flate2.workspace = true futures-test = "0.3" hex = "0.4" i18n-embed = { workspace = true, features = ["desktop-requester"] } diff --git a/age/src/primitives/armor.rs b/age/src/primitives/armor.rs index 841acd56..3ad948b8 100644 --- a/age/src/primitives/armor.rs +++ b/age/src/primitives/armor.rs @@ -877,8 +877,8 @@ impl ArmoredReader { ArmoredReadError::MissingPadding, )); } - (false, n) if n < ARMORED_COLUMNS_PER_LINE => { - // The format may contain a single short line at the end. + (false, n) if 0 < n && n < ARMORED_COLUMNS_PER_LINE => { + // The format may contain a single non-empty short line at the end. self.found_short_line = true; } (true, ARMORED_COLUMNS_PER_LINE) => { @@ -1082,6 +1082,10 @@ impl AsyncBufRead for ArmoredReader { let mut this = self.as_mut().project(); let available = loop { let buf = ready!(this.inner.as_mut().poll_fill_buf(cx))?; + if buf.is_empty() { + // Stream has reached EOF. + return Poll::Ready(Ok(&[])); + } if buf.len() >= MIN_ARMOR_LEN { break buf; } diff --git a/age/src/protocol.rs b/age/src/protocol.rs index a29c4473..9bee24a7 100644 --- a/age/src/protocol.rs +++ b/age/src/protocol.rs @@ -337,7 +337,6 @@ mod tests { use age_core::secrecy::SecretString; - #[cfg(feature = "ssh")] use std::iter; use super::{Decryptor, Encryptor}; diff --git a/age/tests/testdata/testkit/armor b/age/tests/testdata/testkit/armor index 7ebd0dbf..93eb8ffd 100644 --- a/age/tests/testdata/testkit/armor +++ b/age/tests/testdata/testkit/armor @@ -1,13 +1,13 @@ expect: success payload: 013f54400c82da08037759ada907a8b864e97de81c088a182062c4b5622fd2ab file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_crlf b/age/tests/testdata/testkit/armor_crlf index b474ce14..f5fdf0f2 100644 --- a/age/tests/testdata/testkit/armor_crlf +++ b/age/tests/testdata/testkit/armor_crlf @@ -1,14 +1,14 @@ expect: success payload: 013f54400c82da08037759ada907a8b864e97de81c088a182062c4b5622fd2ab file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes comment: CRLF is allowed as a end of line for armored files -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_empty b/age/tests/testdata/testkit/armor_empty new file mode 100644 index 00000000..cb2796f1 --- /dev/null +++ b/age/tests/testdata/testkit/armor_empty @@ -0,0 +1,6 @@ +expect: header failure +file key: 59454c4c4f57205355424d4152494e45 +armored: yes + +-----BEGIN AGE ENCRYPTED FILE----- +-----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_empty_last_line b/age/tests/testdata/testkit/armor_empty_last_line new file mode 100644 index 00000000..a302196f --- /dev/null +++ b/age/tests/testdata/testkit/armor_empty_last_line @@ -0,0 +1,13 @@ +expect: armor failure +file key: 59454c4c4f57205355424d4152494e45 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 +armored: yes + +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW3bj4iHS +YS3WWUtZB5wJqKgEe8kpsp0iOnD2CNG4DVKBC0Z7SAcCFb8xdwV9CRavSEE7OU1c + +-----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_empty_line_begin b/age/tests/testdata/testkit/armor_empty_line_begin index 5900cc5c..177fbed0 100644 --- a/age/tests/testdata/testkit/armor_empty_line_begin +++ b/age/tests/testdata/testkit/armor_empty_line_begin @@ -1,13 +1,13 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_empty_line_end b/age/tests/testdata/testkit/armor_empty_line_end index 0a6975fc..e20f4bae 100644 --- a/age/tests/testdata/testkit/armor_empty_line_end +++ b/age/tests/testdata/testkit/armor_empty_line_end @@ -1,13 +1,13 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_eol_between_padding b/age/tests/testdata/testkit/armor_eol_between_padding index f69d0cfe..5beb0c15 100644 --- a/age/tests/testdata/testkit/armor_eol_between_padding +++ b/age/tests/testdata/testkit/armor_eol_between_padding @@ -1,13 +1,13 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW2ewwwqo +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW2ewwwqo mNlxYv6gMOKyDNzgiw= = -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_full_last_line b/age/tests/testdata/testkit/armor_full_last_line index 54439f09..aeefe9a0 100644 --- a/age/tests/testdata/testkit/armor_full_last_line +++ b/age/tests/testdata/testkit/armor_full_last_line @@ -1,13 +1,13 @@ expect: success payload: 724a112a2cac139a4fca3ea0f799f2e5ccd1d0db46af654dee40567bff16ee33 file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW3bj4iHS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW3bj4iHS YS3WWUtZB5wJqKgEe8kpsp0iOnD2CNG4DVKBC0Z7SAcCFb8xdwV9CRavSEE7OU1c -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_garbage_encoded b/age/tests/testdata/testkit/armor_garbage_encoded index 8f95ca34..f57e5762 100644 Binary files a/age/tests/testdata/testkit/armor_garbage_encoded and b/age/tests/testdata/testkit/armor_garbage_encoded differ diff --git a/age/tests/testdata/testkit/armor_garbage_leading b/age/tests/testdata/testkit/armor_garbage_leading index f65c11aa..50e8d6e8 100644 --- a/age/tests/testdata/testkit/armor_garbage_leading +++ b/age/tests/testdata/testkit/armor_garbage_leading @@ -1,13 +1,13 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes garbage -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_garbage_trailing b/age/tests/testdata/testkit/armor_garbage_trailing index 67715acc..19af43f2 100644 --- a/age/tests/testdata/testkit/armor_garbage_trailing +++ b/age/tests/testdata/testkit/armor_garbage_trailing @@ -1,13 +1,13 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= -----END AGE ENCRYPTED FILE----- garbage diff --git a/age/tests/testdata/testkit/armor_headers b/age/tests/testdata/testkit/armor_headers index 3ca00d26..daf5b96c 100644 --- a/age/tests/testdata/testkit/armor_headers +++ b/age/tests/testdata/testkit/armor_headers @@ -1,6 +1,6 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN AGE ENCRYPTED FILE----- @@ -8,8 +8,8 @@ Headers: are Not: allowed YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_invalid_character_header b/age/tests/testdata/testkit/armor_invalid_character_header index 599d1cd3..4779b2c6 100644 --- a/age/tests/testdata/testkit/armor_invalid_character_header +++ b/age/tests/testdata/testkit/armor_invalid_character_header @@ -1,12 +1,12 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN AGE ENCRYPTED FILE----- YWdl*WVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_invalid_character_payload b/age/tests/testdata/testkit/armor_invalid_character_payload index 634b922f..3578232b 100644 --- a/age/tests/testdata/testkit/armor_invalid_character_payload +++ b/age/tests/testdata/testkit/armor_invalid_character_payload @@ -1,12 +1,12 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS *PC8DpksHoMx+2Y= -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_long_line b/age/tests/testdata/testkit/armor_long_line index 7bafc0e0..72bc003f 100644 --- a/age/tests/testdata/testkit/armor_long_line +++ b/age/tests/testdata/testkit/armor_long_line @@ -1,8 +1,8 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FYTnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lWK0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkzZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpSyPC8DpksHoMx+2Y= +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FYTnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3MmkrUzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEyV0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpSyPC8DpksHoMx+2Y= -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_lowercase b/age/tests/testdata/testkit/armor_lowercase index 3ab173d7..4d4300eb 100644 --- a/age/tests/testdata/testkit/armor_lowercase +++ b/age/tests/testdata/testkit/armor_lowercase @@ -1,12 +1,12 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN age ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= -----END age ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_no_end_line b/age/tests/testdata/testkit/armor_no_end_line index d4a2bce3..208379cd 100644 --- a/age/tests/testdata/testkit/armor_no_end_line +++ b/age/tests/testdata/testkit/armor_no_end_line @@ -1,11 +1,11 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= diff --git a/age/tests/testdata/testkit/armor_no_eol b/age/tests/testdata/testkit/armor_no_eol index 49630cb4..44383f87 100644 --- a/age/tests/testdata/testkit/armor_no_eol +++ b/age/tests/testdata/testkit/armor_no_eol @@ -1,14 +1,14 @@ expect: success payload: 013f54400c82da08037759ada907a8b864e97de81c088a182062c4b5622fd2ab file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes comment: there is no end of line at the end of the file -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= -----END AGE ENCRYPTED FILE----- \ No newline at end of file diff --git a/age/tests/testdata/testkit/armor_no_padding b/age/tests/testdata/testkit/armor_no_padding index 737ed670..7430a3da 100644 --- a/age/tests/testdata/testkit/armor_no_padding +++ b/age/tests/testdata/testkit/armor_no_padding @@ -1,13 +1,13 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes comment: missing base64 padding -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_not_canonical b/age/tests/testdata/testkit/armor_not_canonical index a6c6f561..f6ab741d 100644 --- a/age/tests/testdata/testkit/armor_not_canonical +++ b/age/tests/testdata/testkit/armor_not_canonical @@ -1,13 +1,13 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes comment: base64 is not canonical -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Z= -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_pgp_checksum b/age/tests/testdata/testkit/armor_pgp_checksum index c245ba2d..4b3052ed 100644 --- a/age/tests/testdata/testkit/armor_pgp_checksum +++ b/age/tests/testdata/testkit/armor_pgp_checksum @@ -1,14 +1,14 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= -=J2ub +=yjEF -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_short_line b/age/tests/testdata/testkit/armor_short_line index a92d523f..211a881c 100644 --- a/age/tests/testdata/testkit/armor_short_line +++ b/age/tests/testdata/testkit/armor_short_line @@ -1,12 +1,12 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRp b24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FYTnlDVkpwTDdPdXdQ -ZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lWK0h1MHIrRThSNzdE -ZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkzZjFzcUhqbHUvejFM -Q1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpSyPC8DpksHoMx+2Y= +ZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3MmkrUzJUdTJmaXdRSEhz +bGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEyV0lKY3dIZ1ljOE5J +VmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpSyPC8DpksHoMx+2Y= -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_whitespace_begin b/age/tests/testdata/testkit/armor_whitespace_begin index 91c70abd..1cd4018d 100644 --- a/age/tests/testdata/testkit/armor_whitespace_begin +++ b/age/tests/testdata/testkit/armor_whitespace_begin @@ -1,12 +1,12 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes ----- BEGIN AGE ENCRYPTED FILE ----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_whitespace_end b/age/tests/testdata/testkit/armor_whitespace_end index 22bfb398..d2bda2eb 100644 --- a/age/tests/testdata/testkit/armor_whitespace_end +++ b/age/tests/testdata/testkit/armor_whitespace_end @@ -1,12 +1,12 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= ----- END AGE ENCRYPTED FILE ----- diff --git a/age/tests/testdata/testkit/armor_whitespace_eol b/age/tests/testdata/testkit/armor_whitespace_eol index d0a59042..fa19af28 100644 --- a/age/tests/testdata/testkit/armor_whitespace_eol +++ b/age/tests/testdata/testkit/armor_whitespace_eol @@ -1,12 +1,12 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_whitespace_last_line b/age/tests/testdata/testkit/armor_whitespace_last_line index f925d3a1..0ee4103d 100644 --- a/age/tests/testdata/testkit/armor_whitespace_last_line +++ b/age/tests/testdata/testkit/armor_whitespace_last_line @@ -1,12 +1,12 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_whitespace_line_start b/age/tests/testdata/testkit/armor_whitespace_line_start index 6093e974..44d067b0 100644 --- a/age/tests/testdata/testkit/armor_whitespace_line_start +++ b/age/tests/testdata/testkit/armor_whitespace_line_start @@ -1,12 +1,12 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz - ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy + V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_whitespace_outside b/age/tests/testdata/testkit/armor_whitespace_outside index 76b891ab..b680a394 100644 --- a/age/tests/testdata/testkit/armor_whitespace_outside +++ b/age/tests/testdata/testkit/armor_whitespace_outside @@ -1,7 +1,7 @@ expect: success payload: 013f54400c82da08037759ada907a8b864e97de81c088a182062c4b5622fd2ab file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes comment: whitespace is allowed before and after armored files @@ -9,9 +9,9 @@ comment: whitespace is allowed before and after armored files -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= -----END AGE ENCRYPTED FILE----- diff --git a/age/tests/testdata/testkit/armor_wrong_type b/age/tests/testdata/testkit/armor_wrong_type index 28f6d169..f9a0661d 100644 --- a/age/tests/testdata/testkit/armor_wrong_type +++ b/age/tests/testdata/testkit/armor_wrong_type @@ -1,12 +1,12 @@ expect: armor failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 armored: yes -----BEGIN AGE ENCRYPTED MESSAGE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURWlGMHlwcXIrYnB2Y3FY -TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCkVtRUNBRWNLTituL1ZzOVNiV2lW -K0h1MHIrRThSNzdEZFdZeWQ4M253N1UKLS0tIFZuKzU0anFpaVVDRStXWmNFVlkz -ZjFzcUhqbHUvejFMQ1EvVDdYbTdxSTAK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS +TnlDVkpwTDdPdXdQZFZ3UEw3S1FFYkZET0NjCmhqYWJHWHdTTFE5YzNTNkx3Mmkr +UzJUdTJmaXdRSEhzbGJCTjZCNDFGTEUKLS0tIFd5SnA5Ri85Rk9aaDdnSmRoZXEy +V0lKY3dIZ1ljOE5JVmgzZGR3aHJjTmcK7s9ix86RtDMnTmjU8vkTTLdMW/73vqpS yPC8DpksHoMx+2Y= -----END AGE ENCRYPTED MESSAGE----- diff --git a/age/tests/testdata/testkit/empty b/age/tests/testdata/testkit/empty new file mode 100644 index 00000000..880a7774 --- /dev/null +++ b/age/tests/testdata/testkit/empty @@ -0,0 +1,3 @@ +expect: header failure +file key: 59454c4c4f57205355424d4152494e45 + diff --git a/age/tests/testdata/testkit/stanza_bad_start b/age/tests/testdata/testkit/stanza_bad_start index d040d65b..69931967 100644 --- a/age/tests/testdata/testkit/stanza_bad_start +++ b/age/tests/testdata/testkit/stanza_bad_start @@ -1,11 +1,11 @@ expect: header failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE -- stanza ---- lpxzkyQGe/sA7F1yh4c6KVZV7//jANm5lYefTToioXs +--- v5wE8ubPxI1cyQyeAwSHnljMh6DkzvX3iAdKgdYJF8A îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/stanza_base64_padding b/age/tests/testdata/testkit/stanza_base64_padding index 18ad2d28..af0c1623 100644 --- a/age/tests/testdata/testkit/stanza_base64_padding +++ b/age/tests/testdata/testkit/stanza_base64_padding @@ -1,12 +1,12 @@ expect: header failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE -> stanza QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUE= ---- OtG7IuNHaf2SHZuowmxg/fhbhtz0/DI5g5OGd7WH7S0 +--- /B04zJExClyv/5eAl7g3u3ELs0CUtMpq6ujNdFoG15s îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/stanza_empty_argument b/age/tests/testdata/testkit/stanza_empty_argument index cb9ef0b5..61d06b5b 100644 --- a/age/tests/testdata/testkit/stanza_empty_argument +++ b/age/tests/testdata/testkit/stanza_empty_argument @@ -1,11 +1,11 @@ expect: header failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE -> stanza argument ---- bosBxVRBzKF9emyxQ9BERq7+D5JKU+lvbEsL8UHJ/SA +--- zL8VKcvvLCzdRCXsc94hyIEK2TgqrOzR5nv9Yv4hscs îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/stanza_empty_body b/age/tests/testdata/testkit/stanza_empty_body index cf8ec9b3..a7ef1eab 100644 --- a/age/tests/testdata/testkit/stanza_empty_body +++ b/age/tests/testdata/testkit/stanza_empty_body @@ -1,12 +1,12 @@ expect: success payload: 013f54400c82da08037759ada907a8b864e97de81c088a182062c4b5622fd2ab file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE -> empty ---- 697zSC9pa/ZLNIaXGtuwcUobmxv+Dpx48Hv0papk5c0 +--- +M2eEFbXSvJ8j+gW4TtQ8pu/PpF/Jj6nQLwi2uP94tk îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/stanza_empty_last_line b/age/tests/testdata/testkit/stanza_empty_last_line index 30a6c8fd..253707e7 100644 --- a/age/tests/testdata/testkit/stanza_empty_last_line +++ b/age/tests/testdata/testkit/stanza_empty_last_line @@ -1,14 +1,14 @@ expect: success payload: 013f54400c82da08037759ada907a8b864e97de81c088a182062c4b5622fd2ab file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE -> stanza QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB ---- cb4SqtunSJzXKDGjqeYxuva9Be80QXEDKDn2aKBaCsw +--- D0Uu/whYjf/Cwqz6MHRR9T5em06PLAjTCMcw8aXdyEk îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/stanza_invalid_character b/age/tests/testdata/testkit/stanza_invalid_character index d5c8b430..0455f914 100644 --- a/age/tests/testdata/testkit/stanza_invalid_character +++ b/age/tests/testdata/testkit/stanza_invalid_character @@ -1,11 +1,11 @@ expect: header failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE -> stanza è ---- sTIB/0Fc74rhpjC4RAxoR3E01eVTTnWruaD+c5QWjKI +--- hnSCjLtEBMl3qMJ3K6Tq/SkIL6VZZ1s3Yl9IOSjxgy0 îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/stanza_long_line b/age/tests/testdata/testkit/stanza_long_line index 54352607..645dce5c 100644 --- a/age/tests/testdata/testkit/stanza_long_line +++ b/age/tests/testdata/testkit/stanza_long_line @@ -1,13 +1,13 @@ expect: header failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 comment: a body line is longer than 64 columns age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE -> stanza AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ---- tnRUR2vmmU92czsjnioF5ujgXUetUhzUoQPPGT9wmug +--- UZrpZrF1A1/isUnRsxyQFmuVqELZSLktrvgn1CvIer8 îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/stanza_missing_body b/age/tests/testdata/testkit/stanza_missing_body index 4c184c7b..8cbf4a16 100644 --- a/age/tests/testdata/testkit/stanza_missing_body +++ b/age/tests/testdata/testkit/stanza_missing_body @@ -1,11 +1,11 @@ expect: header failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 comment: every stanza must end with a short body line, even if empty age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE -> empty ---- CDgFIIJ1wE4CpW6zG+LVZ6/G/RCNTH6ZUVGp2NbeIkU +--- OaSGgYUB+XR0qCCme0Uwp9GNJXSEgNpbknu3Q9qtL+M îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/stanza_missing_final_line b/age/tests/testdata/testkit/stanza_missing_final_line index 58774f4d..aef34c4c 100644 --- a/age/tests/testdata/testkit/stanza_missing_final_line +++ b/age/tests/testdata/testkit/stanza_missing_final_line @@ -1,12 +1,12 @@ expect: header failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 comment: every stanza must end with a short body line age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE -> stanza AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ---- GRjUy1ShNhFoV3cQikdtUZqDeDEZSrbtNXUgDtDbwC8 +--- ORM4jo0+tfqd57vT3+pUVZg/sHurDuHFHhXkG7S+RE4 îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/stanza_multiple_short_lines b/age/tests/testdata/testkit/stanza_multiple_short_lines index e1917646..a5b2c3d2 100644 --- a/age/tests/testdata/testkit/stanza_multiple_short_lines +++ b/age/tests/testdata/testkit/stanza_multiple_short_lines @@ -1,13 +1,13 @@ expect: header failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 comment: a short body line ends the stanza age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE -> stanza AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ---- ct87HSIMoTC4nUsQva+8AeKc2bK2q8b9sPjRhjuf1us +--- bpHzWOhjqfoXEgzIrDk7vomv/TLD+BFpxul2+j6ZZuw îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/stanza_no_arguments b/age/tests/testdata/testkit/stanza_no_arguments index a667ad97..1dca7c62 100644 --- a/age/tests/testdata/testkit/stanza_no_arguments +++ b/age/tests/testdata/testkit/stanza_no_arguments @@ -1,11 +1,11 @@ expect: header failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE -> ---- B0qjnUjVajTa8I4Uia49g1c4DMQQN6u9m9QOSS1HLks +--- IY9YoLqIaNKUM21ms4L539FbXHrG2FHmECJiECwQimM îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/stanza_not_canonical b/age/tests/testdata/testkit/stanza_not_canonical index f7794aad..e6f52e3d 100644 --- a/age/tests/testdata/testkit/stanza_not_canonical +++ b/age/tests/testdata/testkit/stanza_not_canonical @@ -1,12 +1,12 @@ expect: header failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE -> stanza QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUF ---- nQM2VCzmNLPrUurNWN+SW9wVp/9uTMQ/6CTUM7l8c84 +--- 3dcBdeuKtDbEpx/hhcA6qEAR/niQh2MAsruVPRsH4CI îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/stanza_spurious_cr b/age/tests/testdata/testkit/stanza_spurious_cr index b85c2ce6..2815c821 100644 --- a/age/tests/testdata/testkit/stanza_spurious_cr +++ b/age/tests/testdata/testkit/stanza_spurious_cr @@ -1,11 +1,11 @@ expect: header failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE -> stanza AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ---- MZaFAh8ldzU0F88NJjLx5yd7fnd57XS5COowmgvQtXQ +--- ahynG58BNILnncvWP3dPKYYuzvcn8Xajrz3LdsOfwJI îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/stanza_valid_characters b/age/tests/testdata/testkit/stanza_valid_characters index c506f309..83a39c91 100644 --- a/age/tests/testdata/testkit/stanza_valid_characters +++ b/age/tests/testdata/testkit/stanza_valid_characters @@ -1,7 +1,7 @@ expect: success payload: 013f54400c82da08037759ada907a8b864e97de81c088a182062c4b5622fd2ab file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> !"#$%&' ()*+,-./ 01234567 89:;<=>? @ABCDEFG HIJKLMNO @@ -9,6 +9,6 @@ age-encryption.org/v1 -> PQRSTUVW XYZ[\]^_ `abcdefg hijklmno pqrstuvw xyz{|}~ -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U ---- x538z9xJq9XEK1aTTTv80aWDVvVdROvaXn2tpqXPC8g +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE +--- qcNy6mAn80JKuXPUW7ANJdOhzbOtVSsIGM12i5B4vx4 îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/stream_257_chunks b/age/tests/testdata/testkit/stream_257_chunks new file mode 100644 index 00000000..b3e292ff Binary files /dev/null and b/age/tests/testdata/testkit/stream_257_chunks differ diff --git a/age/tests/testdata/testkit/stream_257_chunks_full b/age/tests/testdata/testkit/stream_257_chunks_full new file mode 100644 index 00000000..6be6d8fb Binary files /dev/null and b/age/tests/testdata/testkit/stream_257_chunks_full differ diff --git a/age/tests/testdata/testkit/stream_258_chunks b/age/tests/testdata/testkit/stream_258_chunks new file mode 100644 index 00000000..575ef7c5 Binary files /dev/null and b/age/tests/testdata/testkit/stream_258_chunks differ diff --git a/age/tests/testdata/testkit/stream_bad_tag b/age/tests/testdata/testkit/stream_bad_tag index ce8189a0..90319f6a 100644 --- a/age/tests/testdata/testkit/stream_bad_tag +++ b/age/tests/testdata/testkit/stream_bad_tag @@ -1,10 +1,10 @@ expect: payload failure payload: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U ---- Vn+54jqiiUCE+WZcEVY3f1sqHjlu/z1LCQ/T7Xm7qI0 +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE +--- WyJp9F/9FOZh7gJdheq2WIJcwHgYc8NIVh3ddwhrcNg îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûF \ No newline at end of file diff --git a/age/tests/testdata/testkit/stream_bad_tag_second_chunk b/age/tests/testdata/testkit/stream_bad_tag_second_chunk index 21ec15e0..3c5a0ca2 100644 Binary files a/age/tests/testdata/testkit/stream_bad_tag_second_chunk and b/age/tests/testdata/testkit/stream_bad_tag_second_chunk differ diff --git a/age/tests/testdata/testkit/stream_bad_tag_second_chunk_full b/age/tests/testdata/testkit/stream_bad_tag_second_chunk_full index bcf23ad5..1f5f73e9 100644 Binary files a/age/tests/testdata/testkit/stream_bad_tag_second_chunk_full and b/age/tests/testdata/testkit/stream_bad_tag_second_chunk_full differ diff --git a/age/tests/testdata/testkit/stream_empty_payload b/age/tests/testdata/testkit/stream_empty_payload index 6ec1c831..5df70ed9 100644 --- a/age/tests/testdata/testkit/stream_empty_payload +++ b/age/tests/testdata/testkit/stream_empty_payload @@ -1,10 +1,10 @@ expect: success payload: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U ---- Vn+54jqiiUCE+WZcEVY3f1sqHjlu/z1LCQ/T7Xm7qI0 +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE +--- WyJp9F/9FOZh7gJdheq2WIJcwHgYc8NIVh3ddwhrcNg îÏbÇΑ´3'NhÔòùL­.OÏ>RŠA0Þ«ïC6åU \ No newline at end of file diff --git a/age/tests/testdata/testkit/stream_last_chunk_empty b/age/tests/testdata/testkit/stream_last_chunk_empty index b3a2a64c..0ada4120 100644 Binary files a/age/tests/testdata/testkit/stream_last_chunk_empty and b/age/tests/testdata/testkit/stream_last_chunk_empty differ diff --git a/age/tests/testdata/testkit/stream_last_chunk_full b/age/tests/testdata/testkit/stream_last_chunk_full index 5792b426..638db45d 100644 Binary files a/age/tests/testdata/testkit/stream_last_chunk_full and b/age/tests/testdata/testkit/stream_last_chunk_full differ diff --git a/age/tests/testdata/testkit/stream_last_chunk_full_second b/age/tests/testdata/testkit/stream_last_chunk_full_second index 8e9936df..b3a3a585 100644 Binary files a/age/tests/testdata/testkit/stream_last_chunk_full_second and b/age/tests/testdata/testkit/stream_last_chunk_full_second differ diff --git a/age/tests/testdata/testkit/stream_missing_tag b/age/tests/testdata/testkit/stream_missing_tag index 87bf2150..e6793ba1 100644 --- a/age/tests/testdata/testkit/stream_missing_tag +++ b/age/tests/testdata/testkit/stream_missing_tag @@ -1,10 +1,10 @@ expect: payload failure payload: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U ---- Vn+54jqiiUCE+WZcEVY3f1sqHjlu/z1LCQ/T7Xm7qI0 +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE +--- WyJp9F/9FOZh7gJdheq2WIJcwHgYc8NIVh3ddwhrcNg îÏbÇΑ´3'NhÔòùL·L[ \ No newline at end of file diff --git a/age/tests/testdata/testkit/stream_no_chunks b/age/tests/testdata/testkit/stream_no_chunks index 7d68f8be..ef5b4fc5 100644 --- a/age/tests/testdata/testkit/stream_no_chunks +++ b/age/tests/testdata/testkit/stream_no_chunks @@ -1,10 +1,10 @@ expect: payload failure payload: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U ---- Vn+54jqiiUCE+WZcEVY3f1sqHjlu/z1LCQ/T7Xm7qI0 +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE +--- WyJp9F/9FOZh7gJdheq2WIJcwHgYc8NIVh3ddwhrcNg îÏbÇΑ´3'NhÔòùL \ No newline at end of file diff --git a/age/tests/testdata/testkit/stream_no_final b/age/tests/testdata/testkit/stream_no_final index 413187e8..4cfb2a44 100644 Binary files a/age/tests/testdata/testkit/stream_no_final and b/age/tests/testdata/testkit/stream_no_final differ diff --git a/age/tests/testdata/testkit/stream_no_final_full b/age/tests/testdata/testkit/stream_no_final_full index f61cf077..8dbb0b52 100644 Binary files a/age/tests/testdata/testkit/stream_no_final_full and b/age/tests/testdata/testkit/stream_no_final_full differ diff --git a/age/tests/testdata/testkit/stream_no_final_two_chunks b/age/tests/testdata/testkit/stream_no_final_two_chunks index ecdf7692..2940d91e 100644 Binary files a/age/tests/testdata/testkit/stream_no_final_two_chunks and b/age/tests/testdata/testkit/stream_no_final_two_chunks differ diff --git a/age/tests/testdata/testkit/stream_no_final_two_chunks_full b/age/tests/testdata/testkit/stream_no_final_two_chunks_full index 88930eed..694f447e 100644 Binary files a/age/tests/testdata/testkit/stream_no_final_two_chunks_full and b/age/tests/testdata/testkit/stream_no_final_two_chunks_full differ diff --git a/age/tests/testdata/testkit/stream_no_nonce b/age/tests/testdata/testkit/stream_no_nonce index 62dcf369..c97ca1ca 100644 --- a/age/tests/testdata/testkit/stream_no_nonce +++ b/age/tests/testdata/testkit/stream_no_nonce @@ -1,8 +1,8 @@ expect: header failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U ---- Vn+54jqiiUCE+WZcEVY3f1sqHjlu/z1LCQ/T7Xm7qI0 +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE +--- WyJp9F/9FOZh7gJdheq2WIJcwHgYc8NIVh3ddwhrcNg diff --git a/age/tests/testdata/testkit/stream_short_chunk b/age/tests/testdata/testkit/stream_short_chunk index 13796deb..87706817 100644 --- a/age/tests/testdata/testkit/stream_short_chunk +++ b/age/tests/testdata/testkit/stream_short_chunk @@ -1,10 +1,10 @@ expect: payload failure payload: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U ---- Vn+54jqiiUCE+WZcEVY3f1sqHjlu/z1LCQ/T7Xm7qI0 +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE +--- WyJp9F/9FOZh7gJdheq2WIJcwHgYc8NIVh3ddwhrcNg îÏbÇΑ´3'NhÔòùL[æè. ½Ó#Èw \ No newline at end of file diff --git a/age/tests/testdata/testkit/stream_short_nonce b/age/tests/testdata/testkit/stream_short_nonce index 06dc835a..6fad221d 100644 --- a/age/tests/testdata/testkit/stream_short_nonce +++ b/age/tests/testdata/testkit/stream_short_nonce @@ -1,9 +1,9 @@ expect: header failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U ---- Vn+54jqiiUCE+WZcEVY3f1sqHjlu/z1LCQ/T7Xm7qI0 +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE +--- WyJp9F/9FOZh7gJdheq2WIJcwHgYc8NIVh3ddwhrcNg îÏbÇΑ´3'NhÔ \ No newline at end of file diff --git a/age/tests/testdata/testkit/stream_short_second_chunk b/age/tests/testdata/testkit/stream_short_second_chunk index c448186d..21cf9428 100644 Binary files a/age/tests/testdata/testkit/stream_short_second_chunk and b/age/tests/testdata/testkit/stream_short_second_chunk differ diff --git a/age/tests/testdata/testkit/stream_three_chunks b/age/tests/testdata/testkit/stream_three_chunks index 734ed991..9289f749 100644 Binary files a/age/tests/testdata/testkit/stream_three_chunks and b/age/tests/testdata/testkit/stream_three_chunks differ diff --git a/age/tests/testdata/testkit/stream_trailing_garbage_long b/age/tests/testdata/testkit/stream_trailing_garbage_long index 08624390..43d6f076 100644 Binary files a/age/tests/testdata/testkit/stream_trailing_garbage_long and b/age/tests/testdata/testkit/stream_trailing_garbage_long differ diff --git a/age/tests/testdata/testkit/stream_trailing_garbage_short b/age/tests/testdata/testkit/stream_trailing_garbage_short index 733e401f..d690a546 100644 Binary files a/age/tests/testdata/testkit/stream_trailing_garbage_short and b/age/tests/testdata/testkit/stream_trailing_garbage_short differ diff --git a/age/tests/testdata/testkit/stream_two_chunks b/age/tests/testdata/testkit/stream_two_chunks index 8e9936df..b3a3a585 100644 Binary files a/age/tests/testdata/testkit/stream_two_chunks and b/age/tests/testdata/testkit/stream_two_chunks differ diff --git a/age/tests/testdata/testkit/stream_two_final_chunks b/age/tests/testdata/testkit/stream_two_final_chunks index ac2e7a79..971f12ef 100644 Binary files a/age/tests/testdata/testkit/stream_two_final_chunks and b/age/tests/testdata/testkit/stream_two_final_chunks differ diff --git a/age/tests/testdata/testkit/stream_two_final_chunks_full b/age/tests/testdata/testkit/stream_two_final_chunks_full new file mode 100644 index 00000000..ccaf6ffc Binary files /dev/null and b/age/tests/testdata/testkit/stream_two_final_chunks_full differ diff --git a/age/tests/testdata/testkit/stream_two_final_chunks_second b/age/tests/testdata/testkit/stream_two_final_chunks_second new file mode 100644 index 00000000..117c31fa Binary files /dev/null and b/age/tests/testdata/testkit/stream_two_final_chunks_second differ diff --git a/age/tests/testdata/testkit/stream_two_final_chunks_short b/age/tests/testdata/testkit/stream_two_final_chunks_short new file mode 100644 index 00000000..a2c703ea Binary files /dev/null and b/age/tests/testdata/testkit/stream_two_final_chunks_short differ diff --git a/age/tests/testdata/testkit/version_unsupported b/age/tests/testdata/testkit/version_unsupported index e7a7ddf4..54a4512b 100644 --- a/age/tests/testdata/testkit/version_unsupported +++ b/age/tests/testdata/testkit/version_unsupported @@ -1,9 +1,9 @@ expect: header failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1234 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U ---- 38AL8Mr4VwmS6CNbM4bc7u3WwGBDqsMTRHOuYJ9ckqs +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE +--- Tv+h4x3tN8O4kAWnf7DbpSkmNlxlyxSVfY7UoPFkhno îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/x25519 b/age/tests/testdata/testkit/x25519 index c7bb5096..eb8726bf 100644 --- a/age/tests/testdata/testkit/x25519 +++ b/age/tests/testdata/testkit/x25519 @@ -1,10 +1,10 @@ expect: success payload: 013f54400c82da08037759ada907a8b864e97de81c088a182062c4b5622fd2ab file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U ---- Vn+54jqiiUCE+WZcEVY3f1sqHjlu/z1LCQ/T7Xm7qI0 +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE +--- WyJp9F/9FOZh7gJdheq2WIJcwHgYc8NIVh3ddwhrcNg îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/x25519_bad_tag b/age/tests/testdata/testkit/x25519_bad_tag index 13c7c709..bdb4422e 100644 --- a/age/tests/testdata/testkit/x25519_bad_tag +++ b/age/tests/testdata/testkit/x25519_bad_tag @@ -1,10 +1,10 @@ expect: no match file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 comment: the ChaCha20Poly1305 authentication tag on the body of the X25519 stanza is wrong age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw0o ---- tG0k9bg4iIuBdMWb13n7FFYDzoBbtsLppNLhbh22aKg +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FE4 +--- zOCHpynV0aV7p4R6c+bOapgpq9TtpFgGgYghQ2+PIX8 îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/x25519_extra_argument b/age/tests/testdata/testkit/x25519_extra_argument index 198389b2..251c3a6d 100644 --- a/age/tests/testdata/testkit/x25519_extra_argument +++ b/age/tests/testdata/testkit/x25519_extra_argument @@ -1,10 +1,10 @@ expect: header failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 comment: the base64 encoding of the share is not canonical age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc 1234 -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U ---- hQQySEUXL8pOuIOuw0qXzi66RphDJP9IKMNEChNJIPk +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE +--- l7E0/PQP54HBZYKUu505n1muW7EniDFqMrXgMhFmeiA îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/x25519_grease b/age/tests/testdata/testkit/x25519_grease index aa212d9c..edaa19c1 100644 --- a/age/tests/testdata/testkit/x25519_grease +++ b/age/tests/testdata/testkit/x25519_grease @@ -1,14 +1,14 @@ expect: success payload: 013f54400c82da08037759ada907a8b864e97de81c088a182062c4b5622fd2ab file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> grease -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE -> grease ---- 7NLrfbRUZt6qK0pdtARUf59dHwo12ReldjJKjMlbE3I +--- QIfAOEMt1fGOf2FP2m3+TwFQtfy2H3sX3YqUAQRApkM îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/x25519_lowercase b/age/tests/testdata/testkit/x25519_lowercase index 3eeb8bc5..5fd39538 100644 --- a/age/tests/testdata/testkit/x25519_lowercase +++ b/age/tests/testdata/testkit/x25519_lowercase @@ -1,10 +1,10 @@ expect: no match file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 comment: the first argument in the X25519 stanza is lowercase age-encryption.org/v1 -> x25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U ---- SwXKO3dXLh9l5QiSgMWgPhCkwstT8oB4jLDv7aBgC+c +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE +--- AYeVZK262kiO9KRKUZNEldKRzXDG1vPMXdWs2fF0iJY îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/x25519_multiple_recipients b/age/tests/testdata/testkit/x25519_multiple_recipients index 27c772c2..b6bef8fc 100644 --- a/age/tests/testdata/testkit/x25519_multiple_recipients +++ b/age/tests/testdata/testkit/x25519_multiple_recipients @@ -1,12 +1,12 @@ expect: success payload: 013f54400c82da08037759ada907a8b864e97de81c088a182062c4b5622fd2ab file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 age-encryption.org/v1 -> X25519 ajtqAvDEkVNr2B7zUOtq2mAQXDSBlNrVAuM/dKb5sT4 0evrK/HQXVsQ4YaDe+659l5OQzvAzD2ytLGHQLQiqxg -> X25519 0qC7u6AbLxuwnM8tPFOWVtWZn/ZZe7z7gcsP5kgA0FI -T/PZg76MmVt2IaLntrxppzDnzeFDYHsHFcnTnhbRLQ8 ---- 7W07ef2PhsTAl74pn+9vSj/Xzukwa6SuTqMc16cdBk0 +Y3OzevLm23Vx7PN9k33F9y+ercWe/bcZJLqhqA3h408 +--- 855pKblQzZ3oabDowxRDQvSj/xo47ZSh5WTjkmK0I0U ð¸¾5TB9™ ­€„–Ko•Ãm³^OYØøž<òo-¥B \ No newline at end of file diff --git a/age/tests/testdata/testkit/x25519_not_canonical_body b/age/tests/testdata/testkit/x25519_not_canonical_body index 11138dbe..f61601e2 100644 --- a/age/tests/testdata/testkit/x25519_not_canonical_body +++ b/age/tests/testdata/testkit/x25519_not_canonical_body @@ -1,10 +1,10 @@ expect: header failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 comment: the base64 encoding of the share is not canonical age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCc -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7V ---- eSjjCjQyp30yHDPwCztKS+1txs+aoCa5ERz8jeEp+9A +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLF +--- SGYx1A08TAxtamnfCclSbmk59kIZWY8/f+qmMXv4g9g îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testdata/testkit/x25519_not_canonical_share b/age/tests/testdata/testkit/x25519_not_canonical_share index 0b2a08d7..a3265b40 100644 --- a/age/tests/testdata/testkit/x25519_not_canonical_share +++ b/age/tests/testdata/testkit/x25519_not_canonical_share @@ -1,10 +1,10 @@ expect: header failure file key: 59454c4c4f57205355424d4152494e45 -identity: AGE-SECRET-KEY-1XMWWC06LY3EE5RYTXM9MFLAZ2U56JJJ36S0MYPDRWSVLUL66MV4QX3S7F6 +identity: AGE-SECRET-KEY-1EGTZVFFV20835NWYV6270LXYVK2VKNX2MMDKWYKLMGR48UAWX40Q2P2LM0 comment: the base64 encoding of the share is not canonical age-encryption.org/v1 -> X25519 TEiF0ypqr+bpvcqXNyCVJpL7OuwPdVwPL7KQEbFDOCd -EmECAEcKN+n/Vs9SbWiV+Hu0r+E8R77DdWYyd83nw7U ---- AO6haEGU6BGJ8Tzeqnr2fSLEo31JrWodGtZuCZmijI8 +hjabGXwSLQ9c3S6Lw2i+S2Tu2fiwQHHslbBN6B41FLE +--- ngoKTEDpJF0jTrD7UALMpTyjZC8ONeH6kqCvSYCvm2g îÏbÇΑ´3'NhÔòùL·L[þ÷¾ªRÈð¼™,ƒ1ûf \ No newline at end of file diff --git a/age/tests/testkit.rs b/age/tests/testkit.rs index d169087b..d640a09a 100644 --- a/age/tests/testkit.rs +++ b/age/tests/testkit.rs @@ -16,6 +16,8 @@ use test_case::test_case; #[test_case("armor")] #[test_case("armor_crlf")] +#[test_case("armor_empty")] +#[test_case("armor_empty_last_line")] #[test_case("armor_empty_line_begin")] #[test_case("armor_empty_line_end")] #[test_case("armor_eol_between_padding")] @@ -43,6 +45,7 @@ use test_case::test_case; #[test_case("armor_whitespace_line_start")] #[test_case("armor_whitespace_outside")] #[test_case("armor_wrong_type")] +#[test_case("empty")] #[test_case("header_crlf")] #[test_case("hmac_bad")] #[test_case("hmac_extra_space")] @@ -91,6 +94,9 @@ use test_case::test_case; #[test_case("stanza_not_canonical")] #[test_case("stanza_spurious_cr")] #[test_case("stanza_valid_characters")] +#[test_case("stream_257_chunks")] +#[test_case("stream_257_chunks_full")] +#[test_case("stream_258_chunks")] #[test_case("stream_bad_tag")] #[test_case("stream_bad_tag_second_chunk")] #[test_case("stream_bad_tag_second_chunk_full")] @@ -113,6 +119,9 @@ use test_case::test_case; #[test_case("stream_trailing_garbage_short")] #[test_case("stream_two_chunks")] #[test_case("stream_two_final_chunks")] +#[test_case("stream_two_final_chunks_full")] +#[test_case("stream_two_final_chunks_second")] +#[test_case("stream_two_final_chunks_short")] #[test_case("version_unsupported")] #[test_case("x25519")] #[test_case("x25519_bad_tag")] @@ -154,6 +163,8 @@ fn testkit(filename: &str) { #[test_case("armor")] #[test_case("armor_crlf")] +#[test_case("armor_empty")] +#[test_case("armor_empty_last_line")] #[test_case("armor_empty_line_begin")] #[test_case("armor_empty_line_end")] #[test_case("armor_eol_between_padding")] @@ -181,6 +192,7 @@ fn testkit(filename: &str) { #[test_case("armor_whitespace_line_start")] #[test_case("armor_whitespace_outside")] #[test_case("armor_wrong_type")] +#[test_case("empty")] #[test_case("header_crlf")] #[test_case("hmac_bad")] #[test_case("hmac_extra_space")] @@ -229,6 +241,9 @@ fn testkit(filename: &str) { #[test_case("stanza_not_canonical")] #[test_case("stanza_spurious_cr")] #[test_case("stanza_valid_characters")] +#[test_case("stream_257_chunks")] +#[test_case("stream_257_chunks_full")] +#[test_case("stream_258_chunks")] #[test_case("stream_bad_tag")] #[test_case("stream_bad_tag_second_chunk")] #[test_case("stream_bad_tag_second_chunk_full")] @@ -251,6 +266,9 @@ fn testkit(filename: &str) { #[test_case("stream_trailing_garbage_short")] #[test_case("stream_two_chunks")] #[test_case("stream_two_final_chunks")] +#[test_case("stream_two_final_chunks_full")] +#[test_case("stream_two_final_chunks_second")] +#[test_case("stream_two_final_chunks_short")] #[test_case("version_unsupported")] #[test_case("x25519")] #[test_case("x25519_bad_tag")] @@ -292,6 +310,8 @@ fn testkit_buffered(filename: &str) { #[test_case("armor")] #[test_case("armor_crlf")] +#[test_case("armor_empty")] +#[test_case("armor_empty_last_line")] #[test_case("armor_empty_line_begin")] #[test_case("armor_empty_line_end")] #[test_case("armor_eol_between_padding")] @@ -319,6 +339,7 @@ fn testkit_buffered(filename: &str) { #[test_case("armor_whitespace_line_start")] #[test_case("armor_whitespace_outside")] #[test_case("armor_wrong_type")] +#[test_case("empty")] #[test_case("header_crlf")] #[test_case("hmac_bad")] #[test_case("hmac_extra_space")] @@ -367,6 +388,9 @@ fn testkit_buffered(filename: &str) { #[test_case("stanza_not_canonical")] #[test_case("stanza_spurious_cr")] #[test_case("stanza_valid_characters")] +#[test_case("stream_257_chunks")] +#[test_case("stream_257_chunks_full")] +#[test_case("stream_258_chunks")] #[test_case("stream_bad_tag")] #[test_case("stream_bad_tag_second_chunk")] #[test_case("stream_bad_tag_second_chunk_full")] @@ -389,6 +413,9 @@ fn testkit_buffered(filename: &str) { #[test_case("stream_trailing_garbage_short")] #[test_case("stream_two_chunks")] #[test_case("stream_two_final_chunks")] +#[test_case("stream_two_final_chunks_full")] +#[test_case("stream_two_final_chunks_second")] +#[test_case("stream_two_final_chunks_short")] #[test_case("version_unsupported")] #[test_case("x25519")] #[test_case("x25519_bad_tag")] @@ -433,6 +460,8 @@ async fn testkit_async(filename: &str) { #[test_case("armor")] #[test_case("armor_crlf")] +#[test_case("armor_empty")] +#[test_case("armor_empty_last_line")] #[test_case("armor_empty_line_begin")] #[test_case("armor_empty_line_end")] #[test_case("armor_eol_between_padding")] @@ -460,6 +489,7 @@ async fn testkit_async(filename: &str) { #[test_case("armor_whitespace_line_start")] #[test_case("armor_whitespace_outside")] #[test_case("armor_wrong_type")] +#[test_case("empty")] #[test_case("header_crlf")] #[test_case("hmac_bad")] #[test_case("hmac_extra_space")] @@ -508,6 +538,9 @@ async fn testkit_async(filename: &str) { #[test_case("stanza_not_canonical")] #[test_case("stanza_spurious_cr")] #[test_case("stanza_valid_characters")] +#[test_case("stream_257_chunks")] +#[test_case("stream_257_chunks_full")] +#[test_case("stream_258_chunks")] #[test_case("stream_bad_tag")] #[test_case("stream_bad_tag_second_chunk")] #[test_case("stream_bad_tag_second_chunk_full")] @@ -530,6 +563,9 @@ async fn testkit_async(filename: &str) { #[test_case("stream_trailing_garbage_short")] #[test_case("stream_two_chunks")] #[test_case("stream_two_final_chunks")] +#[test_case("stream_two_final_chunks_full")] +#[test_case("stream_two_final_chunks_second")] +#[test_case("stream_two_final_chunks_short")] #[test_case("version_unsupported")] #[test_case("x25519")] #[test_case("x25519_bad_tag")] @@ -776,6 +812,7 @@ impl TestFile { let mut identities = vec![]; let mut passphrases = vec![]; + let mut compressed = false; let mut armored = false; let mut comment = None; loop { @@ -787,6 +824,10 @@ impl TestFile { let (prefix, data) = line.trim().split_once(": ").unwrap(); match prefix { + "compressed" => match data { + "zlib" => compressed = true, + _ => panic!("Unknown testkit compression '{data}'"), + }, "identity" => identities.push(data.to_owned()), "passphrase" => passphrases.push(data.to_owned()), "armored" => armored = data == "yes", @@ -796,7 +837,12 @@ impl TestFile { } let mut age_file = vec![]; - r.read_to_end(&mut age_file).unwrap(); + if compressed { + let mut z = flate2::read::ZlibDecoder::new(r); + z.read_to_end(&mut age_file).unwrap(); + } else { + r.read_to_end(&mut age_file).unwrap(); + }; Self { expect, diff --git a/fuzz-afl/Cargo.lock b/fuzz-afl/Cargo.lock index 1f10b8d2..5c81adba 100644 --- a/fuzz-afl/Cargo.lock +++ b/fuzz-afl/Cargo.lock @@ -26,7 +26,7 @@ dependencies = [ [[package]] name = "age" -version = "0.11.4" +version = "0.11.5" dependencies = [ "age-core", "base64", diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index 26b6f8f3..5761e67b 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -14,7 +14,7 @@ dependencies = [ [[package]] name = "age" -version = "0.11.4" +version = "0.11.5" dependencies = [ "age-core", "base64", diff --git a/rage/Cargo.toml b/rage/Cargo.toml index a472f7fc..53d427da 100644 --- a/rage/Cargo.toml +++ b/rage/Cargo.toml @@ -130,7 +130,7 @@ zip = { version = "0.6.2", optional = true } clap = { workspace = true, features = ["string", "unstable-styles"] } clap_complete = "4" clap_mangen = "0.2" -flate2 = "1" +flate2.workspace = true i18n-embed.workspace = true i18n-embed-fl.workspace = true lazy_static.workspace = true