function add_node() { $sock = new sockets(); $ArticaMetaAddNewServ = unserialize($sock->GET_INFO("ArticaMetaAddNewServ")); $ArticaMetaHost = $ArticaMetaAddNewServ["ArticaMetaHost"]; $ArticaMetaPort = $ArticaMetaAddNewServ["ArticaMetaPort"]; $ArticaMetaUsername = $ArticaMetaAddNewServ["ArticaMetaUsername"]; $ArticaMetaPassword = $ArticaMetaAddNewServ["ArticaMetaPassword"]; $change_uuid = $ArticaMetaAddNewServ["change_uuid"]; echo "ArticaMetaHost.........: {$ArticaMetaHost}\n"; echo "ArticaMetaPort.........: {$ArticaMetaPort}\n"; echo "ArticaMetaUsername.....: {$ArticaMetaUsername}\n"; echo "Testing authentication...\n"; add_node_progress("Authenticate to {$ArticaMetaHost}:{$ArticaMetaPort}", 10); $array["username"] = $ArticaMetaUsername; $array["password"] = $ArticaMetaPassword; $ident = urlencode(base64_encode(serialize($array))); $curl = new ccurl("https://{$ArticaMetaHost}:{$ArticaMetaPort}/artica.meta.listener.php?test-local-ident={$ident}"); $curl->NoHTTP_POST = true; $curl->NoLocalProxy(); $curl->Timeout = 120; if (!$curl->get()) { echo @implode("\n", $curl->errors); add_node_progress("{$curl->error}", 110); die; } if (!preg_match("#<ARTICA_META>(.+?)</ARTICA_META>#is", $curl->data, $re)) { echo "Expected <ARTICA_META>Someting...</ARTICA_META>"; add_node_progress("Communication: {failed}", 110); die; } if ($re[1] != "SUCCESS") { add_node_progress("Authenticate: {failed}", 110); die; } echo "Testing authentication - success -...\n"; if ($change_uuid == 1) { echo "Ask to remote server to change UUID...\n"; add_node_progress("{change_uuid}", 20); $curl = new ccurl("https://{$ArticaMetaHost}:{$ArticaMetaPort}/artica.meta.listener.php?local-ident={$ident}&chuuid=yes"); $curl->NoHTTP_POST = true; $curl->NoLocalProxy(); $curl->Timeout = 120; if (!$curl->get()) { echo @implode("\n", $curl->errors); add_node_progress("{$curl->error}", 110); die; } if (!preg_match("#<ARTICA_META>(.+?):(.+?)</ARTICA_META>#is", $curl->data, $re)) { add_node_progress("{change_uuid}: Communication: {failed}", 110); die; } add_node_progress("{change_uuid}:{$re[2]} {success}", 25); echo "Ask to remote server to change UUID - success -...\n"; } echo "Ask UUID to remote server...\n"; add_node_progress("{uuid}:", 30); $curl = new ccurl("https://{$ArticaMetaHost}:{$ArticaMetaPort}/artica.meta.listener.php?local-ident={$ident}&GetYourUUID=yes"); $curl->NoHTTP_POST = true; $curl->NoLocalProxy(); $curl->Timeout = 120; if (!$curl->get()) { echo @implode("\n", $curl->errors); add_node_progress("{$curl->error}", 110); die; } if (!preg_match("#<ARTICA_META>(.+?):(.+?)</ARTICA_META>#is", $curl->data, $re)) { add_node_progress("{uuid}: Communication: {failed}", 110); die; } $RESULT = $re[1]; $uuid = $re[2]; echo "UUID results:\n---------------------------------------------\n{$uuid}\n{$RESULT}\n---------------------------------------------\n"; if ($RESULT == "SUCCESS") { add_node_progress("{uuid}: {$uuid} {success}", 35); } else { add_node_progress("{uuid}: {failed}", 110); return; } echo "Ask to remote server to register to Artica Meta server ...\n"; add_node_progress("{order}: -> {register}", 50); $ArticaMetaServerUsername = $sock->GET_INFO("ArticaMetaServerUsername"); $ArticaMetaServerPassword = $sock->GET_INFO("ArticaMetaServerPassword"); $ArticaMetaAddNewServ["ArticaMetaUsername"] = $ArticaMetaServerUsername; $ArticaMetaAddNewServ["ArticaMetaPassword"] = $ArticaMetaServerPassword; if ($GLOBALS["VERBOSE"]) { $verbosed = "&verbose=yes"; } $ArticaMetaAddNewServ_enc = urlencode(base64_encode(serialize($ArticaMetaAddNewServ))); $curl = new ccurl("https://{$ArticaMetaHost}:{$ArticaMetaPort}/artica.meta.listener.php?local-ident={$ident}®isterby={$ArticaMetaAddNewServ_enc}{$verbosed}"); $curl->NoHTTP_POST = true; $curl->NoLocalProxy(); $curl->Timeout = 120; if (!$curl->get()) { echo @implode("\n", $curl->errors); add_node_progress("{$curl->error}", 110); die; } if ($GLOBALS["VERBOSE"]) { echo "***********************************\n{$curl->data}\n***********************************\n"; } if (!preg_match("#<ARTICA_META>(.+?):(.+?)</ARTICA_META>#is", $curl->data, $re)) { add_node_progress("{register}: Communication: {failed}", 110); die; } $RESULT = $re[1]; $DATA = $re[2]; echo $DATA; echo "Register results:\n---------------------------------------------\n{$DATA}\n{$RESULT}\n---------------------------------------------\n"; if ($RESULT == "SUCCESS") { add_node_progress("{register}: {success}", 99); } else { add_node_progress("{register}: {failed}", 110); return; } $artica_meta = new mysql_meta(); add_node_progress("{waiting}: {$ArticaMetaHost} {to_return_back}", 79); for ($i = 0; $i < 20; $i++) { if ($artica_meta->isExists($uuid)) { break; } echo "Waiting {$ArticaMetaHost} {$uuid} to register to Artica Meta...{$i}/20 second\n"; $prc = 79 + $i; add_node_progress("{waiting}: {$ArticaMetaHost} {to_return_back}", $prc); sleep(1); } if ($artica_meta->isExists($uuid)) { $hostname = $artica_meta->uuid_to_host($uuid); add_node_progress("{register}: {success} `{$hostname}`", 100); return; } add_node_progress("{register}: {failed}", 110); }
function GetTargetedSize($URI) { $ExpectedSize = 0; $curl = new ccurl($URI); $curl->NoLocalProxy(); $Headers = $curl->getHeaders(); if (isset($Headers["Content-Length"])) { return $Headers["Content-Length"]; } if ($ExpectedSize == 0) { if (isset($Headers["download_content_length"])) { return $Headers["download_content_length"]; } } return 0; }
function register_lic() { ini_set('html_errors', 0); ini_set('display_errors', 1); ini_set('error_reporting', E_ALL); $sock = new sockets(); $unix = new unix(); $WORKDIR = base64_decode("L3Vzci9sb2NhbC9zaGFyZS9hcnRpY2E="); $WORKFILE = base64_decode('LmxpYw=='); $WORKPATH = "{$WORKDIR}/{$WORKFILE}"; $nohup = $unix->find_program("nohup"); if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . "\n"; } $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)) { build_progress("License information: Already executed PID:{$pid}, die()", 100); die; } build_progress("Building informations...", 10); $EnableRemoteStatisticsAppliance = $sock->GET_INFO("EnableRemoteStatisticsAppliance"); if (!is_numeric($EnableRemoteStatisticsAppliance)) { $EnableRemoteStatisticsAppliance = 0; } $cmdADD = null; if ($EnableRemoteStatisticsAppliance == 1) { $cmdADD = "{$nohup} " . $unix->LOCATE_PHP5_BIN() . " " . dirname(__FILE__) . "/exec.netagent.php >/dev/null 2>&1 &"; } $WizardSavedSettings = unserialize(base64_decode($sock->GET_INFO("WizardSavedSettings"))); if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . "\n"; } $LicenseInfos = unserialize(base64_decode($sock->GET_INFO("LicenseInfos"))); if (!isset($LicenseInfos["GoldKey"])) { $LicenseInfos["GoldKey"] = null; } $LicenseInfos["COMPANY"] = str_replace("%uFFFD", "é", $LicenseInfos["COMPANY"]); if ($WizardSavedSettings["GoldKey"] != null) { if ($sock->IsGoldKey($WizardSavedSettings["GoldKey"])) { if ($LicenseInfos["GoldKey"] == null) { echo "Gold Key: {$WizardSavedSettings["GoldKey"]}\n"; $LicenseInfos["GoldKey"] = $WizardSavedSettings["GoldKey"]; } } } build_progress("Check information {$LicenseInfos["COMPANY"]}", 20); if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . "\n"; } $uuid = $unix->GetUniqueID(); build_progress("Check information {$uuid}", 30); echo " *************** \n\n UUID : {$uuid} \n\n ***************\n"; if ($uuid == null) { build_progress("No system ID !", 110); return; } if (!is_numeric($LicenseInfos["REGISTER"])) { echo "License information: server is not registered\n"; } if ($LicenseInfos["REGISTER"] != 1) { echo "License information: server is not registered\n"; build_progress("License information: server is not registered", 110); die; } $LicenseInfos["UUID"] = $uuid; //if($GLOBALS["VERBOSE"]){$curl->parms["VERBOSE"]="yes";} if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . "\n"; } if (!isset($LicenseInfos["license_number"])) { $LicenseInfos["license_number"] = null; } if ($LicenseInfos["license_number"] == "--") { $LicenseInfos["license_number"] = null; } if (strpos($LicenseInfos["license_number"], "(") > 0) { $LicenseInfos["license_number"] = null; } echo "License number:{$LicenseInfos["license_number"]}\n"; @mkdir($WORKDIR, 640, true); if (isset($LicenseInfos["UNLOCKLIC"])) { if (strlen($LicenseInfos["UNLOCKLIC"]) > 4) { if (isset($LicenseInfos["license_number"])) { if (strlen($LicenseInfos["license_number"]) > 4) { $manulic = aef00vh567($uuid) . "-" . aef00vh567($LicenseInfos["license_number"]); if ($manulic == $LicenseInfos["UNLOCKLIC"]) { @file_put_contents($WORKPATH, "TRUE"); $LicenseInfos["license_status"] = "{license_active}"; $LicenseInfos["TIME"] = time(); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); if ($cmdADD != null) { shell_exec($cmdADD); } build_progress("{license_active}", 80); CheckLic($LicenseInfos, $WizardSavedSettings); return; } } } } } $unix = new unix(); $URIBASE = $unix->MAIN_URI(); $URIBASE = str_replace("articatech.net", "artica.fr", $URIBASE); $verbosed = "?VERBOSE=yes&time=" . time(); build_progress("Checking license on the cloud server...", 40); echo "Contacting {$URIBASE}\n"; $curl = new ccurl("{$URIBASE}/shalla-orders.php", false, null, true); echo "Set to not use Local proxy\n"; $curl->NoLocalProxy(); if ($GLOBALS["VERBOSE"]) { $curl->parms["VERBOSE"] = yes; } $curl->parms["REGISTER-LIC"] = base64_encode(serialize($LicenseInfos)); $curl->parms["REGISTER-OLD"] = base64_encode(serialize($WizardSavedSettings)); echo "Send request... please wait...\n"; if (!$curl->get()) { build_progress("Failed to contact cloud server", 110); echo "Error: " . $curl->error . "\n"; echo @implode("\n", $curl->errors); $LicenseInfos["TIME"] = time(); $LicenseInfos["license_status"] = "{registration_failed} {$curl->error}"; $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); return; } echo "Request passed\n"; build_progress("Cheking license on the cloud server done.", 50); if ($GLOBALS["VERBOSE"]) { echo "***** {$curl->data} ****\n"; } if (preg_match("#REGISTRATION_OK:\\[(.+?)\\]#s", $curl->data, $re)) { build_progress("{waiting_approval} {success}", 100); $LicenseInfos["license_status"] = "{waiting_approval}"; $LicenseInfos["license_number"] = $re[1]; $LicenseInfos["TIME"] = time(); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); @unlink($WORKPATH); if ($cmdADD != null) { shell_exec($cmdADD); } shell_exec("/usr/share/artica-postfix/bin/process1 --force --verbose " . time() . " >/dev/null 2>&1"); return; } if (preg_match("#LICENSE_OK:\\[(.+?)\\]#s", $curl->data, $re)) { echo "***** LICENSE_OK ****\n"; @file_put_contents($WORKPATH, "TRUE"); $LicenseInfos["license_status"] = "{license_active}"; $LicenseInfos["TIME"] = time(); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); if ($cmdADD != null) { shell_exec($cmdADD); } build_progress("{license_active} {refresh}", 100); system("/usr/share/artica-postfix/bin/process1 --force --verbose --" . time()); build_progress("{license_active} {success}", 100); return; } if (preg_match("#REGISTRATION_INVALID#s", $curl->data, $re)) { @unlink($WORKPATH); echo "***** REGISTRATION_INVALID ****\n"; $LicenseInfos["license_status"] = "{community_license}"; $LicenseInfos["license_number"] = null; $LicenseInfos["UNLOCKLIC"] = null; $LicenseInfos["TIME"] = time(); build_progress("Community Edition - limited...", 100); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); if ($cmdADD != null) { shell_exec($cmdADD); } $unix->Process1(true); return; } if (preg_match("#REGISTRATION_DELETE_NOW#s", $curl->data, $re)) { echo "***** REGISTRATION_DELETE_NOW ****\n"; @unlink($WORKPATH); $LicenseInfos["license_status"] = "Community Edition - limited"; $LicenseInfos["license_number"] = null; $LicenseInfos["UNLOCKLIC"] = null; $LicenseInfos["TIME"] = time(); $unix->Process1(true); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); shell_exec("/usr/share/artica-postfix/bin/process1 --force --verbose " . time() . " >/dev/null 2>&1"); build_progress("Community Edition - limited", 110); return; } if ($curl->error != null) { system_admin_events("License registration failed with error {$curl->error}", "GetLicense", "license", 0, "license"); } build_progress("Unknown registration?", 110); if (!is_file($WORKPATH)) { build_progress("{registration_failed} {failed}", 110); echo "***** Registration_failed ****\n"; $LicenseInfos["TIME"] = time(); if ($LicenseInfos["license_number"] == null) { $LicenseInfos["license_status"] = "{registration_failed} {$curl->error}"; } $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); } if ($cmdADD != null) { shell_exec($cmdADD); } }
function register_lic() { ini_set('html_errors', 0); ini_set('display_errors', 1); ini_set('error_reporting', E_ALL); $sock = new sockets(); $unix = new unix(); $ini = new Bs_IniHandler(); $function_ghost = base64_decode("Y2hlY2tsaWNlbnNlLmJpbg=="); $error1 = base64_decode("e2dlbmVyaWNfaHR0cF9lcnJvcn0="); $textGhost = base64_decode("Q29ycG9yYXRlIExpY2Vuc2UgZXhwaXJlZCAtIHJldHVybiBiYWNrIHRvIENvbW11bml0eSBsaWNlbnNl"); $verifailed = base64_decode("Q29ycG9yYXRlIExpY2Vuc2UgZXhwaXJlZCAtIHJldHVybiBiYWNrIHRvIENvbW11bml0eSBsaWNlbnNl"); $licexpir = base64_decode("e2xpY2Vuc2VfZXhwaXJlZH0="); $line_ghost = base64_decode("MTA4NDM="); $datas = $sock->GET_INFO("ArticaProxySettings"); $squidbin = $unix->LOCATE_SQUID_BIN(); $php = $unix->LOCATE_PHP5_BIN(); $ArticaProxyServerEnabled = null; if (trim($datas) != null) { $ini->loadString($datas); $ArticaProxyServerEnabled = $ini->_params["PROXY"]["ArticaProxyServerEnabled"]; if ($ArticaProxyServerEnabled == 1) { $ArticaProxyServerEnabled == "yes"; } } echo "Use a Proxy server: {$ArticaProxyServerEnabled}\n"; $WORKDIR = base64_decode("L3Vzci9sb2NhbC9zaGFyZS9hcnRpY2E="); $WORKFILE = base64_decode('LmxpYw=='); $WORKPATH = "{$WORKDIR}/{$WORKFILE}"; $nohup = $unix->find_program("nohup"); if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . "\n"; } $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)) { build_progress("License information: Already executed PID:{$pid}, die()", 100); die; } build_progress("Building informations...", 10); $EnableRemoteStatisticsAppliance = $sock->GET_INFO("EnableRemoteStatisticsAppliance"); if (!is_numeric($EnableRemoteStatisticsAppliance)) { $EnableRemoteStatisticsAppliance = 0; } $cmdADD = null; if ($EnableRemoteStatisticsAppliance == 1) { $cmdADD = "{$nohup} " . $unix->LOCATE_PHP5_BIN() . " " . dirname(__FILE__) . "/exec.netagent.php >/dev/null 2>&1 &"; } $WizardSavedSettings = unserialize(base64_decode($sock->GET_INFO("WizardSavedSettings"))); if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . "\n"; } $LicenseInfos = unserialize(base64_decode($sock->GET_INFO("LicenseInfos"))); if (!isset($LicenseInfos["COMPANY"])) { $LicenseInfos["COMPANY"] = null; } if (!isset($LicenseInfos["GoldKey"])) { $LicenseInfos["GoldKey"] = null; } if (!isset($LicenseInfos["REGISTER"])) { $LicenseInfos["REGISTER"] = null; } if (!isset($LicenseInfos["GoldKey"])) { $LicenseInfos["GoldKey"] = null; } if (!isset($WizardSavedSettings["GoldKey"])) { $WizardSavedSettings["GoldKey"] = null; } $LicenseInfos["STATS_APPLIANCE"] = 0; $LicenseInfos["COMPANY"] = str_replace("%uFFFD", "é", $LicenseInfos["COMPANY"]); if ($WizardSavedSettings["GoldKey"] != null) { if ($sock->IsGoldKey($WizardSavedSettings["GoldKey"])) { if ($LicenseInfos["GoldKey"] == null) { echo "Gold Key: {$WizardSavedSettings["GoldKey"]}\n"; $LicenseInfos["GoldKey"] = $WizardSavedSettings["GoldKey"]; } } } build_progress("Check information {$LicenseInfos["COMPANY"]}", 20); if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . "\n"; } $uuid = $unix->GetUniqueID(); build_progress("Check information {$uuid}", 30); echo " *************** \n\n UUID : {$uuid} \n\n ***************\n"; if ($uuid == null) { build_progress("No system ID !", 110); return; } if (!is_numeric($LicenseInfos["REGISTER"])) { echo "License information: server is not registered\n"; } if ($LicenseInfos["REGISTER"] != 1) { echo "License information: server is not registered\n"; register(); build_progress("License information: server is not registered", 110); echo "Please, restart again..."; die; } $LicenseInfos["UUID"] = $uuid; $LicenseInfos["ARTICAVERSION"] = @file_get_contents("/usr/share/artica-postfix/VERSION"); if (is_file("/etc/artica-postfix/STATS_APPLIANCE")) { $LicenseInfos["STATS_APPLIANCE"] = 1; } //if($GLOBALS["VERBOSE"]){$curl->parms["VERBOSE"]="yes";} if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . "\n"; } if (!isset($LicenseInfos["license_number"])) { $LicenseInfos["license_number"] = null; } if ($LicenseInfos["license_number"] == "--") { $LicenseInfos["license_number"] = null; } if (strpos($LicenseInfos["license_number"], "(") > 0) { $LicenseInfos["license_number"] = null; } echo "License number:{$LicenseInfos["license_number"]}\n"; @mkdir($WORKDIR, 640, true); if (isset($LicenseInfos["UNLOCKLIC"])) { if (strlen($LicenseInfos["UNLOCKLIC"]) > 4) { if (isset($LicenseInfos["license_number"])) { if (strlen($LicenseInfos["license_number"]) > 4) { $manulic = aef00vh567($uuid) . "-" . aef00vh567($LicenseInfos["license_number"]); if ($manulic == $LicenseInfos["UNLOCKLIC"]) { @file_put_contents($WORKPATH, "TRUE"); $LicenseInfos["license_status"] = "{license_active}"; $LicenseInfos["TIME"] = time(); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); if ($cmdADD != null) { shell_exec($cmdADD); } build_progress("{license_active}", 80); CheckLic($LicenseInfos, $WizardSavedSettings); return; } } } } } $unix = new unix(); $URIBASE = $unix->MAIN_URI(); $URIBASE = str_replace("articatech.net", "artica.fr", $URIBASE); $verbosed = "?VERBOSE=yes&time=" . time(); build_progress("Checking license on the cloud server...", 40); echo "Contacting {$URIBASE}\n"; $curl = new ccurl("{$URIBASE}/shalla-orders.php", false, null); if ($ArticaProxyServerEnabled != "yes") { echo "* * * Set to not use Local proxy * * *\n"; $curl->NoLocalProxy(); } if ($GLOBALS["VERBOSE"]) { $curl->parms["VERBOSE"] = yes; } $curl->parms["REGISTER-LIC"] = base64_encode(serialize($LicenseInfos)); $curl->parms["REGISTER-OLD"] = base64_encode(serialize($WizardSavedSettings)); echo "Send request... please wait...\n"; if (!$curl->get()) { build_progress("Failed to contact cloud server", 110); echo "Error: " . $curl->error . "\n"; echo @implode("\n", $curl->errors); $LicenseInfos["TIME"] = time(); $LicenseInfos["license_status"] = "{registration_failed} {$curl->error}"; $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); if (!is_file("/etc/artica-postfix/REGISTRATION_FAILED_TIME")) { @file_put_contents("/etc/artica-postfix/REGISTRATION_FAILED_TIME", time()); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); return; } $LastTime = intval(@file_get_contents("/etc/artica-postfix/REGISTRATION_FAILED_TIME")); if ($LastTime == 0) { @file_put_contents("/etc/artica-postfix/REGISTRATION_FAILED_TIME", time()); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); return; } $TimeMin = $unix->time_min($LastTime); if ($TimeMin > 10080) { if (is_file($WORKPATH)) { @unlink($WORKPATH); squid_admin_mysql(0, base64_decode("Q2Fubm90IGNvbnRhY3QgY2xvdWQgc2VydmVyIHNpbmNlIDcgZGF5cywgdHVybiB0byBDb21tdW5pdHkgRWRpdGlvbg=="), $function_ghost, $line_ghost); $LicenseInfos["license_status"] = $error1; $LicenseInfos["license_number"] = ""; $LicenseInfos["TIME"] = time(); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); shell_exec("/usr/share/artica-postfix/bin/process1 --force --verbose " . time() . " >/dev/null 2>&1"); } } return; } @file_put_contents("/etc/artica-postfix/REGISTRATION_FAILED_TIME", 0); echo "OK....\n"; build_progress("{checkiccloud1}", 50); //if($GLOBALS["VERBOSE"]){echo "***** $curl->data ****\n";} $finaltime = 0; if (preg_match("#<FINALTIME>([0-9]+)</FINALTIME>#s", $curl->data, $re)) { $finaltime = $re[1]; } if ($finaltime > 0) { if (time() > $finaltime) { if (is_file($WORKPATH)) { @unlink($WORKPATH); build_progress($verifailed, 110); $array1["license_status"] = $licexpir; $array1["license_number"] = null; $array1["UNLOCKLIC"] = null; $array1["TIME"] = time(); if ($finaltime > 0) { $LicenseInfos["FINAL_TIME"] = $finaltime; } $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); squid_admin_mysql(0, $textGhost, null, $function_ghost, $line_ghost); shell_exec("/usr/share/artica-postfix/bin/process1 --force --verbose"); if (is_file($squidbin)) { shell_exec("{$php} /usr/share/artica-postfix/exec.squid.php --build"); shell_exec("{$php} /usr/share/artica-postfix/exec.kerbauth.php --disconnect"); shell_exec("/etc/init.d/squid restart {$GLOBALS["SCRIPT_SUFFIX"]}"); } $sock->SaveConfigFile(base64_encode(serialize($array1)), "LicenseInfos"); } return; } } if (preg_match("#<BADMAIL>(0|1)</BADMAIL>#s", $curl->data, $re)) { echo "***** EMAIL *****\n"; $sock->SET_INFO("RegisterCloudBadEmail", $re[1]); } if (preg_match("#REGISTRATION_OK:\\[(.+?)\\]#s", $curl->data, $re)) { build_progress("{waiting_approval} {success}", 100); $LicenseInfos["license_status"] = "{waiting_approval}"; $LicenseInfos["license_number"] = $re[1]; $LicenseInfos["TIME"] = time(); if ($finaltime > 0) { $LicenseInfos["FINAL_TIME"] = $finaltime; } $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); @unlink($WORKPATH); if ($cmdADD != null) { shell_exec($cmdADD); } shell_exec("/usr/share/artica-postfix/bin/process1 --force --verbose " . time() . " >/dev/null 2>&1"); return; } if (preg_match("#LICENSE_OK:\\[(.+?)\\]#s", $curl->data, $re)) { echo "***** LICENSE_OK ****\n"; @file_put_contents($WORKPATH, "TRUE"); if ($finaltime > 0) { $LicenseInfos["FINAL_TIME"] = $finaltime; } $LicenseInfos["license_status"] = "{license_active}"; $LicenseInfos["TIME"] = time(); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); if ($cmdADD != null) { shell_exec($cmdADD); } build_progress("{license_active} {refresh}", 100); system("/usr/share/artica-postfix/bin/process1 --force --verbose --" . time()); build_progress("{license_active} {success}", 100); return; } if (preg_match("#REGISTRATION_INVALID#s", $curl->data, $re)) { @unlink($WORKPATH); echo "***** REGISTRATION_INVALID ****\n"; $LicenseInfos["license_status"] = "{community_license}"; $LicenseInfos["license_number"] = null; $LicenseInfos["UNLOCKLIC"] = null; $LicenseInfos["TIME"] = time(); if ($finaltime > 0) { $LicenseInfos["FINAL_TIME"] = $finaltime; } build_progress("Community Edition - limited...", 100); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); if ($cmdADD != null) { shell_exec($cmdADD); } $unix->Process1(true); return; } if (preg_match("#REGISTRATION_DELETE_NOW#s", $curl->data, $re)) { echo "***** REGISTRATION_DELETE_NOW ****\n"; @unlink($WORKPATH); $LicenseInfos["license_status"] = "Community Edition - limited"; $LicenseInfos["license_number"] = null; $LicenseInfos["UNLOCKLIC"] = null; $LicenseInfos["TIME"] = time(); if ($finaltime > 0) { $LicenseInfos["FINAL_TIME"] = $finaltime; } $unix->Process1(true); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); shell_exec("/usr/share/artica-postfix/bin/process1 --force --verbose " . time() . " >/dev/null 2>&1"); build_progress("Community Edition - limited", 110); return; } if ($curl->error != null) { system_admin_events("License registration failed with error {$curl->error}", "GetLicense", "license", 0, "license"); } build_progress("Unknown registration?", 110); if (!is_file($WORKPATH)) { build_progress("{waiting_order}", 110); echo "***** Registration_failed ****\n"; $LicenseInfos["TIME"] = time(); if ($LicenseInfos["license_number"] == null) { $LicenseInfos["license_status"] = "{registration_failed} {$curl->error}"; } $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); } if ($cmdADD != null) { shell_exec($cmdADD); } }
function register_lic_kaspersky() { $sock = new sockets(); $unix = new unix(); $WizardSavedSettings = unserialize(base64_decode($sock->GET_INFO("WizardSavedSettings"))); if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . "\n"; } $uuid = $unix->GetUniqueID(); if ($GLOBALS["VERBOSE"]) { echo " *************** \n\n UUID : {$uuid} \n\n ***************\n"; } if ($uuid == null) { if ($GLOBALS["VERBOSE"]) { echo "No system ID !\n"; } return; } $WizardSavedSettings["UUID"] = $uuid; $unix = new unix(); $URIBASE = $unix->MAIN_URI(); $URIBASE = str_replace("articatech.net", "artica.fr", $URIBASE); $verbosed = null; $php = $unix->LOCATE_PHP5_BIN(); $nohup = $unix->find_program("nohup"); $KasperskyAskQuoteResults = $sock->GET_INFO("KasperskyAskQuoteResults"); if ($KasperskyAskQuoteResults == "KEY_OK") { return; } if (is_file("/etc/artica-postfix/artica-iso-first-reboot")) { $zDate = filemtime("/etc/artica-postfix/artica-iso-first-reboot"); $WizardSavedSettings["INSTALL_DATE"] = date("Y-m-d H:i:s", $zDate); } else { $zDate = filemtime("/etc/artica-postfix/."); $WizardSavedSettings["INSTALL_DATE"] = date("Y-m-d H:i:s", $zDate); } $curl = new ccurl("{$URIBASE}/shalla-orders.php{$verbosed}", false, null); $curl->NoLocalProxy(); if ($GLOBALS["VERBOSE"]) { $curl->parms["VERBOSE"] = yes; } $curl->parms["REGISTER_KAV4PROXY"] = base64_encode(serialize($WizardSavedSettings)); $curl->get(); if ($GLOBALS["VERBOSE"]) { echo "***** {$curl->data} ****\n"; } if (preg_match("#INVALID_TEMP_LICENSE#is", $curl->data)) { $sock->SET_INFO("KasperskyAskQuoteResults", "INVALID_TEMP_LICENSE"); return false; } if (preg_match("#CLOUD_ERROR#is", $curl->data)) { $sock->SET_INFO("KasperskyAskQuoteResults", "CLOUD_ERROR"); return false; } if (preg_match("#TEMP_LICENSE=\\[(.+?)\\]#is", $curl->data, $re)) { $sock->SET_INFO("KasperskyAskQuoteResults", "waiting_order"); $WizardSavedSettings["license_kav4Proxy_temp"] = $re[1]; $sock->SaveConfigFile(base64_encode(serialize($WizardSavedSettings)), "WizardSavedSettings"); return true; } if (preg_match("#<LICENSE_K>(.*?)</LICENSE_K>#is", $curl->data, $re)) { $ldata = $re[1]; @file_put_contents("/tmp/kl", $ldata); exec("/opt/kaspersky/kav4proxy/bin/kav4proxy-licensemanager -a /tmp/kl 2>&1", $results); @unlink("/tmp/kl"); while (list($table, $none) = each($results)) { if (!preg_match("#successfully registered#", $none)) { if ($GLOBALS["VERBOSE"]) { echo "{$none}\n"; } continue; } $sock->SET_INFO("KasperskyAskQuoteResults", "KEY_OK"); shell_exec("{$php} /usr/share/artica-postfix/exec.keepup2date.php --update"); shell_exec("{$nohup} {$php} /usr/share/artica-postfix/exec.kav4proxy.php --license --force >/dev/null 2>&1 &"); break; } } }