]> git.p6c8.net - jirafeau.git/commitdiff
Centralize legacy mcrypt decryption in `jirafeau_decrypt_file_legacy()`
authorPatrick Canterino <patrick@patrick-canterino.de>
Wed, 3 Apr 2024 12:44:01 +0000 (14:44 +0200)
committerPatrick Canterino <patrick@patrick-canterino.de>
Wed, 3 Apr 2024 12:44:01 +0000 (14:44 +0200)
Same as with `jirafeau_decrypt_file()` in a previous commit

`jirafeau_decrypt_file_legacy()` was also broken, a `mcrypt_generic_init()` was missing

f.php
lib/functions.php

diff --git a/f.php b/f.php
index e1671545ae86a417ccf651f1d27c97a590ac3933..543fc1028cfb33371a009c49d111652c2f52c7c5 100644 (file)
--- a/f.php
+++ b/f.php
@@ -254,23 +254,7 @@ elseif ($link['crypted']) {
 }
 /* Read encrypted file (legacy mode using mcrypt). */
 elseif ($link['crypted_legacy']) {
-    /* Init module */
-    $m = mcrypt_module_open('rijndael-256', '', 'ofb', '');
-    /* Extract key and iv. */
-    $hash_key = md5($crypt_key);
-    $iv = jirafeau_crypt_create_iv($hash_key, mcrypt_enc_get_iv_size($m));
-    /* Init module. */
-    mcrypt_generic_init($m, $hash_key, $iv);
-    /* Decrypt file. */
-    $r = fopen(VAR_FILES . $p . $link['hash'], 'r');
-    while (!feof($r)) {
-        $dec = mdecrypt_generic($m, fread($r, 1024));
-        print $dec;
-    }
-    fclose($r);
-    /* Cleanup. */
-    mcrypt_generic_deinit($m);
-    mcrypt_module_close($m);
+    jirafeau_decrypt_file_legacy(VAR_FILES . $p . $link['hash'], 'php://output', $crypt_key);
 }
 /* Read file. */
 else {
index 3883173cbd29ac1dcfcaaed612f0ea2eecb00261..b6672fb0ab12e683c6be14c1e6a4b859c1041304 100644 (file)
@@ -1315,6 +1315,8 @@ function jirafeau_decrypt_file_legacy($fp_src, $fp_dst, $k)
     $crypt_key = $k;
     $hash_key = md5($crypt_key);
     $iv = jirafeau_crypt_create_iv($hash_key, mcrypt_enc_get_iv_size($m));
+    /* Init module. */
+    mcrypt_generic_init($m, $hash_key, $iv);
     /* Decrypt file. */
     $r = fopen($fp_src, 'r');
     $w = fopen($fp_dst, 'c');

patrick-canterino.de