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:
Peter Korsgaard
2026-09-05 22:19:41 +02:00
committed by Julien Olivain
parent c5c0a76751
commit 4a242e9e7a
4 changed files with 5 additions and 40 deletions

View File

@@ -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

View File

@@ -1,3 +1,3 @@
# Locally calculated
sha256 97958ff82eaa6aa89328f4319d585e362130168c478cf6a85ba3f4d05e453669 0.1.0.tar.gz
sha256 7f52eb6ca021f6dd6313e1b0798d5d363edf868d0b987eb56d7039c4fce01f70 1.0.0.tar.gz
sha256 f7f37a8bb7d993825b10f5ce2838c1c452d902eda63cd180fdabc7c3a5dd0341 LICENSE

View File

@@ -4,7 +4,7 @@
#
################################################################################
AGEC_VERSION = 0.1.0
AGEC_VERSION = 1.0.0
AGEC_SOURCE = $(AGEC_VERSION).tar.gz
AGEC_SITE = https://git.sr.ht/~min/agec/archive
AGEC_LICENSE = 0BSD

View File

@@ -11,9 +11,9 @@ class TestAgec(infra.basetest.BRTest):
# generate keypair in file and return pubkey
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)
pubkey = output[0].strip()
self.assertNotEqual(pubkey, "")
@@ -36,7 +36,7 @@ class TestAgec(infra.basetest.BRTest):
encrypted_file = decrypted_file + ".age"
# 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.assertIn("public key:", output[0])
self.assertIn("AGE-SECRET-KEY-", output[1])