X-Git-Url: https://git.p6c8.net/jirafeau.git/blobdiff_plain/be4715096f9a63d823da90c405f500d454247989..b1c96930b34b47dd1c8f6321d62beeceb87afb00:/lib/functions.php diff --git a/lib/functions.php b/lib/functions.php index c42293b..fff8c44 100644 --- a/lib/functions.php +++ b/lib/functions.php @@ -460,8 +460,9 @@ function jirafeau_upload($file, $one_time_download, $key, $time, $ip, $crypt, $l if ($crypt == true && extension_loaded('sodium') == true) { $crypt_key = jirafeau_encrypt_file($file['tmp_name'], $file['tmp_name'].'crypt'); if (strlen($crypt_key) > 0) { - $crypted = true; - rename($file['tmp_name'].'crypt', $file['tmp_name']); + if (rename($file['tmp_name'].'crypt', $file['tmp_name']) === true) { + $crypted = true; + } } } @@ -1145,11 +1146,11 @@ function jirafeau_async_end($ref, $code, $crypt, $link_name_length, $file_hash_m $crypted = false; $crypt_key = ''; if ($crypt == true && extension_loaded('sodium') == true) { - //$crypt_key = jirafeau_encrypt_file($p, $p); $crypt_key = jirafeau_encrypt_file($p, $p.'.crypt'); if (strlen($crypt_key) > 0) { - $crypted = true; - rename($p.'.crypt', $p); + if (rename($p.'.crypt', $p) === true) { + $crypted = true; + } } } @@ -1212,15 +1213,15 @@ function jirafeau_crypt_create_iv($base, $size) } /** - * Crypt file and returns decrypt key. + * Crypt file using Sodium and returns decrypt key. * @param $fp_src file path to the file to crypt. - * @param $fp_dst file path to the file to write crypted file (could be the same). + * @param $fp_dst file path to the file to write crypted file (must not be the same). * @return decrypt key composed of the key and the iv separated by a point ('.') */ function jirafeau_encrypt_file($fp_src, $fp_dst) { $fs = filesize($fp_src); - if ($fs === false || $fs == 0 || !(extension_loaded('sodium') == true)) { + if ($fs === false || $fs == 0 || extension_loaded('sodium') == false || $fp_src == $fp_dst) { return ''; } @@ -1252,16 +1253,16 @@ function jirafeau_encrypt_file($fp_src, $fp_dst) } /** - * Decrypt file. + * Decrypt file using Sodium. * @param $fp_src file path to the file to decrypt. - * @param $fp_dst file path to the file to write decrypted file (could be the same). + * @param $fp_dst file path to the file to write decrypted file (must not be the same). * @param $k string composed of the key and the iv separated by a point ('.') * @return key used to decrypt. a string of length 0 is returned if failed. */ function jirafeau_decrypt_file($fp_src, $fp_dst, $k) { $fs = filesize($fp_src); - if ($fs === false || $fs == 0 || extension_loaded('sodium') == false) { + if ($fs === false || $fs == 0 || extension_loaded('sodium') == false || $fp_src == $fp_dst) { return false; } @@ -1290,7 +1291,7 @@ function jirafeau_decrypt_file($fp_src, $fp_dst, $k) } /** - * Decrypt file. + * Decrypt file using mcrypt. * @param $fp_src file path to the file to decrypt. * @param $fp_dst file path to the file to write decrypted file (could be the same). * @param $k string composed of the key and the iv separated by a point ('.')