summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authornia <nia@pkgsrc.org>2020-03-06 13:10:02 +0000
committernia <nia@pkgsrc.org>2020-03-06 13:10:02 +0000
commitf6310db37edbb1da8a6bb8a85f791b02416204dd (patch)
treee70f1bd0fedaaebb2279136d70b2f24c5038ebe9 /net
parent8b60d42e89c956aba36764b23a2c11d864800060 (diff)
downloadpkgsrc-f6310db37edbb1da8a6bb8a85f791b02416204dd.tar.gz
unworkable: Fix build with OpenSSL 1.1
Diffstat (limited to 'net')
-rw-r--r--net/unworkable/distinfo3
-rw-r--r--net/unworkable/patches/patch-network.c32
2 files changed, 34 insertions, 1 deletions
diff --git a/net/unworkable/distinfo b/net/unworkable/distinfo
index 4a7a8205415..4867e2f4d4f 100644
--- a/net/unworkable/distinfo
+++ b/net/unworkable/distinfo
@@ -1,7 +1,8 @@
-$NetBSD: distinfo,v 1.4 2015/11/04 00:35:42 agc Exp $
+$NetBSD: distinfo,v 1.5 2020/03/06 13:10:02 nia Exp $
SHA1 (unworkable-0.53.tar.gz) = 546dee5844fcbac42fe7ae51bc5344537e9b769d
RMD160 (unworkable-0.53.tar.gz) = a361bff35856f255be85256f9d74c3dfb11fb60e
SHA512 (unworkable-0.53.tar.gz) = e7f0ee47239c06f466434e4cfcdf4db9cce0ca9ede3d03bf5944b596c1506f9682d517963d9d69012f5512662396b19c19db854869240754f8fe4c5bb5e9b382
Size (unworkable-0.53.tar.gz) = 72053 bytes
SHA1 (patch-BSDMakefile) = 722124fc797d751cb4402132a1f662553ddce0ec
+SHA1 (patch-network.c) = 4f80be58fddedec2ff17c81622139f1e13f48e98
diff --git a/net/unworkable/patches/patch-network.c b/net/unworkable/patches/patch-network.c
new file mode 100644
index 00000000000..f84498cc806
--- /dev/null
+++ b/net/unworkable/patches/patch-network.c
@@ -0,0 +1,32 @@
+$NetBSD: patch-network.c,v 1.1 2020/03/06 13:10:02 nia Exp $
+
+Use DH_set0_pqg() for OpenSSL 1.1 compatibility
+
+https://github.com/niallo/Unworkable/commit/79d717826532850772fb49e0b22ce89087636a40.patch
+
+--- network.c.orig 2008-10-06 17:04:18.000000000 +0000
++++ network.c
+@@ -1282,13 +1282,21 @@ DH *
+ network_crypto_dh()
+ {
+ DH *dhp;
++ BIGNUM *p, *g;
+
+ if ((dhp = DH_new()) == NULL)
+ errx(1, "network_crypto_pubkey: DH_new() failure");
+- if ((dhp->p = BN_bin2bn(mse_P, CRYPTO_INT_LEN, NULL)) == NULL)
++ if ((p = BN_bin2bn(mse_P, CRYPTO_INT_LEN, NULL)) == NULL)
+ errx(1, "network_crypto_pubkey: BN_bin2bn(P) failure");
+- if ((dhp->g = BN_bin2bn(mse_G, CRYPTO_INT_LEN, NULL)) == NULL)
++ if ((g = BN_bin2bn(mse_G, CRYPTO_INT_LEN, NULL)) == NULL)
+ errx(1, "network_crypto_pubkey: BN_bin2bn(G) failure");
++#if defined(OPENSSL_VERSION_NUMBER) && (OPENSSL_VERSION_NUMBER >= 0x10100000)
++ if (DH_set0_pqg(dhp, p, NULL, g) != 1)
++ errx(1, "DH_set0_pgq failed");
++#else
++ dhp->p = p;
++ dhp->g = g;
++#endif
+ if (DH_generate_key(dhp) == 0)
+ errx(1, "network_crypto_pubkey: DH_generate_key() failure");
+