This switches mail/mixmaster from the ancient des_ API to DES_.
ok?
Index: patches/patch-Src_crypto_c
===================================================================
RCS file: patches/patch-Src_crypto_c
diff -N patches/patch-Src_crypto_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-Src_crypto_c 14 Apr 2014 19:46:37 -0000
@@ -0,0 +1,63 @@
+$OpenBSD$
+--- Src/crypto.c.orig Sun Nov 9 12:12:02 2003
++++ Src/crypto.c Mon Apr 14 21:39:34 2014
+@@ -374,23 +374,23 @@ int pk_encrypt(BUFFER *in, BUFFER *keybuf)
+
+ int buf_crypt(BUFFER *buf, BUFFER *key, BUFFER *iv, int enc)
+ {
+- des_key_schedule ks1;
+- des_key_schedule ks2;
+- des_key_schedule ks3;
+- des_cblock i;
++ DES_key_schedule ks1;
++ DES_key_schedule ks2;
++ DES_key_schedule ks3;
++ DES_cblock i;
+
+ assert(enc == ENCRYPT || enc == DECRYPT);
+ assert((key->length == 16 || key->length == 24) && iv->length == 8);
+ assert(buf->length % 8 == 0);
+
+ memcpy(i, iv->data, 8); /* leave iv buffer unchanged */
+- des_set_key((const_des_cblock *) key->data, ks1);
+- des_set_key((const_des_cblock *) (key->data + 8), ks2);
++ DES_set_key((const_DES_cblock *) key->data, &ks1);
++ DES_set_key((const_DES_cblock *) (key->data + 8), &ks2);
+ if (key->length == 16)
+- des_set_key((const_des_cblock *) key->data, ks3);
++ DES_set_key((const_DES_cblock *) key->data, &ks3);
+ else
+- des_set_key((const_des_cblock *) (key->data + 16), ks3);
+- des_ede3_cbc_encrypt(buf->data, buf->data, buf->length, ks1, ks2, ks3,
++ DES_set_key((const_DES_cblock *) (key->data + 16), &ks3);
++ DES_ede3_cbc_encrypt(buf->data, buf->data, buf->length, &ks1, &ks2, &ks3,
+ &i, enc);
+ return (0);
+ }
+@@ -398,18 +398,18 @@ int buf_crypt(BUFFER *buf, BUFFER *key, BUFFER *iv, in
+ int buf_3descrypt(BUFFER *buf, BUFFER *key, BUFFER *iv, int enc)
+ {
+ int n = 0;
+- des_key_schedule ks1;
+- des_key_schedule ks2;
+- des_key_schedule ks3;
++ DES_key_schedule ks1;
++ DES_key_schedule ks2;
++ DES_key_schedule ks3;
+
+ assert(enc == ENCRYPT || enc == DECRYPT);
+ assert(key->length == 24 && iv->length == 8);
+
+- des_set_key((const_des_cblock *) key->data, ks1);
+- des_set_key((const_des_cblock *) (key->data + 8), ks2);
+- des_set_key((const_des_cblock *) (key->data + 16), ks3);
+- des_ede3_cfb64_encrypt(buf->data, buf->data, buf->length, ks1, ks2, ks3,
+- (des_cblock *) iv->data, &n, enc);
++ DES_set_key((const_DES_cblock *) key->data, &ks1);
++ DES_set_key((const_DES_cblock *) (key->data + 8), &ks2);
++ DES_set_key((const_DES_cblock *) (key->data + 16), &ks3);
++ DES_ede3_cfb64_encrypt(buf->data, buf->data, buf->length, &ks1, &ks2, &ks3,
++ (DES_cblock *) iv->data, &n, enc);
+ return (0);
+ }
+
Index: patches/patch-Src_crypto_h
===================================================================
RCS file: patches/patch-Src_crypto_h
diff -N patches/patch-Src_crypto_h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-Src_crypto_h 14 Apr 2014 19:46:37 -0000
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- Src/crypto.h.orig Sun Nov 9 12:12:08 2003
++++ Src/crypto.h Mon Apr 14 21:31:57 2014
+@@ -15,7 +15,7 @@
+
+ #ifdef USE_OPENSSL
+ #include <openssl/opensslv.h>
+-#if (OPENSSL_VERSION_NUMBER < 0x0903100)
++#if (OPENSSL_VERSION_NUMBER < 0x0907100)
+ #error "This version of OpenSSL is not supported. Please get a more current
version from http://www.openssl.org"
+ #endif /* version check */
+ #include <openssl/des.h>
Index: patches/patch-Src_mail_c
===================================================================
RCS file: /cvs/ports/mail/mixmaster/patches/patch-Src_mail_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-Src_mail_c
--- patches/patch-Src_mail_c 23 Nov 2003 18:52:40 -0000 1.1
+++ patches/patch-Src_mail_c 14 Apr 2014 19:46:37 -0000
@@ -1,7 +1,7 @@
$OpenBSD: patch-Src_mail_c,v 1.1 2003/11/23 18:52:40 sturm Exp $
---- Src/mail.c.orig 2003-11-23 19:32:51.000000000 +0100
-+++ Src/mail.c 2003-11-23 19:34:17.000000000 +0100
-@@ -152,7 +152,7 @@ int sendmail(BUFFER *message, char *from
+--- Src/mail.c.orig Sun Nov 9 12:12:04 2003
++++ Src/mail.c Mon Apr 14 21:25:49 2014
+@@ -152,7 +152,7 @@ int sendmail(BUFFER *message, char *from, BUFFER *addr
/* Step 2: Stat the file. Wait for ENOENT as a response. */
for (count = 0;; count++) {
Index: patches/patch-Src_pcre-2_08_pcre_c
===================================================================
RCS file: /cvs/ports/mail/mixmaster/patches/patch-Src_pcre-2_08_pcre_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-Src_pcre-2_08_pcre_c
--- patches/patch-Src_pcre-2_08_pcre_c 27 Aug 2005 15:57:31 -0000 1.1
+++ patches/patch-Src_pcre-2_08_pcre_c 14 Apr 2014 19:46:37 -0000
@@ -1,7 +1,7 @@
$OpenBSD: patch-Src_pcre-2_08_pcre_c,v 1.1 2005/08/27 15:57:31 naddy Exp $
---- Src/pcre-2.08/pcre.c.orig Fri Aug 26 20:12:43 2005
-+++ Src/pcre-2.08/pcre.c Fri Aug 26 20:16:47 2005
-@@ -435,14 +435,30 @@ read_repeat_counts(const uschar *p, int
+--- Src/pcre-2.08/pcre.c.orig Sun Nov 9 12:11:50 2003
++++ Src/pcre-2.08/pcre.c Mon Apr 14 21:25:49 2014
+@@ -435,14 +435,30 @@ read_repeat_counts(const uschar *p, int *minp, int *ma
int min = 0;
int max = -1;
Index: patches/patch-Src_pgpcreat_c
===================================================================
RCS file: patches/patch-Src_pgpcreat_c
diff -N patches/patch-Src_pgpcreat_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-Src_pgpcreat_c 14 Apr 2014 19:46:37 -0000
@@ -0,0 +1,58 @@
+$OpenBSD$
+--- Src/pgpcreat.c.orig Sun Nov 9 12:09:44 2003
++++ Src/pgpcreat.c Mon Apr 14 21:37:16 2014
+@@ -159,11 +159,11 @@ static int pgp_ideaencrypt(BUFFER *in, BUFFER *out, BU
+
+ static int pgp_3desencrypt(BUFFER *in, BUFFER *out, BUFFER *key, int mdc)
+ {
+- des_cblock iv;
++ DES_cblock iv;
+ int i, n = 0;
+- des_key_schedule ks1;
+- des_key_schedule ks2;
+- des_key_schedule ks3;
++ DES_key_schedule ks1;
++ DES_key_schedule ks2;
++ DES_key_schedule ks3;
+ SHA_CTX c;
+
+ assert(key->length == 25);
+@@ -171,9 +171,9 @@ static int pgp_3desencrypt(BUFFER *in, BUFFER *out, BU
+ for (i = 0; i < 8; i++)
+ iv[i] = 0;
+
+- des_set_key((const_des_cblock *) (key->data + 1), ks1);
+- des_set_key((const_des_cblock *) (key->data + 9), ks2);
+- des_set_key((const_des_cblock *) (key->data+ 17), ks3);
++ DES_set_key((const_DES_cblock *) (key->data + 1), &ks1);
++ DES_set_key((const_DES_cblock *) (key->data + 9), &ks2);
++ DES_set_key((const_DES_cblock *) (key->data+ 17), &ks3);
+
+ if (mdc) {
+ mdc = 1;
+@@ -187,21 +187,21 @@ static int pgp_3desencrypt(BUFFER *in, BUFFER *out, BU
+ SHA1_Update(&c, in->data, in->length);
+ }
+ n = 0;
+- des_ede3_cfb64_encrypt(out->data + mdc, out->data + mdc, 10, ks1, ks2, ks3,
&iv, &n,
++ DES_ede3_cfb64_encrypt(out->data + mdc, out->data + mdc, 10, &ks1, &ks2,
&ks3, &iv, &n,
+ ENCRYPT);
+ if (!mdc) {
+ iv[6] = iv[0], iv[7] = iv[1];
+ memcpy(iv, out->data + 2, 6);
+ n = 0;
+ }
+- des_ede3_cfb64_encrypt(in->data, out->data + 10 + mdc, in->length, ks1,
ks2, ks3,
++ DES_ede3_cfb64_encrypt(in->data, out->data + 10 + mdc, in->length, &ks1,
&ks2, &ks3,
+ &iv, &n, ENCRYPT);
+ if (mdc) {
+ SHA1_Update(&c, "\xD3\x14", 2); /* 0xD3 = 0xC0 | PGP_MDC */
+- des_ede3_cfb64_encrypt("\xD3\x14", out->data + 11 + in->length, 2, ks1,
ks2, ks3,
++ DES_ede3_cfb64_encrypt("\xD3\x14", out->data + 11 + in->length, 2, &ks1,
&ks2, &ks3,
+ &iv, &n, ENCRYPT);
+ SHA1_Final(out->data + 13 + in->length, &c);
+- des_ede3_cfb64_encrypt(out->data + 13 + in->length, out->data + 13 +
in->length, 20, ks1, ks2, ks3,
++ DES_ede3_cfb64_encrypt(out->data + 13 + in->length, out->data + 13 +
in->length, 20, &ks1, &ks2, &ks3,
+ &iv, &n, ENCRYPT);
+ }
+ return (0);
Index: patches/patch-Src_pgpget_c
===================================================================
RCS file: patches/patch-Src_pgpget_c
diff -N patches/patch-Src_pgpget_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-Src_pgpget_c 14 Apr 2014 19:46:37 -0000
@@ -0,0 +1,48 @@
+$OpenBSD$
+--- Src/pgpget.c.orig Sun Nov 9 12:12:13 2003
++++ Src/pgpget.c Mon Apr 14 21:34:34 2014
+@@ -402,12 +402,12 @@ end:
+ static int pgp_3desdecrypt(BUFFER *in, BUFFER *out, BUFFER *key, int mdc)
+ {
+ int err = 0;
+- des_cblock iv;
++ DES_cblock iv;
+ byte hdr[10];
+ int i, n;
+- des_key_schedule ks1;
+- des_key_schedule ks2;
+- des_key_schedule ks3;
++ DES_key_schedule ks1;
++ DES_key_schedule ks2;
++ DES_key_schedule ks3;
+ SHA_CTX c;
+ char md[20]; /* we could make hdr 20 bytes long and reuse it for md */
+
+@@ -425,12 +425,12 @@ static int pgp_3desdecrypt(BUFFER *in, BUFFER *out, BU
+ for (i = 0; i < 8; i++)
+ iv[i] = 0;
+
+- des_set_key((const_des_cblock *) key->data, ks1);
+- des_set_key((const_des_cblock *) (key->data + 8), ks2);
+- des_set_key((const_des_cblock *) (key->data+ 16), ks3);
++ DES_set_key((const_DES_cblock *) key->data, &ks1);
++ DES_set_key((const_DES_cblock *) (key->data + 8), &ks2);
++ DES_set_key((const_DES_cblock *) (key->data+ 16), &ks3);
+
+ n = 0;
+- des_ede3_cfb64_encrypt(in->data + mdc, hdr, 10, ks1, ks2, ks3, &iv, &n,
DECRYPT);
++ DES_ede3_cfb64_encrypt(in->data + mdc, hdr, 10, &ks1, &ks2, &ks3, &iv, &n,
DECRYPT);
+ if (n != 2 || hdr[8] != hdr[6] || hdr[9] != hdr[7]) {
+ err = -1;
+ goto end;
+@@ -443,8 +443,8 @@ static int pgp_3desdecrypt(BUFFER *in, BUFFER *out, BU
+ memcpy(iv, in->data + 2, 6);
+ n = 0;
+ }
+- des_ede3_cfb64_encrypt(in->data + 10 + mdc, out->data, in->length - 10 +
mdc, ks1,
+- ks2, ks3, &iv, &n, DECRYPT);
++ DES_ede3_cfb64_encrypt(in->data + 10 + mdc, out->data, in->length - 10 +
mdc, &ks1,
++ &ks2, &ks3, &iv, &n, DECRYPT);
+ if (mdc) {
+ if (out->length > 22) {
+ out->length -= 22;
--
Christian "naddy" Weisgerber [email protected]