commit: e1cee01fa93c002242f8e13a77c259acbc28b867
parent 1de004ecdfeb2f031431cfc00af7310718c5861e
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date: Sat, 13 Sep 2025 07:57:03 +0200
app-crypt/gzsig: new package, add 20060130
Diffstat:
6 files changed, 218 insertions(+), 0 deletions(-)
diff --git a/app-crypt/gzsig/Manifest b/app-crypt/gzsig/Manifest
@@ -0,0 +1 @@
+DIST gzsig-20060130.tgz 12709 BLAKE2B 4edb8be28d361a2055cb20f434de46855730eabb7c853ffc0098fbbece5ebdef31e559baacf5e874789190fd5fc6d1e2f713ab244a501c9601ad1f6652ca9f62 SHA512 06c48b9eef5aea5b67747798f8bee4b36db7b9dd34beb9f75687db6fbfeb39586d6961f94fd768e1900f70729b20d5d115e1494c351617dbf995906fb6661a3b
diff --git a/app-crypt/gzsig/files/gzsig-20060130-Drop-usage-of-ssh.c-and-ssh2.c-for-now.patch b/app-crypt/gzsig/files/gzsig-20060130-Drop-usage-of-ssh.c-and-ssh2.c-for-now.patch
@@ -0,0 +1,50 @@
+From b024193102a01a61e94d0d1dd575554ef89d9396 Mon Sep 17 00:00:00 2001
+From: "Haelwenn (lanodan) Monnier" <contact@hacktivis.me>
+Date: Sat, 13 Sep 2025 07:30:33 +0200
+Subject: [PATCH 4/4] Drop usage of ssh.c and ssh2.c for now
+
+---
+ Makefile | 3 ++-
+ key.c | 6 +++---
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 65eff25..b8b7345 100644
+--- a/Makefile
++++ b/Makefile
+@@ -2,7 +2,8 @@
+ # $OpenBSD: Makefile,v 1.2 2005/05/29 02:41:42 marius Exp $
+
+ PROG = gzsig
+-SRCS = gzsig.c key.c pemrsa.c sign.c ssh.c ssh2.c util.c verify.c x509.c
++#SRCS = gzsig.c key.c pemrsa.c sign.c ssh.c ssh2.c util.c verify.c x509.c
++SRCS = gzsig.c key.c pemrsa.c sign.c util.c verify.c x509.c
+
+ LDADD = -lcrypto -lm
+
+diff --git a/key.c b/key.c
+index 19ff6a5..9508945 100644
+--- a/key.c
++++ b/key.c
+@@ -56,15 +56,15 @@
+ typedef int (*key_loader)(struct key *, struct iovec *);
+
+ static key_loader pubkey_loaders[] = {
+- ssh_load_public,
+- ssh2_load_public,
++ //ssh_load_public,
++ //ssh2_load_public,
+ x509_load_public,
+ pemrsa_load_public,
+ NULL
+ };
+
+ static key_loader privkey_loaders[] = {
+- ssh_load_private,
++ //ssh_load_private,
+ x509_load_private,
+ NULL
+ };
+--
+2.49.1
+
diff --git a/app-crypt/gzsig/files/gzsig-20060130-gzsig.c-remove-__dead-for-now.patch b/app-crypt/gzsig/files/gzsig-20060130-gzsig.c-remove-__dead-for-now.patch
@@ -0,0 +1,25 @@
+From c8245d1c8550082040bbceb24ad78da2156ffd88 Mon Sep 17 00:00:00 2001
+From: "Haelwenn (lanodan) Monnier" <contact@hacktivis.me>
+Date: Sat, 13 Sep 2025 06:38:58 +0200
+Subject: [PATCH 1/4] gzsig.c: remove __dead for now
+
+---
+ gzsig.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gzsig.c b/gzsig.c
+index 00d074c..637a24e 100644
+--- a/gzsig.c
++++ b/gzsig.c
+@@ -40,7 +40,7 @@
+
+ #include "extern.h"
+
+-static __dead void
++static void
+ usage(void)
+ {
+ sign_usage();
+--
+2.49.1
+
diff --git a/app-crypt/gzsig/files/gzsig-20060130-pemrsa-move-__RCSID-into-an-header-comment.patch b/app-crypt/gzsig/files/gzsig-20060130-pemrsa-move-__RCSID-into-an-header-comment.patch
@@ -0,0 +1,31 @@
+From d0dbb04d5460780fd2dd94de09fdff6e13675930 Mon Sep 17 00:00:00 2001
+From: "Haelwenn (lanodan) Monnier" <contact@hacktivis.me>
+Date: Sat, 13 Sep 2025 06:39:34 +0200
+Subject: [PATCH 2/4] pemrsa: move __RCSID into an header comment
+
+---
+ pemrsa.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/pemrsa.c b/pemrsa.c
+index 547864d..f65b68e 100644
+--- a/pemrsa.c
++++ b/pemrsa.c
+@@ -1,3 +1,5 @@
++/* $MirOS: src/usr.bin/gzsig/pemrsa.c,v 1.2 2020/11/26 01:16:10 tg Exp $ */
++
+ /*-
+ * Copyright (c) 2006
+ * mirabilos <m@mirbsd.org>
+@@ -29,8 +31,6 @@
+ #include "key.h"
+ #include "pemrsa.h"
+
+-__RCSID("$MirOS: src/usr.bin/gzsig/pemrsa.c,v 1.2 2020/11/26 01:16:10 tg Exp $");
+-
+ #define PEMRSA_PUBKEY_MAGIC "-----BEGIN PUBLIC KEY-----"
+
+ int
+--
+2.49.1
+
diff --git a/app-crypt/gzsig/files/gzsig-20060130-x509.c-Update-for-OpenSSL-3.x.patch b/app-crypt/gzsig/files/gzsig-20060130-x509.c-Update-for-OpenSSL-3.x.patch
@@ -0,0 +1,75 @@
+From 7ac9a2f8c3b275919ab2df012a5b223880e13f39 Mon Sep 17 00:00:00 2001
+From: "Haelwenn (lanodan) Monnier" <contact@hacktivis.me>
+Date: Sat, 13 Sep 2025 07:29:36 +0200
+Subject: [PATCH 3/4] x509.c: Update for OpenSSL 3.x
+
+---
+ x509.c | 38 ++++++++++++++++++++++++--------------
+ 1 file changed, 24 insertions(+), 14 deletions(-)
+
+diff --git a/x509.c b/x509.c
+index 99dcc52..53f51fc 100644
+--- a/x509.c
++++ b/x509.c
+@@ -75,18 +75,24 @@ x509_load_public(struct key *k, struct iovec *iov)
+ return (-1);
+
+ evp = X509_get_pubkey(cert);
+-
+- if (evp->type == EVP_PKEY_RSA) {
++
++ int evp_id = EVP_PKEY_base_id(evp);
++ switch(evp_id)
++ {
++ case EVP_PKEY_RSA:
+ k->type = KEY_RSA;
+- k->data = (void *)RSAPublicKey_dup(evp->pkey.rsa);
+- } else if (evp->type == EVP_PKEY_DSA) {
++ k->data = EVP_PKEY_get1_RSA(evp);
++ break;
++ case EVP_PKEY_DSA:
+ k->type = KEY_DSA;
+- k->data = (void *)evp->pkey.dsa;
+- evp->pkey.dsa = NULL; /* XXX */
+- } else {
++ k->data = EVP_PKEY_get1_DSA(evp);
++ break;
++ default:
++ fprintf(stderr, "gzsig: error: Unknown key type %d\n", evp_id);
+ X509_free(cert);
+ return (-1);
+ }
++
+ X509_free(cert);
+
+ return (0);
+@@ -119,15 +125,19 @@ x509_load_private(struct key *k, struct iovec *iov)
+ if (evp == NULL)
+ return (-1);
+
+- if (evp->type == EVP_PKEY_RSA) {
++ int evp_id = EVP_PKEY_base_id(evp);
++ switch(evp_id)
++ {
++ case EVP_PKEY_RSA:
+ k->type = KEY_RSA;
+- k->data = (void *)evp->pkey.rsa;
+- evp->pkey.rsa = NULL; /* XXX */
+- } else if (evp->type == EVP_PKEY_DSA) {
++ k->data = EVP_PKEY_get1_RSA(evp);
++ break;
++ case EVP_PKEY_DSA:
+ k->type = KEY_DSA;
+- k->data = (void *)evp->pkey.dsa;
+- evp->pkey.dsa = NULL; /* XXX */
+- } else {
++ k->data = EVP_PKEY_get1_DSA(evp);
++ break;
++ default:
++ fprintf(stderr, "gzsig: error: Unknown key type %d\n", evp_id);
+ EVP_PKEY_free(evp);
+ return (-1);
+ }
+--
+2.49.1
+
diff --git a/app-crypt/gzsig/gzsig-20060130.ebuild b/app-crypt/gzsig/gzsig-20060130.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2025 Haelwenn (lanodan) Monnier <contact@hacktivis.me>
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="gzsig(1) from MirBSD"
+HOMEPAGE="http://www.mirbsd.org/htman/i386/man1/gzsig.htm http://www.mirbsd.org/cvs.cgi/src/usr.bin/gzsig/"
+SRC_URI="https://mbsd.evolvis.org/MirOS/dist/mir/gzsig/${P}.tgz"
+S="${WORKDIR}/${PN}"
+LICENSE="BSD ISC MirOS"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="dev-libs/openssl:="
+DEPEND="${RDEPEND}"
+BDEPEND="dev-build/bmake"
+
+PATCHES=(
+ "${FILESDIR}/gzsig-20060130-gzsig.c-remove-__dead-for-now.patch"
+ "${FILESDIR}/gzsig-20060130-pemrsa-move-__RCSID-into-an-header-comment.patch"
+ "${FILESDIR}/gzsig-20060130-x509.c-Update-for-OpenSSL-3.x.patch"
+ "${FILESDIR}/gzsig-20060130-Drop-usage-of-ssh.c-and-ssh2.c-for-now.patch"
+)
+
+src_configure() {
+ export MANTARGET=man
+}
+
+src_compile() {
+ bmake || die
+}
+
+src_install() {
+ einstalldocs
+ bmake DESTDIR="${D}" install || die
+}