Merge remote-tracking branch 'upstream/master' into pu

This commit is contained in:
Kienan Stewart 2018-07-05 14:44:50 -04:00
commit 4ac10979c7
31 changed files with 91 additions and 210 deletions

View File

@ -13,7 +13,7 @@ if(isset($L_ALTERNC_LOGS_ARCHIVE))
define('ALTERNC_LOGS', "$L_ALTERNC_LOGS"); define('ALTERNC_LOGS', "$L_ALTERNC_LOGS");
define('ALTERNC_PANEL', "/usr/share/alternc/panel"); define('ALTERNC_PANEL', "/usr/share/alternc/panel");
define('ALTERNC_LOCALES', ALTERNC_PANEL."/locales"); define('ALTERNC_LOCALES', ALTERNC_PANEL."/locales");
define('ALTERNC_LOCK_JOBS', '/var/run/alternc/jobs-lock'); define('ALTERNC_LOCK_JOBS', '/run/alternc/jobs-lock');
define('ALTERNC_LOCK_PANEL', '/var/lib/alternc/panel/nologin.lock'); define('ALTERNC_LOCK_PANEL', '/var/lib/alternc/panel/nologin.lock');
/* PHPLIB inclusions : */ /* PHPLIB inclusions : */

View File

@ -87,7 +87,7 @@ if (isset($L_ALTERNC_LOGS_ARCHIVE)) {
define('ALTERNC_LOGS', "$L_ALTERNC_LOGS"); define('ALTERNC_LOGS', "$L_ALTERNC_LOGS");
define('ALTERNC_PANEL', "/usr/share/alternc/panel"); define('ALTERNC_PANEL', "/usr/share/alternc/panel");
define('ALTERNC_LOCALES', ALTERNC_PANEL . "/locales"); define('ALTERNC_LOCALES', ALTERNC_PANEL . "/locales");
define('ALTERNC_LOCK_JOBS', '/var/run/alternc/jobs-lock'); define('ALTERNC_LOCK_JOBS', '/run/alternc/jobs-lock');
define('ALTERNC_LOCK_PANEL', '/var/lib/alternc/panel/nologin.lock'); define('ALTERNC_LOCK_PANEL', '/var/lib/alternc/panel/nologin.lock');
define('ALTERNC_APACHE2_GEN_TMPL_DIR', '/etc/alternc/templates/apache2/'); define('ALTERNC_APACHE2_GEN_TMPL_DIR', '/etc/alternc/templates/apache2/');
define('ALTERNC_VHOST_DIR', "/var/lib/alternc/apache-vhost/"); define('ALTERNC_VHOST_DIR', "/var/lib/alternc/apache-vhost/");

View File

@ -63,7 +63,7 @@ class DB_Sql {
$dsn = sprintf('mysql:dbname=%s;host=%s', $db, $host); $dsn = sprintf('mysql:dbname=%s;host=%s', $db, $host);
$options=array( $options=array(
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION // \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION
); );
try { try {
$this->pdo_instance = new PDO($dsn, $user, $passwd, $options); $this->pdo_instance = new PDO($dsn, $user, $passwd, $options);

View File

@ -139,7 +139,7 @@ function get_remote_ip() {
/** /**
* Check that $url is a correct url (http:// or https:// or ftp://) * Check that $url is a correct url (http:// or https:// or ftp://)
* *
* @param type $url 1 * @param type $url
* @return boolean * @return boolean
*/ */
function checkurl($url) { function checkurl($url) {
@ -1221,11 +1221,11 @@ function _sha512cr($password, $salt = NULL) {
else if (function_exists('mcrypt_create_iv')) { else if (function_exists('mcrypt_create_iv')) {
$salt = base64_encode(mcrypt_create_iv(12, MCRYPT_DEV_URANDOM)); $salt = base64_encode(mcrypt_create_iv(12, MCRYPT_DEV_URANDOM));
} }
else if (function_exists('')) { else if (function_exists('openssl_random_pseudo_bytes')) {
$salt = base64_encode(openssl_random_pseudo_bytes(12)); $salt = base64_encode(openssl_random_pseudo_bytes(12));
} }
if (!$salt) { if (!$salt) {
throw Error('Unable to generate salt'); throw Exception('Unable to generate salt');
} }
} }
$salt = '$6$rounds=20000$' . $salt; $salt = '$6$rounds=20000$' . $salt;

View File

@ -18,7 +18,7 @@
---------------------------------------------------------------------- ----------------------------------------------------------------------
*/ */
define('SLAVE_FLAG', "/var/run/alternc/refresh_slave"); define('SLAVE_FLAG', "/run/alternc/refresh_slave");
/** /**
* Classe de gestion des domaines de l'hébergé. * Classe de gestion des domaines de l'hébergé.
@ -54,7 +54,7 @@ class m_dom {
* du domaine par update_domains.sh * du domaine par update_domains.sh
* @access private * @access private
*/ */
var $fic_lock_cron = "/var/run/alternc/cron.lock"; var $fic_lock_cron = "/run/alternc/cron.lock";
/** /**
* Le cron a-t-il été bloqué ? * Le cron a-t-il été bloqué ?
@ -63,6 +63,7 @@ class m_dom {
* @access private * @access private
*/ */
var $islocked = false; var $islocked = false;
var $type_local = "VHOST"; var $type_local = "VHOST";
var $type_url = "URL"; var $type_url = "URL";
var $type_ip = "IP"; var $type_ip = "IP";
@ -166,6 +167,7 @@ class m_dom {
} }
// returns array(ALL,NONE,ADMIN)
function domains_type_enable_values() { function domains_type_enable_values() {
global $db, $msg, $cuid; global $db, $msg, $cuid;
$msg->debug("dom", "domains_type_enable_values"); $msg->debug("dom", "domains_type_enable_values");
@ -185,6 +187,7 @@ class m_dom {
/** /**
* @param integer $type * @param integer $type
* all = 'NONE','URL','DIRECTORY','IP','IPV6','DOMAIN','TXT'
*/ */
function domains_type_target_values($type = null) { function domains_type_target_values($type = null) {
global $db, $msg; global $db, $msg;
@ -551,7 +554,7 @@ class m_dom {
} }
function domains_type_update($name, $description, $target, $entry, $compatibility, $enable, $only_dns, $need_dns, $advanced, $create_tmpdir, $create_targetdir) { function domains_type_update($name, $description, $target, $entry, $compatibility, $enable, $only_dns, $need_dns, $advanced, $create_tmpdir, $create_targetdir,$has_https_option=0) {
global $msg, $db; global $msg, $db;
// The name MUST contain only letter and digits, it's an identifier after all ... // The name MUST contain only letter and digits, it's an identifier after all ...
if (!preg_match("#^[a-z0-9]+$#", $name)) { if (!preg_match("#^[a-z0-9]+$#", $name)) {
@ -561,9 +564,10 @@ class m_dom {
$only_dns = intval($only_dns); $only_dns = intval($only_dns);
$need_dns = intval($need_dns); $need_dns = intval($need_dns);
$advanced = intval($advanced); $advanced = intval($advanced);
$has_https_option = intval($has_https_option);
$create_tmpdir = intval($create_tmpdir); $create_tmpdir = intval($create_tmpdir);
$create_targetdir = intval($create_targetdir); $create_targetdir = intval($create_targetdir);
$db->query("UPDATE domaines_type SET description= ?, target= ?, entry= ?, compatibility= ?, enable= e, need_dns= ?, only_dns= ?, advanced= ?,create_tmpdir= ?,create_targetdir= ? where name= ?;", array($description, $target, $entry, $compatibility, $enable, $need_dns, $only_dns, $advanced, $create_tmpdir, $create_targetdir, $name)); $db->query("UPDATE domaines_type SET description= ?, target= ?, entry= ?, compatibility= ?, enable= e, need_dns= ?, only_dns= ?, advanced= ?,create_tmpdir= ?,create_targetdir= ?, has_https_option=? where name= ?;", array($description, $target, $entry, $compatibility, $enable, $need_dns, $only_dns, $advanced, $create_tmpdir, $create_targetdir, $has_https_option, $name));
return true; return true;
} }
@ -922,177 +926,47 @@ class m_dom {
/** /**
* Retourne les entrées DNS du domaine $domain issues du WHOIS. * Return the NS of a server by interrogating its parent zone.
* *
* Cette fonction effectue un appel WHOIS($domain) sur Internet, * @param string $domain FQDN we are searching for
* et extrait du whois les serveurs DNS du domaine demandé. En fonction * @return array Return the authoritative NS of this domain
* du TLD, on sait (ou pas) faire le whois correspondant. * or FALSE if an error occurred
* Actuellement, les tld suivants sont supportés :
* .com .net .org .be .info .ca .cx .fr .biz .name
*
* @param string $domain Domaine fqdn dont on souhaite les serveurs DNS
* @return array Retourne un tableau indexé avec les NOMS fqdn des dns
* du domaine demandé. Retourne FALSE si une erreur s'est produite.
* *
*/ */
function whois($domain) { function whois($domain) {
global $msg; global $msg;
$msg->debug("dom", "whois", $domain); $msg->debug("dom", "whois", $domain);
// pour ajouter un nouveau TLD, utiliser le code ci-dessous.
// echo "whois : $domain<br />";
preg_match("#.*\.([^\.]*)#", $domain, $out);
$ext = $out[1];
// pour ajouter un nouveau TLD, utiliser le code ci-dessous.
// echo "ext: $ext<br />";
$serveur = ""; $domain=trim($domain,"."); // strip initial/final .
if (($fp = @fsockopen("whois.iana.org", 43)) > 0) { $parent=$domain; $loopmax=32;
fputs($fp, "$domain\r\n"); do {
$found = false; $parent=substr($parent,strpos($parent,".")+1);
$state = 0; $parent=trim($parent,".");
while (!feof($fp)) { if (!$parent) {
$ligne = fgets($fp, 128); $msg->raise("ALERT", "dom", _("The domain has no parent. Check syntax"));
if (preg_match('#^whois:#', $ligne)) { return false; // no . in this fqdn??
$serveur = preg_replace('/whois:\ */', '', $ligne, 1); }
} // ask the parent for its NS (no +trace)
$out=array();
exec("dig +short NS ".escapeshellarg($parent),$out);
$loopmax--;
} while (!count($out) && $loopmax); // will stop when : we have no parent, or
if (!count($out)) {
return false; // bad exit of the loop
}
$parentns=trim($out[0]);
// we take the first NS of the SOA of the parent and interrogate it for the child domain:
$out=array();
exec("dig NS ".escapeshellarg($domain)." ".escapeshellarg("@".$parentns),$out);
// we scan the dig result for authoritative information :
$ns=array();
foreach($out as $line) {
if (preg_match('#^'.str_replace(".","\\.",$domain).'\..*IN\s*NS\s*(.*)$#',$line,$mat)) {
$ns[]=trim($mat[1]);
} }
} }
$serveur = str_replace(array(" ", "\n"), "", $serveur); return $ns;
$egal = "";
switch ($ext) {
case "net":
$egal = "=";
break;
case "name":
$egal = "domain = ";
break;
}
$serveurList = array();
// pour ajouter un nouveau TLD, utiliser le code ci-dessous.
// echo "serveur : $serveur <br />";
if (($fp = @fsockopen($serveur, 43)) > 0) {
fputs($fp, "$egal$domain\r\n");
$found = false;
$state = 0;
while (!feof($fp)) {
$ligne = fgets($fp, 128);
// pour ajouter un nouveau TLD, utiliser le code ci-dessous.
// echo "| $ligne<br />";
switch ($ext) {
case "org":
case "com":
case "net":
case "info":
case "biz":
case "name":
case "cc":
if (preg_match("#Name Server:#", $ligne)) {
$found = true;
$tmp = strtolower(str_replace(chr(10), "", str_replace(chr(13), "", str_replace(" ", "", str_replace("Name Server:", "", $ligne)))));
if ($tmp) {
$serveurList[] = $tmp;
}
}
break;
case "co":
if (preg_match("#Name Server:#", $ligne)) {
$found = true;
$tmp = strtolower(str_replace(chr(10), "", str_replace(chr(13), "", str_replace(" ", "", str_replace("Name Server:", "", $ligne)))));
if ($tmp)
$serveurList[] = $tmp;
}
break;
case "cx":
$ligne = str_replace(chr(10), "", str_replace(chr(13), "", str_replace(" ", "", $ligne)));
if ($ligne == "" && $state == 1) {
$state = 2;
}
if ($state == 1) {
$serveurList[] = strtolower($ligne);
}
if ($ligne == "Nameservers:" && $state == 0) {
$state = 1;
$found = true;
}
break;
case "eu":
case "be":
$ligne = preg_replace("/^ *([^ ]*) \(.*\)$/", "\\1", trim($ligne));
$tmp="";
if ($found) {
$tmp = trim($ligne);
}
if ($tmp) {
$serveurList[] = $tmp;
}
if ($ligne == "Nameservers:") {
$state = 1;
$found = true;
}
break;
case "im":
if (preg_match('/Name Server:/', $ligne)) {
$found = true;
// weird regexp (trailing garbage after name server), but I could not make it work otherwise
$tmp = strtolower(preg_replace('/Name Server: ([^ ]+)\..$/', "\\1", $ligne));
$tmp = preg_replace('/[^-_a-z0-9\.]/', '', $tmp);
if ($tmp) {
$serveurList[] = $tmp;
}
}
break;
case "it":
if (preg_match("#nserver:#", $ligne)) {
$found = true;
$tmp = strtolower(preg_replace("/nserver:\s*[^ ]*\s*([^\s]*)$/", "\\1", $ligne));
if ($tmp) {
$serveurList[] = $tmp;
}
}
break;
case "fr":
case "re":
if (preg_match("#nserver:#", $ligne)) {
$found = true;
$tmp = strtolower(preg_replace("#nserver:\s*([^\s]*)\s*.*$#", "\\1", $ligne));
if ($tmp) {
$serveurList[] = $tmp;
}
}
break;
case "ca":
case "ws";
if (preg_match('#Name servers#', $ligne)) {
// found the server
$state = 1;
} elseif ($state) {
if (preg_match('#^[^%]#', $ligne) && $ligne = preg_replace('#[[:space:]]#', "", $ligne)) {
// first non-whitespace line is considered to be the nameservers themselves
$found = true;
$serveurList[] = $ligne;
}
}
break;
case "coop":
if (preg_match('#Host Name:\s*([^\s]+)#', $ligne, $matches)) {
$found = true;
$serveurList[] = $matches[1];
}
} // switch
} // while
fclose($fp);
} else {
$msg->raise("ALERT", "dom", _("The Whois database is unavailable, please try again later"));
return array();
}
if ($found) {
return $serveurList;
} else {
$msg->raise("ALERT", "dom", _("The domain cannot be found in the Whois database"));
return array();
}
} // whois } // whois
@ -1195,7 +1069,6 @@ class m_dom {
$db->next_record(); $db->next_record();
$r["nsub"] = $db->Record["cnt"]; $r["nsub"] = $db->Record["cnt"];
$db->free(); $db->free();
#$db->query("SELECT sd.*, dt.description AS type_desc, dt.only_dns FROM sub_domaines sd, domaines_type dt WHERE compte='$cuid' AND domaine='$dom' AND UPPER(dt.name)=UPPER(sd.type) ORDER BY sd.sub,sd.type");
$db->query("SELECT sd.*, dt.description AS type_desc, dt.only_dns, dt.advanced, dt.has_https_option FROM sub_domaines sd LEFT JOIN domaines_type dt on UPPER(dt.name)=UPPER(sd.type) WHERE compte= ? AND domaine= ? ORDER BY dt.advanced,sd.sub,sd.type ;", array($cuid, $dom)); $db->query("SELECT sd.*, dt.description AS type_desc, dt.only_dns, dt.advanced, dt.has_https_option FROM sub_domaines sd LEFT JOIN domaines_type dt on UPPER(dt.name)=UPPER(sd.type) WHERE compte= ? AND domaine= ? ORDER BY dt.advanced,sd.sub,sd.type ;", array($cuid, $dom));
// Pas de webmail, on le cochera si on le trouve. // Pas de webmail, on le cochera si on le trouve.
$r["sub"] = array(); $r["sub"] = array();
@ -1268,6 +1141,8 @@ class m_dom {
return $https; return $https;
} else return ""; } else return "";
} }
/** /**
* @param integer $type * @param integer $type
* @param string $value * @param string $value
@ -1594,7 +1469,7 @@ class m_dom {
// Can't have ttl == 0. There is also a check in function_dns // Can't have ttl == 0. There is also a check in function_dns
if ($ttl == 0) { if ($ttl == 0) {
$ttl = 86400; $ttl = 3600;
} }
$t = checkfqdn($dom); $t = checkfqdn($dom);

View File

@ -1,8 +1,8 @@
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# Create /var/run/ folder : it may be a ramdrive # Create /run/ folder : it may be a ramdrive
@reboot root mkdir -p /var/run/alternc && chown alterncpanel:alterncpanel /var/run/alternc @reboot root mkdir -p /run/alternc && chown alterncpanel:alterncpanel /run/alternc
# Every 2 days compress log files # Every 2 days compress log files
0 4 * * * alterncpanel /usr/lib/alternc/compress_logs.sh 0 4 * * * alterncpanel /usr/lib/alternc/compress_logs.sh

View File

@ -113,10 +113,10 @@ SQLBACKUP_OVERWRITE=""
ALTERNC_SLAVES="" ALTERNC_SLAVES=""
# File to look at for forced launch of update_domain (use incron) # File to look at for forced launch of update_domain (use incron)
INOTIFY_UPDATE_DOMAIN="/var/run/alternc/inotify_update_domain.lock" INOTIFY_UPDATE_DOMAIN="/run/alternc/inotify_update_domain.lock"
# File to look at for forced launch of do_actions (use incron) # File to look at for forced launch of do_actions (use incron)
INOTIFY_DO_ACTION="/var/run/alternc/inotify_do_action.lock" INOTIFY_DO_ACTION="/run/alternc/inotify_do_action.lock"
# AlternC Locations # AlternC Locations
ALTERNC_HTML="" ALTERNC_HTML=""
@ -251,8 +251,8 @@ NFS_QUOTA=no" >> $CONFIGFILE
touch /var/lib/alternc/bind/automatic.conf /var/lib/alternc/bind/slaveip.conf touch /var/lib/alternc/bind/automatic.conf /var/lib/alternc/bind/slaveip.conf
chown root:bind /var/lib/alternc/bind/automatic.conf /var/lib/alternc/bind/slaveip.conf chown root:bind /var/lib/alternc/bind/automatic.conf /var/lib/alternc/bind/slaveip.conf
chmod 640 /var/lib/alternc/bind/automatic.conf /var/lib/alternc/bind/slaveip.conf chmod 640 /var/lib/alternc/bind/automatic.conf /var/lib/alternc/bind/slaveip.conf
mkdir -p /var/run/alternc && chown alterncpanel:alterncpanel /var/run/alternc mkdir -p /run/alternc && chown alterncpanel:alterncpanel /run/alternc
touch /var/run/alternc/refresh_slave touch /run/alternc/refresh_slave
/usr/lib/alternc/slave_dns /usr/lib/alternc/slave_dns
# Apache will not start without this file # Apache will not start without this file
touch /var/lib/alternc/apache-vhost/vhosts_all.conf touch /var/lib/alternc/apache-vhost/vhosts_all.conf

2
debian/control vendored
View File

@ -19,6 +19,7 @@ Depends: debianutils (>= 1.13.1)
, apache2-mpm-itk | libapache2-mpm-itk , apache2-mpm-itk | libapache2-mpm-itk
, libapache2-mod-php5 | libapache2-mod-php7.0 , libapache2-mod-php5 | libapache2-mod-php7.0
, php5-mysql | php7.0-mysql , php5-mysql | php7.0-mysql
, php-curl | php5-curl | php7.0-curl
, phpmyadmin , phpmyadmin
, ssl-cert , ssl-cert
, libjs-prettify , libjs-prettify
@ -107,6 +108,7 @@ Depends: debianutils (>= 1.13.1)
, apache2-mpm-itk | libapache2-mpm-itk , apache2-mpm-itk | libapache2-mpm-itk
, libapache2-mod-php5 | libapache2-mod-php7.0 , libapache2-mod-php5 | libapache2-mod-php7.0
, php5-mysql | php7.0-mysql , php5-mysql | php7.0-mysql
, php-curl | php5-curl | php7.0-curl
, phpmyadmin , phpmyadmin
, ssl-cert , ssl-cert
, libjs-prettify , libjs-prettify

View File

@ -33,7 +33,7 @@ ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
php_value post_max_size 50M php_value post_max_size 50M
AddDefaultCharset UTF-8 AddDefaultCharset UTF-8
# open_basedir allows access to specifics directories. We need to grant access to these directories for alternc, awstats, mailman... # open_basedir allows access to specifics directories. We need to grant access to these directories for alternc, awstats, mailman...
php_admin_value open_basedir /usr/share/alternc-mailman/patches/:/etc/alternc/:/run/alternc:/var/run/alternc/:/usr/share/alternc/panel/:%%ALTERNC_HTML%%/:/tmp:/usr/share/php/:/var/cache/alternc-webalizer/:/etc/locale.gen:%%ALTERNC_LOGS%%:/etc/awstats/:/var/log/alternc/:/var/lib/alternc/panel/ php_admin_value open_basedir /usr/share/alternc-mailman/patches/:/etc/alternc/:/run/alternc:/usr/share/alternc/panel/:%%ALTERNC_HTML%%/:/tmp:/usr/share/php/:/var/cache/alternc-webalizer/:/etc/locale.gen:%%ALTERNC_LOGS%%:/etc/awstats/:/var/log/alternc/:/var/lib/alternc/panel/
</Directory> </Directory>

View File

@ -20,8 +20,8 @@ fi
# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc. # /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
export APACHE_RUN_USER=www-data export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data export APACHE_RUN_GROUP=www-data
export APACHE_PID_FILE=/var/run/apache2$SUFFIX.pid export APACHE_PID_FILE=/run/apache2$SUFFIX.pid
export APACHE_RUN_DIR=/var/run/apache2$SUFFIX export APACHE_RUN_DIR=/run/apache2$SUFFIX
export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX
# Only /var/log/apache2 is handled by /etc/logrotate.d/apache2. # Only /var/log/apache2 is handled by /etc/logrotate.d/apache2.
export APACHE_LOG_DIR=/var/log/apache2$SUFFIX export APACHE_LOG_DIR=/var/log/apache2$SUFFIX

View File

@ -4,10 +4,10 @@
# Command-line options specified here will override the contents of # Command-line options specified here will override the contents of
# /etc/opendkim.conf. See opendkim(8) for a complete list of options. # /etc/opendkim.conf. See opendkim(8) for a complete list of options.
#DAEMON_OPTS="" #DAEMON_OPTS=""
# Change to /var/spool/postfix/var/run/opendkim to use a Unix socket with # Change to /var/spool/postfix/run/opendkim to use a Unix socket with
# postfix in a chroot: # postfix in a chroot:
#RUNDIR=/var/spool/postfix/var/run/opendkim #RUNDIR=/var/spool/postfix/run/opendkim
RUNDIR=/var/run/opendkim RUNDIR=/run/opendkim
# #
# Uncomment to specify an alternate socket # Uncomment to specify an alternate socket
# Note that setting this will override any Socket value in opendkim.conf # Note that setting this will override any Socket value in opendkim.conf

View File

@ -57,7 +57,7 @@ driver = mysql
# the default my.cnf location # the default my.cnf location
# option_group - Read options from the given group (default: client) # option_group - Read options from the given group (default: client)
# #
# You can connect to UNIX sockets by using host: host=/var/run/mysql.sock # You can connect to UNIX sockets by using host: host=/run/mysql.sock
# Note that currently you can't use spaces in parameters. # Note that currently you can't use spaces in parameters.
# #
# sqlite: # sqlite:

View File

@ -182,7 +182,7 @@ protocol lda {
# UNIX socket path to master authentication server to find users. # UNIX socket path to master authentication server to find users.
auth_socket_path = /var/run/dovecot/auth-master auth_socket_path = /run/dovecot/auth-master
} }

View File

@ -1 +1 @@
/var/run/alternc/ IN_CREATE,IN_ATTRIB,IN_NO_LOOP /usr/lib/alternc/inotify_do_actions.sh /run/alternc/ IN_CREATE,IN_ATTRIB,IN_NO_LOOP /usr/lib/alternc/inotify_do_actions.sh

View File

@ -1 +1 @@
/var/run/alternc/ IN_CREATE,IN_ATTRIB,IN_NO_LOOP /usr/lib/alternc/inotify_update_domains.sh /run/alternc/ IN_CREATE,IN_ATTRIB,IN_NO_LOOP /usr/lib/alternc/inotify_update_domains.sh

View File

@ -157,7 +157,7 @@ chown :alterncpanel /etc/alternc/local.sh
. /etc/alternc/local.sh . /etc/alternc/local.sh
# May be missing # May be missing
test -d /var/run/alternc || ( mkdir -p /var/run/alternc && chown alterncpanel:alterncpanel /var/run/alternc ) test -d /run/alternc || ( mkdir -p /run/alternc && chown alterncpanel:alterncpanel /run/alternc )
# Create the target directory # Create the target directory
for i in "$ALTERNC_HTML" "$ALTERNC_MAIL" "$ALTERNC_LOGS" ; do for i in "$ALTERNC_HTML" "$ALTERNC_MAIL" "$ALTERNC_LOGS" ; do

View File

@ -263,6 +263,7 @@ CREATE TABLE IF NOT EXISTS `mailbox` (
`bytes` bigint(20) NOT NULL DEFAULT '0', -- number of bytes in the mailbox, filled by dovecot `bytes` bigint(20) NOT NULL DEFAULT '0', -- number of bytes in the mailbox, filled by dovecot
`messages` int(11) NOT NULL DEFAULT '0', -- number of messages in the mailbox, filled by dovecot `messages` int(11) NOT NULL DEFAULT '0', -- number of messages in the mailbox, filled by dovecot
`lastlogin` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', -- Last login, filled by dovecot `lastlogin` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', -- Last login, filled by dovecot
`lastloginsasl` DATETIME NOT NULL DEFAULT 0, -- last login on SASL / SMTP, not filled yet ;)
`mail_action` enum('OK','DELETE','DELETING') NOT NULL default 'OK', -- mail_action is DELETE or DELETING when deleting a mailbox by cron `mail_action` enum('OK','DELETE','DELETING') NOT NULL default 'OK', -- mail_action is DELETE or DELETING when deleting a mailbox by cron
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
UNIQUE KEY `address_id` (`address_id`) UNIQUE KEY `address_id` (`address_id`)

View File

@ -6,9 +6,9 @@
if [ -z "$INOTIFY_UPDATE_DOMAIN" ] ; then if [ -z "$INOTIFY_UPDATE_DOMAIN" ] ; then
/bin/echo -e ' /bin/echo -e '
# File to look at for forced launch of update_domain (use incron) # File to look at for forced launch of update_domain (use incron)
INOTIFY_UPDATE_DOMAIN="/var/run/alternc/inotify_update_domain.lock" INOTIFY_UPDATE_DOMAIN="/run/alternc/inotify_update_domain.lock"
' >> /etc/alternc/local.sh ' >> /etc/alternc/local.sh
fi fi
mkdir -p /var/run/alternc && chown alterncpanel /var/run/alternc mkdir -p /run/alternc && chown alterncpanel /run/alternc

View File

@ -1,2 +0,0 @@
ALTER TABLE mailbox MODIFY `lastlogin` DATETIME NOT NULL DEFAULT 0;

View File

@ -1,2 +0,0 @@
ALTER TABLE `membres` MODIFY `pass` varchar(255);
ALTER TABLE `ftpusers` MODIFY `encrypted_password` varchar(255);

View File

@ -1,3 +1,10 @@
-- upgrade from 3.4.10 and 3.4.11 (a bug prevented them to be inserted :/ )
ALTER TABLE mailbox MODIFY `lastlogin` DATETIME NOT NULL DEFAULT 0;
ALTER TABLE mailbox ADD `lastloginsasl` DATETIME NOT NULL DEFAULT 0 AFTER `lastlogin`;
ALTER TABLE `membres` MODIFY `pass` varchar(255);
ALTER TABLE `ftpusers` MODIFY `encrypted_password` varchar(255);
-- upgrade to merge alternc-ssl into alternc + change the way we work on SSL -- upgrade to merge alternc-ssl into alternc + change the way we work on SSL

View File

@ -60,7 +60,7 @@ if(isset($L_ALTERNC_LOGS_ARCHIVE)){
define('ALTERNC_LOGS_ARCHIVE', "$L_ALTERNC_LOGS_ARCHIVE"); define('ALTERNC_LOGS_ARCHIVE', "$L_ALTERNC_LOGS_ARCHIVE");
} }
if( !defined("ALTERNC_LOCALES") ) { define('ALTERNC_LOCALES', ALTERNC_PANEL."/locales"); }; if( !defined("ALTERNC_LOCALES") ) { define('ALTERNC_LOCALES', ALTERNC_PANEL."/locales"); };
if( !defined("ALTERNC_LOCK_JOBS") ) { define('ALTERNC_LOCK_JOBS', '/var/run/alternc/jobs-lock'); }; if( !defined("ALTERNC_LOCK_JOBS") ) { define('ALTERNC_LOCK_JOBS', '/run/alternc/jobs-lock'); };
if( !defined("ALTERNC_LOCK_PANEL") ) { define('ALTERNC_LOCK_PANEL', '/var/lib/alternc/panel/nologin.lock'); }; if( !defined("ALTERNC_LOCK_PANEL") ) { define('ALTERNC_LOCK_PANEL', '/var/lib/alternc/panel/nologin.lock'); };
if( !defined("ALTERNC_APACHE2_GEN_TMPL_DIR") ) { define('ALTERNC_APACHE2_GEN_TMPL_DIR', '/etc/alternc/templates/apache2/'); }; if( !defined("ALTERNC_APACHE2_GEN_TMPL_DIR") ) { define('ALTERNC_APACHE2_GEN_TMPL_DIR', '/etc/alternc/templates/apache2/'); };
if( !defined("ALTERNC_VHOST_DIR") ) { define('ALTERNC_VHOST_DIR', "/var/lib/alternc/apache-vhost/"); }; if( !defined("ALTERNC_VHOST_DIR") ) { define('ALTERNC_VHOST_DIR', "/var/lib/alternc/apache-vhost/"); };

View File

@ -9,7 +9,7 @@
require_once("/usr/share/alternc/panel/class/config_nochk.php"); require_once("/usr/share/alternc/panel/class/config_nochk.php");
ini_set("display_errors", 1); ini_set("display_errors", 1);
if (file_exists("/var/run/alternc/jobs-lock")) { if (file_exists("/run/alternc/jobs-lock")) {
echo "jobs-lock exists, did you ran alternc.install?\n"; echo "jobs-lock exists, did you ran alternc.install?\n";
echo "canceling cron_users\n"; echo "canceling cron_users\n";
exit(1); exit(1);

View File

@ -57,7 +57,7 @@ require_once("/usr/share/alternc/panel/class/config_nochk.php");
$admin->stop_if_jobs_locked(); $admin->stop_if_jobs_locked();
if( !defined("ALTERNC_DO_ACTION_LOCK")){ if( !defined("ALTERNC_DO_ACTION_LOCK")){
define("ALTERNC_DO_ACTION_LOCK",'/var/run/alternc/do_actions_cron.lock'); define("ALTERNC_DO_ACTION_LOCK",'/run/alternc/do_actions_cron.lock');
} }
$SCRIPT='/usr/bin/php do_actions.php'; $SCRIPT='/usr/bin/php do_actions.php';

View File

@ -32,7 +32,7 @@ mysql_query() { /usr/bin/mysql --defaults-file=/etc/alternc/my.cnf -Bs -e "$@" ;
DOMAIN_LOG_FILE="/var/log/alternc/update_domains.log" DOMAIN_LOG_FILE="/var/log/alternc/update_domains.log"
VHOST_FILE="$VHOST_DIR/vhosts_all.conf" VHOST_FILE="$VHOST_DIR/vhosts_all.conf"
VHOST_MANUALCONF="$VHOST_DIR/manual/" VHOST_MANUALCONF="$VHOST_DIR/manual/"
LOCK_JOBS="/var/run/alternc/jobs-lock" LOCK_JOBS="/run/alternc/jobs-lock"
# Some useful miscellaneous shell functions # Some useful miscellaneous shell functions

View File

@ -4,7 +4,7 @@
# with the IP of the slave dns # with the IP of the slave dns
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
FLAGFILE="/var/run/alternc/refresh_slave"; FLAGFILE="/run/alternc/refresh_slave";
TPL="/etc/alternc/templates/bind/slaveip.conf" TPL="/etc/alternc/templates/bind/slaveip.conf"
TARGET="/var/lib/alternc/bind/slaveip.conf" TARGET="/var/lib/alternc/bind/slaveip.conf"

View File

@ -15,7 +15,7 @@ done
stop_if_jobs_locked stop_if_jobs_locked
LOCK_FILE="/var/run/alternc/update_mails" LOCK_FILE="/run/alternc/update_mails"
# ALTERNC_MAIL is from local.sh # ALTERNC_MAIL is from local.sh

View File

@ -31,7 +31,7 @@ UMask 007
# ## local:/path/to/socket to listen on a UNIX domain socket # ## local:/path/to/socket to listen on a UNIX domain socket
# #
#Socket inet:8892@localhost #Socket inet:8892@localhost
Socket local:/var/run/opendkim/opendkim.sock Socket local:/run/opendkim/opendkim.sock
## PidFile filename ## PidFile filename
### default (none) ### default (none)
@ -39,7 +39,7 @@ Socket local:/var/run/opendkim/opendkim.sock
### Name of the file where the filter should write its pid before beginning ### Name of the file where the filter should write its pid before beginning
### normal operations. ### normal operations.
# #
PidFile /var/run/opendkim/opendkim.pid PidFile /run/opendkim/opendkim.pid
# Always oversign From (sign using actual From and a null From to prevent # Always oversign From (sign using actual From and a null From to prevent

View File

@ -45,7 +45,7 @@ LOG_FILE=$LOG_DIR/xferlog
TMP_ROOT=$ALTERNC_ROOT/tmp TMP_ROOT=$ALTERNC_ROOT/tmp
RES_FILE=$TMP_ROOT/$PROG_NAME.res.$$ RES_FILE=$TMP_ROOT/$PROG_NAME.res.$$
INTERMEDIATE_FILE=$TMP_ROOT/$PROG_NAME.int.$$ INTERMEDIATE_FILE=$TMP_ROOT/$PROG_NAME.int.$$
LOCK_FILE=/var/run/$PROG_NAME LOCK_FILE=/run/$PROG_NAME
export TEXTDOMAIN=alternc-admintools export TEXTDOMAIN=alternc-admintools
YES=yes YES=yes
NO=no NO=no

View File

@ -40,7 +40,7 @@ LOG_DIR=/var/log/apache
TMP_ROOT=$ALTERNC_ROOT/tmp TMP_ROOT=$ALTERNC_ROOT/tmp
RES_FILE=$TMP_ROOT/$PROG_NAME.res.$$ RES_FILE=$TMP_ROOT/$PROG_NAME.res.$$
INTERMEDIATE_FILE=$TMP_ROOT/$PROG_NAME.int.$$ INTERMEDIATE_FILE=$TMP_ROOT/$PROG_NAME.int.$$
LOCK_FILE=/var/run/$PROG_NAME LOCK_FILE=/run/$PROG_NAME
export TEXTDOMAIN=alternc-admintools export TEXTDOMAIN=alternc-admintools
YES=yes YES=yes
NO=no NO=no

View File

@ -40,7 +40,7 @@ LOG_DIR=/var/log
LOG_FILE=$LOG_DIR/mysql.log LOG_FILE=$LOG_DIR/mysql.log
TMP_ROOT=$ALTERNC_ROOT/tmp TMP_ROOT=$ALTERNC_ROOT/tmp
RES_FILE=$TMP_ROOT/$PROG_NAME.res.$$ RES_FILE=$TMP_ROOT/$PROG_NAME.res.$$
LOCK_FILE=/var/run/$PROG_NAME LOCK_FILE=/run/$PROG_NAME
export TEXTDOMAIN=alternc-admintools export TEXTDOMAIN=alternc-admintools
YES=yes YES=yes
NO=no NO=no