--- security/hydra/files/patch-hydra-oracle-listener.c (revision 0) +++ security/hydra/files/patch-hydra-oracle-listener.c (working copy) @@ -0,0 +1,33 @@ +--- hydra-oracle-listener.c.orig 2014-12-07 15:50:20.000000000 +0100 ++++ hydra-oracle-listener.c 2015-02-28 12:55:33.285896567 +0100 +@@ -106,7 +106,7 @@ + int ora_descrypt(unsigned char **rs, unsigned char *result, int siz) { + int i = 0; + char lastkey[8]; +- des_key_schedule ks1; ++ DES_key_schedule ks1; + unsigned char key1[8] = { 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF }; + unsigned char ivec1[] = { 0, 0, 0, 0, 0, 0, 0, 0 }; + unsigned char *desresult; +@@ -116,17 +116,17 @@ + hydra_report(stderr, "[ERROR] Can't allocate memory\n"); + return 1; + } +- des_key_sched((C_Block *) key1, ks1); +- des_ncbc_encrypt(result, desresult, siz, ks1, &ivec1, DES_ENCRYPT); ++ DES_key_sched((DES_cblock *) key1, &ks1); ++ DES_ncbc_encrypt(result, desresult, siz, &ks1, &ivec1, DES_ENCRYPT); + + for (i = 0; i < 8; i++) { + lastkey[i] = desresult[siz - 8 + i]; + } + +- des_key_sched((C_Block *) lastkey, ks1); ++ DES_key_sched((DES_cblock *) lastkey, &ks1); + memset(desresult, 0, siz); + memset(ivec1, 0, sizeof(ivec1)); +- des_ncbc_encrypt(result, desresult, siz, ks1, &ivec1, DES_ENCRYPT); ++ DES_ncbc_encrypt(result, desresult, siz, &ks1, &ivec1, DES_ENCRYPT); + + if ((*rs = malloc(siz)) == NULL) { + hydra_report(stderr, "[ERROR] Can't allocate memory\n"); --- security/hydra/files/patch-hydra-smb.c (revision 0) +++ security/hydra/files/patch-hydra-smb.c (working copy) @@ -0,0 +1,25 @@ +--- hydra-smb.c.orig 2014-12-07 15:50:24.000000000 +0100 ++++ hydra-smb.c 2015-02-28 12:46:44.362186221 +0100 +@@ -176,17 +176,17 @@ + des_key[6] = Get7Bits(key, 42); + des_key[7] = Get7Bits(key, 49); + +- des_set_odd_parity((des_cblock *) des_key); ++ DES_set_odd_parity((DES_cblock *) des_key); + } + + /* Do the DesEncryption */ + void DesEncrypt(unsigned char *clear, unsigned char *key, unsigned char *cipher) { +- des_cblock des_key; +- des_key_schedule key_schedule; ++ DES_cblock des_key; ++ DES_key_schedule key_schedule; + + MakeKey(key, des_key); +- des_set_key(&des_key, key_schedule); +- des_ecb_encrypt((des_cblock *) clear, (des_cblock *) cipher, key_schedule, 1); ++ DES_set_key(&des_key, &key_schedule); ++ DES_ecb_encrypt((DES_cblock *) clear, (DES_cblock *) cipher, &key_schedule, 1); + } + + /* --- security/hydra/files/patch-hydra-snmp.c (revision 0) +++ security/hydra/files/patch-hydra-snmp.c (working copy) @@ -0,0 +1,28 @@ +--- hydra-snmp.c.orig 2014-12-07 15:50:24.000000000 +0100 ++++ hydra-snmp.c 2015-02-28 12:52:49.999228359 +0100 +@@ -335,13 +335,13 @@ + // xor initVect with salt + for (i = 0; i < 8; i++) + initVect[i] ^= privacy_params[i]; +- des_key_sched((C_Block *) key, symcbc); +- des_ncbc_encrypt(snmpv3_get2 + 2, buf, sizeof(snmpv3_get2) - 2, symcbc, (C_Block *) (initVect), DES_ENCRYPT); ++ DES_key_sched((DES_cblock *) key, &symcbc); ++ DES_ncbc_encrypt(snmpv3_get2 + 2, buf, sizeof(snmpv3_get2) - 2, &symcbc, (DES_cblock *) (initVect), DES_ENCRYPT); + + #endif + + /* for (i = 0; i <= sizeof(snmpv3_get2) - 8; i += 8) { +- des_ncbc_encrypt(snmpv3_get2 + i, buf + i, 8, (C_Block*)(initVect), DES_ENCRYPT); ++ DES_ncbc_encrypt(snmpv3_get2 + i, buf + i, 8, (DES_cblock*)(initVect), DES_ENCRYPT); + } + // last part of buffer + if (buffer_len % 8) { +@@ -351,7 +351,7 @@ + memset(tmp_buf, 0, 8); + for (unsigned int l = start; l < buffer_len; l++) + *tmp_buf_ptr++ = buffer[l]; +- des_ncbc_encrypt(tmp_buf, buf + start, 1, symcbc, (C_Block*)(initVect), DES_ENCRYPT); ++ DES_ncbc_encrypt(tmp_buf, buf + start, 1, &symcbc, (DES_cblock*)(initVect), DES_ENCRYPT); + *out_buffer_len = buffer_len + 8 - (buffer_len % 8); + } else + *out_buffer_len = buffer_len;