[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 <mojo@couak.net>
This commit is contained in:
Jerome Jutteau 2017-09-05 00:24:08 +02:00 committed by Mojo
parent d76baeb068
commit 379a0267c2
5 changed files with 1 additions and 254 deletions

7
f.php
View File

@ -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 '<div class="error"><p>' . t('Sorry, the requested file is not found') .

View File

@ -83,7 +83,7 @@ function jirafeau_check_var_dir($path)
'<br />' . $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)) {

View File

@ -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.
*

View File

@ -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

View File

@ -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'])){