Date: Thu, 2 Apr 2015 18:38:56 +0000 (UTC) From: Ruslan Makhmatkhanov <rm@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r383041 - head/security/hydra/files Message-ID: <201504021838.t32IcuMq019835@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: rm Date: Thu Apr 2 18:38:55 2015 New Revision: 383041 URL: https://svnweb.freebsd.org/changeset/ports/383041 Log: security/hydra: fix build with libressl Add corrected upstream patch, that fixing build both with LibreSSL and OpenSSL >= 1.1.0. PR: 198533 Submitted by: Bernard Spil <spil.oss@gmail.com> Added: head/security/hydra/files/patch-fix-libressl-build (contents, props changed) Added: head/security/hydra/files/patch-fix-libressl-build ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/security/hydra/files/patch-fix-libressl-build Thu Apr 2 18:38:55 2015 (r383041) @@ -0,0 +1,92 @@ +From ae324d6544e36251dedda0c5e20049d04eab776e Mon Sep 17 00:00:00 2001 +From: Bernard Spil <spil.oss@gmail.com> +Date: Thu, 12 Mar 2015 08:57:57 +0100 +Subject: [PATCH] Replace deprecated des_ and fix LibreSSL build + +uses deprecated des_ methods and types that were marked deprecated by +OpenSSL 0.9.7 and will be removed in OpenSSL 1.1.0 . This patch replaces +the des_ methods and types with their new DES_ counterparts. This +enables building with LibreSSL as OpenSSL library. +--- + hydra-oracle-listener.c | 10 +++++----- + hydra-smb.c | 10 +++++----- + hydra-snmp.c | 4 ++-- + 3 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/hydra-oracle-listener.c b/hydra-oracle-listener.c +index 242bd61..6636705 100644 +--- hydra-oracle-listener.c ++++ hydra-oracle-listener.c +@@ -106,7 +106,7 @@ int convert_byteorder(unsigned char **result, int size) { + 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 @@ int ora_descrypt(unsigned char **rs, unsigned char *result, int siz) { + 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"); +diff --git a/hydra-smb.c b/hydra-smb.c +index 0d6fb2e..2d9ee7f 100644 +--- hydra-smb.c ++++ hydra-smb.c +@@ -176,17 +176,17 @@ static void MakeKey(unsigned char *key, unsigned char *des_key) { + 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); + } + + /* +diff --git a/hydra-snmp.c b/hydra-snmp.c +index 5649bb7..21ada7f 100644 +--- hydra-snmp.c ++++ hydra-snmp.c +@@ -335,8 +335,8 @@ int start_snmp(int s, char *ip, int port, unsigned char options, char *miscptr, + // 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 +
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201504021838.t32IcuMq019835>