Esempio n. 1
0
function destroy()
{
    remove_initd();
    if (is_file("/etc/cron.d/sendmail")) {
        @unlink("/etc/cron.d/sendmail");
    }
    if (is_file("/usr/share/sendmail/sendmail")) {
        @copy("/usr/share/sendmail/sendmail", "/usr/share/sendmail/sendmail.bak");
        @unlink("/usr/share/sendmail/sendmail");
    }
    if (is_file("/etc/init.d/sendmail")) {
        if (!is_file("/etc/init.d/sendmail.bak")) {
            @copy("/etc/init.d/sendmail", "/etc/init.d/sendmail.bak");
            erase_initd();
        }
    }
    if (!is_file("/usr/sbin/sendmail-msp")) {
        @file_put_contents("/usr/sbin/sendmail-msp", "#!/bin/sh\n");
        shell_exec("/bin/chmod 755 /usr/sbin/sendmail-msp");
    }
}
Esempio n. 2
0
function instance_build($crossroads_id)
{
    $q = new mysql();
    $xrbin = $GLOBALS["CLASS_UNIX"]->find_program("xr");
    if (is_file("/etc/artica-postfix/crossroads/{$crossroads_id}.cmd")) {
        @unlink("/etc/artica-postfix/crossroads/{$crossroads_id}.cmd");
    }
    $sql = "SELECT * FROM crossroads_main WHERE ID={$crossroads_id}";
    $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup"));
    if ($ligne["enabled"] == 0) {
        echo "Starting......: Crossroads instance {$crossroads_id} is disabled\n";
        stop_instance($crossroads_id);
        remove_initd($crossroads_id);
        return;
    }
    $cd = array();
    if ($GLOBALS["VERBOSE"]) {
        echo "Starting......: Crossroads instance {$crossroads_id} [DEBUG] -> build_backends({$crossroads_id})\n";
    }
    $backends = build_backends($ligne["ID"]);
    if (count($backends) == 0) {
        crossroads_events("This instance have no backend", $crossroads_id, __FUNCTION__, __LINE__);
        echo "Starting......: Crossroads instance {$crossroads_id} no backend\n";
        remove_initd($crossroads_id);
        return;
    }
    $proto = "tcp";
    $loadbalancetype = $ligne["loadbalancetype"];
    if ($loadbalancetype == 1) {
        $proto = "http";
        $cd[] = "--sticky-http --add-x-forwarded-for";
    }
    $cd[] = "--server {$proto}:{$ligne["listen_ip"]}:{$ligne["listen_port"]}";
    $cd[] = "--pidfile /var/run/crossroads/cross_{$ligne["ID"]}.pid";
    $cd[] = "--backend-timeout {$ligne["backend_timout_read"]}:{$ligne["backend_timout_write"]}";
    $cd[] = "--checkup-interval {$ligne["checkup_interval"]}";
    $cd[] = "--client-timeout {$ligne["client_timout"]}:{$ligne["client_timout_write"]}";
    $cd[] = "--dispatch-mode {$ligne["dispatch_mode"]}";
    $cd[] = @implode(" ", $backends);
    $cd[] = "--web-interface {$ligne["listen_ip"]}:{$ligne["www_port"]}:\"{$ligne["name"]}\"";
    if ($ligne["www_username"] != null) {
        $ligne["www_password"] = $unix->shellEscapeChars($ligne["www_password"]);
        $cd[] = "--web-interface-auth {$ligne["www_username"]}:{$ligne["www_password"]}";
    }
    $cmdline = $xrbin . " " . @implode(" ", $cd) . " >/var/log/crossroads/cross_{$ligne["ID"]}.log 2>&1 &";
    crossroads_events("Instance successfully reconfigured", $crossroads_id, __FUNCTION__, __LINE__);
    if ($GLOBALS["VERBOSE"]) {
        echo "Starting......: Crossroads instance {$ligne["ID"]} cmdline={$cmdline}\n";
    }
    @file_put_contents("/etc/artica-postfix/crossroads/{$ligne["ID"]}.cmd", $cmdline);
    build_init_d($ligne["ID"]);
}