]> git.p6c8.net - jirafeau/jirafeau.git/commitdiff
Merge branch 'fix_legacy_upload' into 'next-release'
authorPatrick Canterino <patrick@patrick-canterino.de>
Fri, 5 Jun 2026 14:02:08 +0000 (16:02 +0200)
committerPatrick Canterino <patrick@patrick-canterino.de>
Fri, 5 Jun 2026 14:02:08 +0000 (16:02 +0200)
Fixed file encryption on classic upload

See merge request jirafeau/Jirafeau!34

1  2 
lib/functions.php

diff --combined lib/functions.php
index 833e21b7d640606687fa3ab9802defeee084061f,e5a05b0e559ebe520eb7e99b4a06f96c061a5bbd..948a436de4843bd28f1b1210e1fcc3f379a8923f
@@@ -464,9 -464,9 +464,9 @@@ function jirafeau_handle_add_file_encry
          error_log("PHP extension sodium not loaded, won't encrypt in Jirafeau");
      }
      if ($crypt_module_enabled == true && extension_loaded('sodium') == true) {
-         $crypt_key = jirafeau_encrypt_file($file_path, $file_path.'crypt');
+         $crypt_key = jirafeau_encrypt_file($file_path, $file_path.'.crypt');
          if (strlen($crypt_key) > 0) {
-             if (rename($file_path.'crypt', $file_path) === true) {
+             if (rename($file_path.'.crypt', $file_path) === true) {
                  $crypted = true;
              }
          }
@@@ -544,7 -544,7 +544,7 @@@ function jirafeau_add_file($file, $one_
      /* hash password or empty. */
      $password = '';
      if (!empty($key)) {
 -        $password = md5($key);
 +        $password = '[SHA256]' . hash('sha256', $key);
      }
  
      /* create link file */
          $handle,
          $name . NL. $mime_type . NL. $size . NL. $password . NL. $time .
              NL . $hash. NL . ($one_time_download ? 'O' : 'R') . NL . time() .
-             NL . $ip . NL. $delete_link_code . NL . ($crypted ? 'C' : 'O')
+             NL . $ip . NL. $delete_link_code . NL . ($crypted ? 'C2' : 'O')
      );
      fclose($handle);
      $hash_link = substr(base_16_to_64(md5_file($link_tmp_name)), 0, $link_name_length);
@@@ -1088,10 -1088,10 +1088,10 @@@ function jirafeau_async_init($filename
      $w_path = $p . $ref . '_data';
      touch($w_path);
  
 -    /* md5 password or empty */
 +    /* sha256 password or empty */
      $password = '';
      if (!empty($key)) {
 -        $password = md5($key);
 +        $password = '[SHA256]' . hash('sha256', $key);
      }
  
      /* Store information. */
@@@ -1642,7 -1642,7 +1642,7 @@@ function jirafeau_escape($string
  function jirafeau_admin_session_start()
  {
      $_SESSION['admin_auth'] = true;
 -    $_SESSION['admin_csrf'] = md5(uniqid(mt_rand(), true));
 +    $_SESSION['admin_csrf'] = hash('sha256', uniqid(mt_rand(), true));
  }
  
  function jirafeau_session_end()

patrick-canterino.de