function Disable()
{
    $uuid = $_POST["uuid"];
    $meta = new mysql_meta();
    if (intval($_POST["gpid"]) > 0) {
        if (!$meta->CreateOrder_group(intval($_POST["gpid"]), "PROXY_ENABLE_URGENCY", array())) {
            echo "Failed\nFunction:" . __FUNCTION__ . "\nLine:" . __LINE__ . "\nFile:" . basename(__FILE__);
        }
        return;
    }
    if (!$meta->CreateOrder($uuid, "PROXY_ENABLE_URGENCY", array())) {
        echo "Failed\nFunction:" . __FUNCTION__ . "\nLine:" . __LINE__ . "\nFile:" . basename(__FILE__);
    }
}
function mac_edit()
{
    $q = new mysql_meta();
    $sql = $q->SQL_EDIT_FROM_POST("MAC", "networks_hosts");
    $q->QUERY_SQL($sql);
    if (!$q->ok) {
        echo $q->mysql_error;
    }
    $q->CreateOrder($_POST["uuid"], "UPDATE_HOST", $_POST);
}
function Replicate_policy_to_group($gpid, $content)
{
    $q = new mysql_meta();
    $sql = "SELECT uuid FROM metagroups_link WHERE gpid='{$gpid}'";
    $results = $q->QUERY_SQL($sql);
    if (!$q->ok) {
        meta_admin_mysql(0, "Fatal error: Mysql Error", $q->mysql_error . "\n{$sql}", __FILE__, __LINE__);
        return;
    }
    $md5Content = md5($content);
    $content = mysql_escape_string2($content);
    if (mysql_num_rows($results) == 0) {
        return;
    }
    while ($ligne = mysql_fetch_assoc($results)) {
        $uuid = $ligne["uuid"];
        $md5 = md5("{$md5Content}{$uuid}");
        $q->QUERY_SQL("DELETE FROM `policies_storage` WHERE `zmd5`='{$md5}'");
        $sql = "INSERT IGNORE INTO `policies_storage` (zmd5,uuid,policy_content) VALUES ('{$md5}','{$uuid}','{$content}')";
        $q->QUERY_SQL($sql);
        if (!$q->ok) {
            meta_admin_mysql(0, "Fatal error: Mysql Error", $q->mysql_error . "\n{$sql}", __FILE__, __LINE__);
            continue;
        }
        $q->CreateOrder($uuid, "POLICY", array("VALUE" => $md5));
    }
}
function build_proxy_configs()
{
    $unix = new unix();
    $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid";
    $cachetime = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".time";
    $pid = @file_get_contents($pidfile);
    if ($unix->process_exists($pid)) {
        die;
    }
    $sock = new sockets();
    $ArticaMetaStorage = $sock->GET_INFO("ArticaMetaStorage");
    if ($ArticaMetaStorage == null) {
        $ArticaMetaStorage = "/home/artica-meta";
    }
    @mkdir("{$ArticaMetaStorage}/nightlys", 0755, true);
    @mkdir("{$ArticaMetaStorage}/releases", 0755, true);
    @mkdir("{$ArticaMetaStorage}/proxy", 0755, true);
    $APACHE_ACCOUNT = $unix->APACHE_SRC_ACCOUNT();
    $q = new mysql_meta();
    @mkdir($GLOBALS["MAIN_PATH"], 0755, true);
    @mkdir("/usr/share/artica-postfix/ressources/conf/meta", 0755, true);
    $results = $q->QUERY_SQL("SELECT * FROM squid_whitelists ORDER BY `pattern`");
    while ($ligne = mysql_fetch_assoc($results)) {
        $f[] = "('{$ligne["zMD5"]}','{$ligne["pattern"]}')";
    }
    $prefix = "INSERT IGNORE INTO `squid_whitelists` (`zMD5`,`pattern`) VALUES " . @implode(",", $f);
    @file_put_contents("{$ArticaMetaStorage}/proxy/squid_whitelists.db", base64_encode($prefix));
    @chown("{$ArticaMetaStorage}/proxy/squid_whitelists.db", $APACHE_ACCOUNT);
    $results = $q->QUERY_SQL("SELECT uuid FROM metahosts WHERE PROXY=1");
    while ($ligne = mysql_fetch_assoc($results)) {
        $q->CreateOrder($ligne["uuid"], "PROXY_PARAMS");
    }
}
예제 #5
0
function service_cmd_perform()
{
    $artica = new mysql_meta();
    $artica->CreateOrder($_POST["uuid"], "SERVICE_CMD", array("action" => $_POST["service"], "cmdline" => $_POST["cmdline"]));
}
예제 #6
0
function manager_password_save()
{
    $uuid = $_POST["uuid"];
    $gpid = $_POST["gpid"];
    $password = url_decode_special_tool($_POST["change_password"]);
    $username = $_POST["change_admin"];
    $meta = new mysql_meta();
    $ARRAY["USER"] = $username;
    $ARRAY["PASS"] = $password;
    $value = base64_encode(serialize($ARRAY));
    if ($gpid > 0) {
        if (!$meta->CreateOrder_group($gpid, "MANAGER_CREDS", array("VALUE" => $value))) {
            echo "Failed\nFunction:" . __FUNCTION__ . "\nLine:" . __LINE__ . "\nFile:" . basename(__FILE__);
        }
        return;
    }
    if (!$meta->CreateOrder($uuid, "MANAGER_CREDS", array("VALUE" => $value))) {
        echo "Failed\nFunction:" . __FUNCTION__ . "\nLine:" . __LINE__ . "\nFile:" . basename(__FILE__);
    }
}
예제 #7
0
function update_save()
{
    $q = new mysql_meta();
    if ($_GET["gpid"] > 0) {
        if (!$q->CreateOrder_group($_POST["update-uuid"], "INSTALL_SOFTWARE", array("FILENAME" => $_POST["filename"], "FILESIZE" => $_POST["SIZE"]), true)) {
            echo $q->mysql_error;
        }
        return;
    }
    if (!$q->CreateOrder($_POST["update-uuid"], "INSTALL_SOFTWARE", array("FILENAME" => $_POST["filename"], "FILESIZE" => $_POST["SIZE"]))) {
        echo $q->mysql_error;
    }
}
function update_save()
{
    $q = new mysql_meta();
    $gpid = $_POST["gpid"];
    if ($gpid > 0) {
        if (!$q->CreateOrder_group($gpid, "UPDATE_ARTICA", array("FILENAME" => $_POST["filename"], "FILETYPE" => $_POST["filetype"]))) {
            echo "Failed\nFunction:" . __FUNCTION__ . "\nLine:" . __LINE__ . "\nFile:" . basename(__FILE__);
        }
        return;
    }
    if (!$q->CreateOrder($_POST["update-uuid"], "UPDATE_ARTICA", array("FILENAME" => $_POST["filename"], "FILETYPE" => $_POST["filetype"]))) {
        echo $q->mysql_error;
    }
}