summaryrefslogtreecommitdiffstats
path: root/apis/debugrequest.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'apis/debugrequest.inc.php')
-rw-r--r--apis/debugrequest.inc.php45
1 files changed, 12 insertions, 33 deletions
diff --git a/apis/debugrequest.inc.php b/apis/debugrequest.inc.php
index 5c1323ba..35b16332 100644
--- a/apis/debugrequest.inc.php
+++ b/apis/debugrequest.inc.php
@@ -1,35 +1,37 @@
<?php
function handleRequest() {
- static $DEBUG_SETTINGS;
- static $DEBUG_REQUEST;
$DEBUG_SETTINGS = Property::getRemoteDebugConfig();
$DEBUG_REQUEST = explode(":", file_get_contents("php://input"), 2);
- if (!checkEnabled() || !checkValid()) {
+ if (!$DEBUG_SETTINGS['enabled'] || !checkValid($DEBUG_REQUEST)) {
http_response_code(403);
exit(1);
}
- $task = runRelayTask();
+ $task = runRelayTask($DEBUG_SETTINGS);
waitForRelay($task);
exit(0);
}
function waitForRelay($task) {
while(true) {
- $status = Taskmanager::status();
- if($status["statusCode"] == "TASK_ERROR" || $status["statusCode"] == "TASK_FINISHED") {
+ $task = Taskmanager::status($task["id"]);
+ if( !$task || $task["statusCode"] == "TASK_ERROR" || $task["statusCode"] == "TASK_FINISHED") {
http_response_code(500);
exit(1);
+ break;
}
- elseif ($status["listenPort"] != -1) {
- echo "PORT={$status['listenPort']}";
+ elseif ($task["data"]["listenPort"] != -1) {
+ $PORT = $task["data"]["listenPort"];
+ echo "PORT=$PORT;";
Property::addToList("DispatchedRelay", $task["id"]);
break;
}
}
+ //echo print_r($task);
+ exit(1);
}
-function runRelayTask() {
+function runRelayTask($DEBUG_SETTINGS) {
$data = array("ip" => $DEBUG_SETTINGS["debugServer"], "port" => $DEBUG_SETTINGS["port"]);
return Taskmanager::submit("RemoteDebug", $data);
}
@@ -38,33 +40,10 @@ function checkEnabled() {
return $DEBUG_SETTINGS["enabled"];
}
-function checkValid() {
+function checkValid($DEBUG_REQUEST) {
return Database::queryFirst("SELECT machineuuid, clientip FROM machine WHERE machineuuid = :uuid AND clientip = :ip",
array(":uuid" => $DEBUG_REQUEST[0], ":ip" => $_SERVER["REMOTE_ADDR"]));
}
handleRequest();
-// $debug_settings = Property::getRemoteDebugConfig();
-// if ($debug_settings["enabled"] !== true) {
-// http_response_code(403);
-// exit;
-// }
-
-// $debug_request = explode(":", file_get_contents("php://input"), 2);
-
-// $uuid = $debug_request[0];
-// $port = 5900 + $debug_request[1];
-
-// $validclient = Database::queryFirst("SELECT machineuuid, clientip FROM machine WHERE machineuuid = :uuid AND clientip = :ip", array(":uuid" => "$debug_request[0]", ":ip" => $_SERVER["REMOTE_ADDR"]));
-
-// if ($validclient == false) {
-// http_response_code(400);
-// } else {
-// http_response_code(200);
-// $data = array("hosts" => array($_SERVER["REMOTE_ADDR"], $debug_settings["debugServer"]),
-// "ports" => array($port, intval($debug_settings["port"])), "descs" => array("bwlpclient", "debugserver"));
-// $taskstruct = Taskmanager::submit('DispatchRelay', $data);
-// Property::addToList("DispatchedRelay", $taskstruct['id']);
-// }
-