Another des_ to DES_ conversion.  I'm bound to have fat-fingered
something in one of these. ;-)

Index: patches/patch-src_dissectors_ec_ssh_c
===================================================================
RCS file: patches/patch-src_dissectors_ec_ssh_c
diff -N patches/patch-src_dissectors_ec_ssh_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_dissectors_ec_ssh_c       15 Apr 2014 10:58:59 -0000
@@ -0,0 +1,45 @@
+$OpenBSD$
+--- src/dissectors/ec_ssh.c.orig       Fri Feb  1 15:34:01 2013
++++ src/dissectors/ec_ssh.c    Tue Apr 15 04:17:44 2014
+@@ -89,8 +89,8 @@ typedef struct {
+ 
+ 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;
+ };
+ 
+ struct blowfish_state 
+@@ -603,13 +603,13 @@ static void *des3_init(u_char *sesskey, int len)
+ 
+    state = malloc(sizeof(*state));
+ 
+-   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);
+@@ -625,9 +625,9 @@ static void des3_decrypt(u_char *src, u_char *dst, int
+    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);
+ }
+ 
+ static void swap_bytes(const u_char *src, u_char *dst, int n)
-- 
Christian "naddy" Weisgerber                          na...@mips.inka.de

Reply via email to