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]

Reply via email to