summaryrefslogtreecommitdiffstats
path: root/network/dsniff/patches/33_sshcrypto_DES.patch
diff options
context:
space:
mode:
Diffstat (limited to 'network/dsniff/patches/33_sshcrypto_DES.patch')
-rw-r--r--network/dsniff/patches/33_sshcrypto_DES.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/network/dsniff/patches/33_sshcrypto_DES.patch b/network/dsniff/patches/33_sshcrypto_DES.patch
new file mode 100644
index 0000000000..02ff90bf09
--- /dev/null
+++ b/network/dsniff/patches/33_sshcrypto_DES.patch
@@ -0,0 +1,65 @@
+Description: improves 18_sshcrypto.patch
+ - Replace all des_ methods and structs with DES_ equivalents.
+ - Remove openssl/des_old.h include.
+ - Register dependencies on OpenSSL, glib20 and gettext.
+Author: jca
+Origin: OpenBSD
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+
+--- a/sshcrypto.c
++++ b/sshcrypto.c
+@@ -30,8 +30,8 @@
+
+ #if 0
+ struct des3_state {
+- des_key_schedule k1, k2, k3;
+- des_cblock iv1, iv2, iv3;
++ DES_key_schedule k1, k2, k3;
++ DES_cblock iv1, iv2, iv3;
+ };
+ #endif
+
+@@ -162,13 +162,13 @@
+ if ((state = malloc(sizeof(*state))) == NULL)
+ err(1, "malloc");
+
+- des_set_key((void *)sesskey, state->k1);
+- des_set_key((void *)(sesskey + 8), state->k2);
++ DES_set_key((void *)sesskey, &state->k1);
++ DES_set_key((void *)(sesskey + 8), &state->k2);
+
+ if (len <= 16)
+- des_set_key((void *)sesskey, state->k3);
++ DES_set_key((void *)sesskey, &state->k3);
+ else
+- des_set_key((void *)(sesskey + 16), state->k3);
++ DES_set_key((void *)(sesskey + 16), &state->k3);
+
+ memset(state->iv1, 0, 8);
+ memset(state->iv2, 0, 8);
+@@ -184,9 +184,9 @@
+ estate = (struct des3_state *)state;
+ memcpy(estate->iv1, estate->iv2, 8);
+
+- des_ncbc_encrypt(src, dst, len, estate->k1, &estate->iv1, DES_ENCRYPT);
+- des_ncbc_encrypt(dst, dst, len, estate->k2, &estate->iv2, DES_DECRYPT);
+- des_ncbc_encrypt(dst, dst, len, estate->k3, &estate->iv3, DES_ENCRYPT);
++ DES_ncbc_encrypt(src, dst, len, &estate->k1, &estate->iv1, DES_ENCRYPT);
++ DES_ncbc_encrypt(dst, dst, len, &estate->k2, &estate->iv2, DES_DECRYPT);
++ DES_ncbc_encrypt(dst, dst, len, &estate->k3, &estate->iv3, DES_ENCRYPT);
+ }
+
+ void
+@@ -197,8 +197,8 @@
+ dstate = (struct des3_state *)state;
+ memcpy(dstate->iv1, dstate->iv2, 8);
+
+- des_ncbc_encrypt(src, dst, len, dstate->k3, &dstate->iv3, DES_DECRYPT);
+- des_ncbc_encrypt(dst, dst, len, dstate->k2, &dstate->iv2, DES_ENCRYPT);
+- des_ncbc_encrypt(dst, dst, len, dstate->k1, &dstate->iv1, DES_DECRYPT);
++ DES_ncbc_encrypt(src, dst, len, &dstate->k3, &dstate->iv3, DES_DECRYPT);
++ DES_ncbc_encrypt(dst, dst, len, &dstate->k2, &dstate->iv2, DES_ENCRYPT);
++ DES_ncbc_encrypt(dst, dst, len, &dstate->k1, &dstate->iv1, DES_DECRYPT);
+ }
+ #endif