From 379a0267c27b3731c60b7221f8f533aaf418fcae Mon Sep 17 00:00:00 2001 From: Jerome Jutteau Date: Tue, 5 Sep 2017 00:24:08 +0200 Subject: [PATCH 1/1] [TASK] Remove Alias support Some time ago, this was a weird idea. It's useless to keep this, it's just dead garbage code. Signed-off-by: Jerome Jutteau --- f.php | 7 -- install.php | 2 +- lib/functions.php | 179 ---------------------------------------------- lib/settings.php | 1 - script.php | 66 ----------------- 5 files changed, 1 insertion(+), 254 deletions(-) diff --git a/f.php b/f.php index 79f437e..bcf0848 100644 --- a/f.php +++ b/f.php @@ -45,13 +45,6 @@ if (!preg_match('/[0-9a-zA-Z_-]+$/', $link_name)) { } $link = jirafeau_get_link($link_name); -if (count($link) == 0) { - /* Try alias. */ - $alias = jirafeau_get_alias(md5($link_name)); - if (count($alias) > 0) { - $link = jirafeau_get_link($alias["destination"]); - } -} if (count($link) == 0) { require(JIRAFEAU_ROOT.'lib/template/header.php'); echo '

' . t('Sorry, the requested file is not found') . diff --git a/install.php b/install.php index df6c599..8c0f686 100644 --- a/install.php +++ b/install.php @@ -83,7 +83,7 @@ function jirafeau_check_var_dir($path) '
' . $mkdir_str2); } - foreach (array('files', 'links', 'async', 'alias') as $subdir) { + foreach (array('files', 'links', 'async') as $subdir) { $subpath = $path.$subdir; if (!jirafeau_mkdir($subpath) || !jirafeau_is_writable($subpath)) { diff --git a/lib/functions.php b/lib/functions.php index 0bb51db..e4bfbb5 100644 --- a/lib/functions.php +++ b/lib/functions.php @@ -1214,185 +1214,6 @@ function hex_to_base64($hex) return base64_encode($b); } -/** - * Read alias informations - * @return array containing informations. - */ -function jirafeau_get_alias($hash) -{ - $out = array(); - $link = VAR_ALIAS . s2p("$hash") . $hash; - - if (!file_exists($link)) { - return $out; - } - - $c = file($link); - $out['md5_password'] = trim($c[0]); - $out['ip'] = trim($c[1]); - $out['update_date'] = trim($c[2]); - $out['destination'] = trim($c[3], NL); - - return $out; -} - -/** Create an alias to a jirafeau's link. - * @param $alias alias name - * @param $destination reference of the destination - * @param $password password to protect alias - * @param $ip client's IP - * @return a string containing the edit code of the alias or the string "Error" - */ -function jirafeau_alias_create($alias, $destination, $password, $ip) -{ - /* Check that alias and password are long enough. */ - if (strlen($alias) < 8 || - strlen($alias) > 32 || - strlen($password) < 8 || - strlen($password) > 32) { - return 'Error'; - } - - /* Check that destination exists. */ - $l = jirafeau_get_link($destination); - if (!count($l)) { - return 'Error'; - } - - /* Check that alias does not already exists. */ - $alias = md5($alias); - $p = VAR_ALIAS . s2p($alias); - if (file_exists($p)) { - return 'Error'; - } - - /* Create alias folder. */ - @mkdir($p, 0755, true); - if (!file_exists($p)) { - return 'Error'; - } - - /* Generate password. */ - $md5_password = md5($password); - - /* Store informations. */ - $p .= $alias; - $handle = fopen($p, 'w'); - fwrite($handle, - $md5_password . NL . - $ip . NL . - time() . NL . - $destination . NL); - fclose($handle); - - return 'Ok'; -} - -/** Update an alias. - * @param $alias alias to update - * @param $destination reference of the new destination - * @param $password password to protect alias - * @param $new_password optional new password to protect alias - * @param $ip client's IP - * @return "Ok" or "Error" string - */ -function jirafeau_alias_update($alias, $destination, $password, - $new_password, $ip) -{ - $alias = md5($alias); - /* Check that alias exits. */ - $a = jirafeau_get_alias($alias); - if (!count($a)) { - return 'Error'; - } - - /* Check that destination exists. */ - $l = jirafeau_get_link($a["destination"]); - if (!count($l)) { - return 'Error'; - } - - /* Check password. */ - if ($a["md5_password"] != md5($password)) { - return 'Error'; - } - - $p = $a['md5_password']; - if (strlen($new_password) >= 8 && - strlen($new_password) <= 32) { - $p = md5($new_password); - } elseif (strlen($new_password) > 0) { - return 'Error'; - } - - /* Rewrite informations. */ - $p = VAR_ALIAS . s2p($alias) . $alias; - $handle = fopen($p, 'w'); - fwrite($handle, - $p . NL . - $ip . NL . - time() . NL . - $destination . NL); - fclose($handle); - return 'Ok'; -} - -/** Get an alias. - * @param $alias alias to get - * @return alias destination or "Error" string - */ -function jirafeau_alias_get($alias) -{ - $alias = md5($alias); - /* Check that alias exits. */ - $a = jirafeau_get_alias($alias); - if (!count($a)) { - return 'Error'; - } - - return $a['destination']; -} - -function jirafeau_clean_rm_alias($alias) -{ - $p = s2p("$alias"); - if (file_exists(VAR_ALIAS . $p . $alias)) { - unlink(VAR_ALIAS . $p . $alias); - } - $parse = VAR_ALIAS . $p; - $scan = array(); - while (file_exists($parse) - && ($scan = scandir($parse)) - && count($scan) == 2 // '.' and '..' folders => empty. - && basename($parse) != basename(VAR_ALIAS)) { - rmdir($parse); - $parse = substr($parse, 0, strlen($parse) - strlen(basename($parse)) - 1); - } -} - -/** Delete an alias. - * @param $alias alias to delete - * @param $password password to protect alias - * @return "Ok" or "Error" string - */ -function jirafeau_alias_delete($alias, $password) -{ - $alias = md5($alias); - /* Check that alias exits. */ - $a = jirafeau_get_alias($alias); - if (!count($a)) { - return "Error"; - } - - /* Check password. */ - if ($a["md5_password"] != md5($password)) { - return 'Error'; - } - - jirafeau_clean_rm_alias($alias); - return 'Ok'; -} - /** * Replace markers in templates. * diff --git a/lib/settings.php b/lib/settings.php index 3f7094c..1109d9a 100644 --- a/lib/settings.php +++ b/lib/settings.php @@ -39,7 +39,6 @@ define('JIRAFEAU_VERSION', '3.2.1'); define('VAR_FILES', $cfg['var_root'] . 'files/'); define('VAR_LINKS', $cfg['var_root'] . 'links/'); define('VAR_ASYNC', $cfg['var_root'] . 'async/'); -define('VAR_ALIAS', $cfg['var_root'] . 'alias/'); // helping variable to build absolute link to // root of the domain without handling the URL scheme diff --git a/script.php b/script.php index ffd2c0e..50726f2 100644 --- a/script.php +++ b/script.php @@ -363,72 +363,6 @@ fi exit; } } -/* Create alias. */ -elseif (isset($_GET['alias_create'])) { - if (isset($_POST['upload_password'])){ - if (!jirafeau_challenge_upload($cfg, get_ip_address($cfg), $_POST['upload_password'])) { - echo 'Error 14: Invalid password'; - exit; - } - } else { - if (!jirafeau_challenge_upload($cfg, get_ip_address($cfg), null)) { - echo 'Error 13: No password nor allowed IP'; - exit; - } - } - - if (!isset($_POST['alias']) || - !isset($_POST['destination']) || - !isset($_POST['password'])) { - echo 'Error 15'; - exit; - } - - echo jirafeau_alias_create($_POST['alias'], - $_POST['destination'], - $_POST['password'], - $ip); -} -/* Get alias. */ -elseif (isset($_GET['alias_get'])) { - if (!isset($_POST['alias'])) { - echo 'Error 16'; - exit; - } - - echo jirafeau_alias_get($_POST['alias']); -} -/* Update alias. */ -elseif (isset($_GET['alias_update'])) { - if (!isset($_POST['alias']) || - !isset($_POST['destination']) || - !isset($_POST['password'])) { - echo 'Error 17'; - exit; - } - - $new_password = ''; - if (isset($_POST['new_password'])) { - $new_password = $_POST['new_password']; - } - - echo jirafeau_alias_update($_POST['alias'], - $_POST['destination'], - $_POST['password'], - $new_password, - get_ip_address($cfg)); -} -/* Delete alias. */ -elseif (isset($_GET['alias_delete'])) { - if (!isset($_POST['alias']) || - !isset($_POST['password'])) { - echo 'Error 18'; - exit; - } - - echo jirafeau_alias_delete($_POST['alias'], - $_POST['password']); -} /* Initialize an asynchronous upload. */ elseif (isset($_GET['init_async'])) { if (isset($_POST['upload_password'])){ -- 2.34.1