summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Auty <ikelos@gentoo.org>2016-07-16 19:19:52 +0100
committerMike Auty <ikelos@gentoo.org>2016-07-16 19:19:52 +0100
commitd43d9a5220f0085765f4940dbd0bb25cfb3cd72d (patch)
tree324f07673903b4ec9d4ed433c52c981c8c830745 /app-crypt/ophcrack/files
parentvirtual/perl-Test-Simple: remove dev-lang/perl fallback for perl-5.20 (diff)
downloadgentoo-d43d9a5220f0085765f4940dbd0bb25cfb3cd72d.tar.gz
gentoo-d43d9a5220f0085765f4940dbd0bb25cfb3cd72d.tar.bz2
gentoo-d43d9a5220f0085765f4940dbd0bb25cfb3cd72d.zip
app-crypt/ophcrack: Fix issue 588902 (deprecated ssl functions).
This fixes the deprecation of the des_ functions in favour of DES_ functions in openssl (and libressl which appears to have done the deprecation early). The revision was not bumped since this is an issue that exhibits at build time only. Package-Manager: portage-2.3.0
Diffstat (limited to 'app-crypt/ophcrack/files')
-rw-r--r--app-crypt/ophcrack/files/ophcrack-openssl-des.patch92
1 files changed, 92 insertions, 0 deletions
diff --git a/app-crypt/ophcrack/files/ophcrack-openssl-des.patch b/app-crypt/ophcrack/files/ophcrack-openssl-des.patch
new file mode 100644
index 000000000000..2515c178abb7
--- /dev/null
+++ b/app-crypt/ophcrack/files/ophcrack-openssl-des.patch
@@ -0,0 +1,92 @@
+--- a/src/lmtable.c 2013-06-04 07:42:47 UTC
++++ b/src/lmtable.c
+@@ -470,8 +470,8 @@ void lmtable_mkredux(table_t *tbl, uchar
+ /*-------------------------------------------------------------------------*/
+ void lmtable_mkhash(uchar_t *pwd, uchar_t *hash) {
+ uchar_t key[8];
+- des_key_schedule ks;
+- des_cblock *magic = (des_cblock*)lmmagic;
++ DES_key_schedule ks;
++ DES_cblock *magic = (DES_cblock*)lmmagic;
+
+ key[0] = pwd[0];
+ key[1] = (pwd[0] << 7) | (pwd[1] >> 1);
+@@ -482,7 +482,7 @@ void lmtable_mkhash(uchar_t *pwd, uchar_
+ key[6] = (pwd[5] << 2) | (pwd[6] >> 6);
+ key[7] = (pwd[6] << 1) ;
+
+- des_set_odd_parity(&key);
+- des_set_key(&key, ks);
+- des_ecb_encrypt(magic, (des_cblock*)hash, ks, DES_ENCRYPT);
++ DES_set_odd_parity(&key);
++ DES_set_key(&key, &ks);
++ DES_ecb_encrypt(magic, (DES_cblock*)hash, &ks, DES_ENCRYPT);
+ }
+
+--- a/src/samdump2/samdump2.c 2015-03-30 02:26:33 UTC
++++ b/src/samdump2/samdump2.c
+@@ -71,7 +71,7 @@ void str_to_key(unsigned char *str,unsig
+ for (i=0;i<8;i++) {
+ key[i] = (key[i]<<1);
+ }
+- des_set_odd_parity((des_cblock *)key);
++ DES_set_odd_parity((DES_cblock *)key);
+ }
+
+ /*
+@@ -209,8 +209,8 @@ unsigned char* utf16_to_utf8 (unsigned c
+ unsigned char hbootkey[0x20];
+
+ /* Des */
+- des_key_schedule ks1, ks2;
+- des_cblock deskey1, deskey2;
++ DES_key_schedule ks1, ks2;
++ DES_cblock deskey1, deskey2;
+
+ int i, j;
+
+@@ -418,15 +418,15 @@ unsigned char* utf16_to_utf8 (unsigned c
+
+ /* Get the two decrpt keys. */
+ sid_to_key1(rid,(unsigned char *)deskey1);
+- des_set_key_checked((des_cblock *)deskey1,ks1);
++ DES_set_key_checked((DES_cblock *)deskey1, &ks1);
+ sid_to_key2(rid,(unsigned char *)deskey2);
+- des_set_key_unchecked((des_cblock *)deskey2,ks2);
++ DES_set_key_unchecked((DES_cblock *)deskey2, &ks2);
+
+ /* Decrypt the lanman password hash as two 8 byte blocks. */
+- des_ecb_encrypt((des_cblock *)obfkey,
+- (des_cblock *)fb, ks1, DES_DECRYPT);
+- des_ecb_encrypt((des_cblock *)(obfkey + 8),
+- (des_cblock *)&fb[8], ks2, DES_DECRYPT);
++ DES_ecb_encrypt((DES_cblock *)obfkey,
++ (DES_cblock *)fb, &ks1, DES_DECRYPT);
++ DES_ecb_encrypt((DES_cblock *)(obfkey + 8),
++ (DES_cblock *)&fb[8], &ks2, DES_DECRYPT);
+
+
+
+@@ -471,16 +471,16 @@ unsigned char* utf16_to_utf8 (unsigned c
+ if (lm_size != 0x14) {
+ /* Get the two decrpt keys. */
+ sid_to_key1(rid,(unsigned char *)deskey1);
+- des_set_key((des_cblock *)deskey1,ks1);
++ DES_set_key((DES_cblock *)deskey1, &ks1);
+ sid_to_key2(rid,(unsigned char *)deskey2);
+- des_set_key((des_cblock *)deskey2,ks2);
++ DES_set_key((DES_cblock *)deskey2, &ks2);
+ }
+
+ /* Decrypt the NT md4 password hash as two 8 byte blocks. */
+- des_ecb_encrypt((des_cblock *)obfkey,
+- (des_cblock *)fb, ks1, DES_DECRYPT);
+- des_ecb_encrypt((des_cblock *)(obfkey + 8),
+- (des_cblock *)&fb[8], ks2, DES_DECRYPT);
++ DES_ecb_encrypt((DES_cblock *)obfkey,
++ (DES_cblock *)fb, &ks1, DES_DECRYPT);
++ DES_ecb_encrypt((DES_cblock *)(obfkey + 8),
++ (DES_cblock *)&fb[8], &ks2, DES_DECRYPT);
+
+ /* sf27 wrap to sf25 */
+ //sf27( obfkey, (int*)&rid, fb );