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.php24
1 files changed, 24 insertions, 0 deletions
diff --git a/apis/debugrequest.inc.php b/apis/debugrequest.inc.php
new file mode 100644
index 00000000..0d423bec
--- /dev/null
+++ b/apis/debugrequest.inc.php
@@ -0,0 +1,24 @@
+<?php
+$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::setDebugTaskStruct($taskstruct);
+}
+