--- src/dissectors/ec_ssh.c.orig	2014-07-15 20:49:09.223335992 +0200
+++ src/dissectors/ec_ssh.c	2014-07-15 20:52:27.927984161 +0200
@@ -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,
 
    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_
    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)
