From b4555a166bb7909895334e60da460e0ee59d6f72 Mon Sep 17 00:00:00 2001
From: Victor LABORIE
Date: Sun, 17 Dec 2017 22:11:09 +0100
Subject: [PATCH] Remove useless functions.php, common.php and vendor/evolibs
---
README.md | 1 -
htdocs/admin.php | 2 -
htdocs/alias.php | 2 -
htdocs/compte.php | 2 -
htdocs/domaine.php | 2 -
htdocs/lib/class.ldapdomain.php | 2 +-
htdocs/lib/common.php | 65 -------
htdocs/lib/config.php | 8 +-
htdocs/lib/functions.php | 323 -------------------------------
htdocs/vendor/evolibs/Auth.php | 56 ------
htdocs/vendor/evolibs/EvoLog.php | 56 ------
htdocs/vendor/evolibs/Html.php | 101 ----------
htdocs/vendor/evolibs/Ldap.php | 189 ------------------
htdocs/vendor/evolibs/Math.php | 38 ----
14 files changed, 3 insertions(+), 844 deletions(-)
delete mode 100644 htdocs/lib/common.php
delete mode 100644 htdocs/lib/functions.php
delete mode 100644 htdocs/vendor/evolibs/Auth.php
delete mode 100644 htdocs/vendor/evolibs/EvoLog.php
delete mode 100644 htdocs/vendor/evolibs/Html.php
delete mode 100644 htdocs/vendor/evolibs/Ldap.php
delete mode 100644 htdocs/vendor/evolibs/Math.php
diff --git a/README.md b/README.md
index b405a6b..28ded8e 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,6 @@ Evolix trademark and logo are not freely reusable and are protected by copyright
Vendor files in htdocs/vendor have their own license :
-* [Evolibs](http://evolix.com/) : GPLv2+
* [Bootstrap](https://getbootstrap.com/) : MIT
* [Jquery](https://jquery.org/) : MIT
* [DataTables](https://www.datatables.net/) : MIT
diff --git a/htdocs/admin.php b/htdocs/admin.php
index 7ef3ab3..94bcf41 100644
--- a/htdocs/admin.php
+++ b/htdocs/admin.php
@@ -6,8 +6,6 @@ require_once("lib/config.php");
// Force authentication on this page
require_once("lib/auth.php");
-require_once("lib/common.php");
-
if (empty($_GET['domain'])) {
header("location: superadmin.php\n\n");
exit(1);
diff --git a/htdocs/alias.php b/htdocs/alias.php
index 466590d..e71d23c 100644
--- a/htdocs/alias.php
+++ b/htdocs/alias.php
@@ -6,8 +6,6 @@ require_once("lib/config.php");
// Force authentication on this page
require_once("lib/auth.php");
-require_once('lib/common.php');
-
include('inc/haut.php');
include('inc/debut.php');
diff --git a/htdocs/compte.php b/htdocs/compte.php
index 387f8b5..7d8c5fe 100644
--- a/htdocs/compte.php
+++ b/htdocs/compte.php
@@ -6,8 +6,6 @@ require_once("lib/config.php");
// Force authentication on this page
require_once("lib/auth.php");
-require_once('lib/common.php');
-
include('inc/haut.php');
include('inc/debut.php');
diff --git a/htdocs/domaine.php b/htdocs/domaine.php
index 48587d2..27ceaf1 100644
--- a/htdocs/domaine.php
+++ b/htdocs/domaine.php
@@ -6,8 +6,6 @@ require_once("lib/config.php");
// Force authentication on this page
require_once("lib/auth.php");
-require_once("lib/common.php");
-
include("inc/haut.php");
include("inc/debut.php");
diff --git a/htdocs/lib/class.ldapdomain.php b/htdocs/lib/class.ldapdomain.php
index 47902d2..83cce8c 100644
--- a/htdocs/lib/class.ldapdomain.php
+++ b/htdocs/lib/class.ldapdomain.php
@@ -71,7 +71,7 @@ class LdapDomain extends LdapServer {
public function addAccount($uid,$name,$password,$active=false,$admin=false,$accountactive=false,$courieractive=false,$webmailactive=false,$authsmtpactive=false,$amavisBypassSpamChecks=false) {
global $conf;
- if (badname($uid)) {
+ if (!preg_match('/^([a-z0-9][a-z0-9\-\.\_]{0,28}[a-z0-9])$/', $uid)) {
throw new Exception("Erreur, $name est un nom invalide.");
}
$mail = $uid.'@'.$this->getName();
diff --git a/htdocs/lib/common.php b/htdocs/lib/common.php
deleted file mode 100644
index 3eb0224..0000000
--- a/htdocs/lib/common.php
+++ /dev/null
@@ -1,65 +0,0 @@
-" . $msg . "
\n";
-}
-
-// teste si l'utilisateur est superadmin
-function superadmin($login) {
-
- global $conf;
-
- foreach ($conf['admin']['logins'] as $admin) {
- if ( Html::clean($login) == $admin ) {
- return TRUE;
- }
- }
- return FALSE;
-}
-
-
-// execution du script shell associe
-function evoexec($cmd) {
- //exec(SUBIN . " " . SUUSER . " -c " . SUDOBIN . " '$cmd'");
- return exec(SUDOBIN . " " . SUDOSCRIPT . " -p " . SUDOPASS . " $cmd");
-}
-
-
-// retourne le quota d'un utilisateur ou d'un groupe
-function getquota($who,$what) {
-
-global $conf;
-
- if ( $what == 'user') {
- $quota = evoexec("-qu $who");
- } elseif ( $what == 'group') {
- if ( $conf['domaines']['driver'] == 'file' ) {
- $quota = evoexec("-s");
- } elseif ( $conf['domaines']['driver'] == 'ldap' ) {
- $quota = evoexec("-qg $who");
- }
- }
-
- list ($now,$limit) = explode("/",$quota);
- $now = $now / 1024;
- $limit = $limit / 1024;
- $quota = "" . Math::arrondi($now). "M/" .Math::arrondi($limit). "M";
-
- return $quota;
-}
-
-// commande shell a lancer pour creer un utilisateur
-function unix_add($user,$group=NULL) {
-
- if ( $group == NULL) {
- $group = getgid();
- }
- evoexec("-a -u $user -g $group");
-}
-
-// commande shell a lancer pour creer un domaine
-function domain_add($group) {
- evoexec("-a -v -g $group");
-}
-
-// commande shell a lancer pour supprimer un utilisateur
-function unix_del($user) {
-
- evoexec("-d -u $user");
-}
-
-// renvoie le gidNumber associe a un domaine
-function getgid($domain=NULL) {
-
- global $conf;
-
- if ( $conf['domaines']['driver'] == 'file' ) {
- return $conf['domaines']['file']['gid'];
- } elseif ( $conf['domaines']['driver'] == 'ldap' ) {
-
- $ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
- $filter="(&(cn=" .$domain. ")(gidnumber=*))";
- $sr=ldap_search($ldapconn, LDAP_BASE, $filter);
- $info = ldap_get_entries($ldapconn, $sr);
- ldap_unbind($ldapconn);
-
- if ($info['count']) {
- return (int) $info[0]["gidnumber"][0];
- } else {
- return -1;
- }
-
- } else {
- return -1;
- }
-}
-
-// renvoie le 1er uidNumber disponible
-function getfreeuid() {
-
- global $conf;
-
- $ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
- $filter="(uidNumber=*)";
- $sr=ldap_search($ldapconn, LDAP_BASE, $filter);
- $info = ldap_get_entries($ldapconn, $sr);
- ldap_unbind($ldapconn);
-
- $uids = array();
-
- foreach ($info as $entry) {
- array_push($uids,$entry['uidnumber'][0]);
- }
-
- sort($uids);
- $uid = max(array_pop($uids)+1,$conf['unix']['minuid']);
-
- return (int) $uid;
-}
-
-// renvoie le 1er uidNumber disponible
-function getfreegid() {
-
- global $conf;
-
- $ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
- $filter="(gidNumber=*)";
- $sr=ldap_search($ldapconn, LDAP_BASE, $filter);
- $info = ldap_get_entries($ldapconn, $sr);
- ldap_unbind($ldapconn);
-
- $gids = array();
-
- foreach ($info as $entry) {
- array_push($gids,$entry['gidnumber'][0]);
- }
-
- sort($gids);
- $gid = max(array_pop($gids)+1,$conf['unix']['mingid']);
-
- return (int) $gid;
-}
-
-
-// get number of account or aliases for a domain
-function getnumber($domain,$type) {
-
- global $conf;
-
- $ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
- if ( $type == 'compte' ) {
- $filter="(&(objectClass=posixAccount)(!(uid=*$)))";
-
- } elseif ( $type == 'mail' ) {
- $filter="(objectClass=mailAccount)";
-
- } elseif ( $type == 'alias' ) {
- $filter="(objectClass=mailAlias)";
-
- // compatibilite anciens schemas
- if ($conf['evoadmin']['version'] == 1) {
- $filter="(&(objectClass=mailAlias)(onlyAlias=TRUE))";
- }
-
- } elseif ( $type == 'smb' ) {
- $filter="(objectClass=sambaSamAccount)";
- }
-
- if (! $conf['domaines']['onlyone']) {
-
- // compatibilite anciens schemas
- if ($conf['evoadmin']['version'] <= 2) {
- $rdn= "domain=" .$domain. "," .LDAP_BASE;
- } else {
- $rdn= "cn=" .$domain. "," .LDAP_BASE;
- }
-
- } else {
- //$rdn= "ou=people," .LDAP_BASE;
- $rdn= LDAP_BASE;
- }
-
- $sr=ldap_search($ldapconn, $rdn, $filter);
- $info = ldap_get_entries($ldapconn, $sr);
- ldap_unbind($ldapconn);
-
- return $info['count'];
-}
-
-function getsambagroups($type) {
-
- global $conf;
-
- // Si la liste des groupes est defini dans la config on l'utilise
-
- if($type == "unix" && isset($conf['samba']['unixgroups'])) {
- return $conf['samba']['unixgroups'];
- }
-
- if($type == "smb" && isset($conf['samba']['smbgroups'])) {
- return $conf['samba']['smbgroups'];
- }
-
- // sinon on interroge LDAP
-
- $ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
- $filter = "(objectClass=sambaGroupMapping)";
- $rdn = LDAP_BASE;
- $sr=ldap_search($ldapconn, $rdn, $filter);
- $info = ldap_get_entries($ldapconn, $sr);
- ldap_unbind($ldapconn);
-
- $ret = array();
- for($i=0; $i<$info['count']; $i++) {
-
- $entry = $info[$i];
- $cn = $entry['cn'][0];
-
- if($type == "unix") {
- $ret[$cn] = $entry['gidnumber'][0];
- } elseif($type == "smb") {
- $tmp = explode('-', $entry['sambasid'][0]);
- $ret[$cn] = "-".array_pop($tmp);
- }
- }
-
- return $ret;
-}
-
-/**
- * Verifie qu'un login est incorrect
- * entre 2 et 30 caracteres
- * en lettres minuscule, chiffres, '-', '.' ou '_'
- * pour le premier et dernier caracteres : seuls lettres et minuscules
- * et chiffres sont possibles
- */
-function badname($login)
-{
- return (!preg_match('/^([a-z0-9][a-z0-9\-\.\_]{0,28}[a-z0-9])$/',$login));
-}
-
-/**
- * Ajouter la composante @domaine
- */
-function adddomain(&$item,$key)
-{
- if (preg_match('/@/',$item)) {
- print "Ne pas inclure de @ dans les mails acceptes !
";
- exit(1);
- }
-
- if (!empty($item)) {
- $item = "$item". "@".$_SESSION['domain'];
- }
-}
-
-// renvoie la date d'expiration d'un compte
-function get_expiration_date($name) {
- $ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
- $filter="(&(uid=" .$name. "))";
- $sr=ldap_search($ldapconn, LDAP_BASE, $filter);
- $info = ldap_get_entries($ldapconn, $sr);
- ldap_unbind($ldapconn);
- $val = $info[0]["sambakickofftime"][0];
- if($val > 0) {
- return date('d/m/Y', $val);
- } else {
- return '';
- }
-}
-
-// change la date d'expiration d'un compte
-function set_expiration_date($name, $date) {
- $ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
- list($day, $month, $year) = explode('/', $date);
- $timestamp = mktime(0, 0, 0, $month, $day, $year);
- $val = array('sambakickofftime' => $timestamp);
- if(!ldap_modify($ldapconn, "uid=$name,ou=people,".LDAP_BASE, $val)) {
- die('Echec de la modification de la date d\'expiration');
- }
- ldap_unbind($ldapconn);
-}
-
-function account_is_locked($name) {
- $ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
- $filter="(&(uid=" .$name. "))";
- $sr=ldap_search($ldapconn, LDAP_BASE, $filter);
- $info = ldap_get_entries($ldapconn, $sr);
- ldap_unbind($ldapconn);
- $val = $info[0]["sambaacctflags"][0];
- if(strpos($val, 'L')) {
- return true;
- } else {
- return false;
- }
-}
-
-function account_lock($name, $lock_state) {
- $ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
- $filter="(&(uid=" .$name. "))";
- $sr=ldap_search($ldapconn, LDAP_BASE, $filter);
- $info = ldap_get_entries($ldapconn, $sr);
- $val = $info[0]["sambaacctflags"][0];
- if($lock_state == true) {
- if(!strpos($val, 'L')) {
- // ajouter le L
- $newval = substr_replace($val, 'L', 2, 0);
- }
- } else {
- if(strpos($val, 'L')) {
- // virer le L
- $newval = str_replace('L', '', $val);
- }
- }
- if($newval) {
- //print "$val -> $newval";
- $info = array('sambaacctflags' => $newval);
- if(!ldap_modify($ldapconn, "uid=$name,ou=people,".LDAP_BASE, $info)) {
- die('Echec de la modification du verrouillage');
- }
- }
- ldap_unbind($ldapconn);
-}
diff --git a/htdocs/vendor/evolibs/Auth.php b/htdocs/vendor/evolibs/Auth.php
deleted file mode 100644
index b95ff02..0000000
--- a/htdocs/vendor/evolibs/Auth.php
+++ /dev/null
@@ -1,56 +0,0 @@
- 42) ||
- (strlen($pass) < 5) ||
- (!preg_match('/^([[:graph:]]*)$/',$pass)) );
-
- }
-
- /**
- * verifie qu'un FQDN semble correct
- */
-
- function badfqdn($domain)
- {
- return (!preg_match('/^([[:alnum:]\.\-]{2,70}.[[:alpha:]]{2,5})$/',$domain));
- }
-
-}
-
-
-?>
diff --git a/htdocs/vendor/evolibs/EvoLog.php b/htdocs/vendor/evolibs/EvoLog.php
deleted file mode 100644
index d82d62a..0000000
--- a/htdocs/vendor/evolibs/EvoLog.php
+++ /dev/null
@@ -1,56 +0,0 @@
-log($message, $priority);
- }
-
- function debug()
- {
- if (DEBUG > 2)
- {
- echo "
SESSION DEBUG :
";
- print_r($_SESSION);
- echo "
";
- echo 'session_name() : ' . session_name() . "
\n" ;
- echo 'session_id() : ' . session_id() . "
\n" ;
- echo 'session_cache_expire() : ' . session_cache_expire() . "
\n" ;
- echo 'session_cache_limiter() : ' . session_cache_limiter() . "
\n" ;
- echo 'session_get_cookie_params() : ';
- print_r(array_values(session_get_cookie_params()));
- echo "
\n";
- echo 'session_module_name() : ' . session_module_name() . "
\n" ;
- echo 'session_save_path() : ' . session_save_path() . "
\n" ;
-
- echo "
POST DEBUG :
";
- print_r($_POST);
- echo "
GET DEBUG :
";
- print_r($_GET);
- echo "
";
-
- }
-
- }
-
-}
-
-?>
diff --git a/htdocs/vendor/evolibs/Html.php b/htdocs/vendor/evolibs/Html.php
deleted file mode 100644
index 956090a..0000000
--- a/htdocs/vendor/evolibs/Html.php
+++ /dev/null
@@ -1,101 +0,0 @@
-\\1',$texte);
- return addslashes($texte);
- }
-
- /**
- * Nettoie une requete SQL
- * Ajoute des antislashes devant : guillements simples, doubles, antislashes
- * caractere NULL
- * Cette fonction n'agit que si la directive magic_quotes_gpc est sur Off
- */
-
- function sqlclean($texte)
- {
- return (get_magic_quotes_gpc()) ? $texte : addslashes($texte);
- }
-
-
- function purgeaccents($texte)
- {
-
- // liste des caracteres accentuees
- $couple["é"] = "e"; $couple["è"] = "e"; $couple["ê"] = "e"; $couple["ë"] = "e";
- $couple["È"] = "e"; $couple["É"] = "e"; $couple["Ê"] = "e"; $couple["Ë"] = "e";
- $couple["à"] = "a"; $couple["ä"] = "a"; $couple["â"] = "a"; $couple["å"] = "a";
- $couple["á"] = "a"; $couple["ã"] = "a"; $couple["æ"] = "a";
- $couple["À"] = "a"; $couple["Á"] = "a"; $couple["Â"] = "a"; $couple["Ã"] = "a";
- $couple["Ä"] = "a"; $couple["Å"] = "a"; $couple["Æ"] = "a";
- $couple["ù"] = "u"; $couple["ü"] = "u"; $couple["û"] = "u"; $couple["ú"] = "u";
- $couple["ô"] = "o"; $couple["ö"] = "o"; $couple["ò"] = "o"; $couple["ó"] = "o"; $couple["õ"] = "o";
- $couple["î"] = "i"; $couple["ï"] = "i"; $couple["ì"] = "i"; $couple["í"] = "i";
- $couple["ç"] = "c"; $couple["Ç"] = "c";
- $couple["ÿ"] = "y"; $couple["ý"] = "y"; $couple["ñ"] = "n";
-
- while(list($car,$val) = each($couple))
- {
- $texte = preg_replace("/".$car."/",$val,$texte);
- }
-
- return $texte;
-
- }
-
- /**
- * renvoie un entier
- */
-
- function toint($var)
- {
- return number_format($var, 0, '', '');
- }
-}
-?>
diff --git a/htdocs/vendor/evolibs/Ldap.php b/htdocs/vendor/evolibs/Ldap.php
deleted file mode 100644
index 0f23cd2..0000000
--- a/htdocs/vendor/evolibs/Ldap.php
+++ /dev/null
@@ -1,189 +0,0 @@
- http://gcolpart.evolix.net/debian/php-crypt-chap/
- // inspire de lib/Driver/smbldap.php (Horde Password)
- function sambalm($pass) {
- $hash = new Crypt_CHAP_MSv2();
- $hash->password = $pass;
- return strtoupper(bin2hex($hash->lmPasswordHash()));
- }
-
- // necessite Crypt/CHAP -> http://gcolpart.evolix.net/debian/php-crypt-chap/
- // inspire de lib/Driver/smbldap.php (Horde Password)
- function sambant($pass) {
- $hash = new Crypt_CHAP_MSv2();
- $hash->password = $pass;
- return strtoupper(bin2hex($hash->ntPasswordHash()));
- }
-
-}
-
-?>
diff --git a/htdocs/vendor/evolibs/Math.php b/htdocs/vendor/evolibs/Math.php
deleted file mode 100644
index 18e4f53..0000000
--- a/htdocs/vendor/evolibs/Math.php
+++ /dev/null
@@ -1,38 +0,0 @@
-