mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-30 05:51:45 -09:00
package/agec: bump version to 1.0.0
Largely a bugfix release. Fixes an encryption issue if the cleartext was
exactly 8KB + N*64KB long.
https://git.sr.ht/~min/agec/refs/1.0.0
Drop now upstreamed 0001-io.c-isarmor-do-not-set-eof-for-35-byte-files.patch:
7a529662f9
Upstream renamed the agec-keygen utility to agecgen, so update the test to
match.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
committed by
Julien Olivain
parent
c5c0a76751
commit
4a242e9e7a
@@ -1,35 +0,0 @@
|
|||||||
From eb8ccfe5bb32273226d80236caab7a9386d71071 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Peter Korsgaard <peter@korsgaard.com>
|
|
||||||
Date: Thu, 18 Jun 2026 15:12:38 +0200
|
|
||||||
Subject: [PATCH] io.c: isarmor(): do not set eof for <35 byte files
|
|
||||||
|
|
||||||
Encryption is silently broken for <35 byte files since commit b374d8de5a
|
|
||||||
("stop reading after first EOF"), as readall() sets the eof flag when it was
|
|
||||||
unable to read the entire 35 bytes in isarmor(), causing bread() to return
|
|
||||||
EOF and ignore the <35 bytes already read.
|
|
||||||
|
|
||||||
Fix it by only setting the eof flag in isarmor() if nothing could be read.
|
|
||||||
|
|
||||||
Upstream: mailed to amin@firemail.cc
|
|
||||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
|
||||||
---
|
|
||||||
io.c | 3 +--
|
|
||||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/io.c b/io.c
|
|
||||||
index 15ed4f7..2773022 100644
|
|
||||||
--- a/io.c
|
|
||||||
+++ b/io.c
|
|
||||||
@@ -128,8 +128,7 @@ isarmor(Ibuf *b)
|
|
||||||
nr = readall(b->fd, b->buf, sizeof(armorfirst) - 1, &b->eof);
|
|
||||||
if(nr == -1)
|
|
||||||
return -1;
|
|
||||||
- if(nr == 0)
|
|
||||||
- b->eof = 1;
|
|
||||||
+ b->eof = (nr == 0);
|
|
||||||
b->size = nr;
|
|
||||||
if((usize)nr < sizeof(armorfirst) - 1)
|
|
||||||
return 0;
|
|
||||||
--
|
|
||||||
2.47.3
|
|
||||||
|
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
# Locally calculated
|
# Locally calculated
|
||||||
sha256 97958ff82eaa6aa89328f4319d585e362130168c478cf6a85ba3f4d05e453669 0.1.0.tar.gz
|
sha256 7f52eb6ca021f6dd6313e1b0798d5d363edf868d0b987eb56d7039c4fce01f70 1.0.0.tar.gz
|
||||||
sha256 f7f37a8bb7d993825b10f5ce2838c1c452d902eda63cd180fdabc7c3a5dd0341 LICENSE
|
sha256 f7f37a8bb7d993825b10f5ce2838c1c452d902eda63cd180fdabc7c3a5dd0341 LICENSE
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#
|
#
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
AGEC_VERSION = 0.1.0
|
AGEC_VERSION = 1.0.0
|
||||||
AGEC_SOURCE = $(AGEC_VERSION).tar.gz
|
AGEC_SOURCE = $(AGEC_VERSION).tar.gz
|
||||||
AGEC_SITE = https://git.sr.ht/~min/agec/archive
|
AGEC_SITE = https://git.sr.ht/~min/agec/archive
|
||||||
AGEC_LICENSE = 0BSD
|
AGEC_LICENSE = 0BSD
|
||||||
|
|||||||
@@ -11,9 +11,9 @@ class TestAgec(infra.basetest.BRTest):
|
|||||||
|
|
||||||
# generate keypair in file and return pubkey
|
# generate keypair in file and return pubkey
|
||||||
def generate_keypair(self, filename):
|
def generate_keypair(self, filename):
|
||||||
self.assertRunOk(f"agec-keygen > {filename}")
|
self.assertRunOk(f"agecgen > {filename}")
|
||||||
|
|
||||||
output, exit_code = self.emulator.run(f"agec-keygen -y < {filename}")
|
output, exit_code = self.emulator.run(f"agecgen -y < {filename}")
|
||||||
self.assertEqual(exit_code, 0)
|
self.assertEqual(exit_code, 0)
|
||||||
pubkey = output[0].strip()
|
pubkey = output[0].strip()
|
||||||
self.assertNotEqual(pubkey, "")
|
self.assertNotEqual(pubkey, "")
|
||||||
@@ -36,7 +36,7 @@ class TestAgec(infra.basetest.BRTest):
|
|||||||
encrypted_file = decrypted_file + ".age"
|
encrypted_file = decrypted_file + ".age"
|
||||||
|
|
||||||
# should output a valid looking keypair to stdout
|
# should output a valid looking keypair to stdout
|
||||||
output, exit_code = self.emulator.run("agec-keygen")
|
output, exit_code = self.emulator.run("agecgen")
|
||||||
self.assertEqual(exit_code, 0)
|
self.assertEqual(exit_code, 0)
|
||||||
self.assertIn("public key:", output[0])
|
self.assertIn("public key:", output[0])
|
||||||
self.assertIn("AGE-SECRET-KEY-", output[1])
|
self.assertIn("AGE-SECRET-KEY-", output[1])
|
||||||
|
|||||||
Reference in New Issue
Block a user