diff --git a/pandora_console/godmode/setup/setup_websocket_engine.php b/pandora_console/godmode/setup/setup_websocket_engine.php index e042ae7788..aa03ffa341 100644 --- a/pandora_console/godmode/setup/setup_websocket_engine.php +++ b/pandora_console/godmode/setup/setup_websocket_engine.php @@ -80,6 +80,30 @@ $t->data[1][] = html_print_label_input_block( ); html_print_input_hidden('update_config', 1); + +// Test. +$row = []; +$test_start = ''; +$test_start .= ' '; +$row['gotty_test'] = html_print_label_input_block( + __('Test'), + html_print_button( + __('Start'), + 'test-gotty', + false, + 'handleTest()', + [ + 'icon' => 'cog', + 'mode' => 'secondary mini', + 'style' => 'width: 115px;', + ], + true + ).$test_start, + ['div_class' => 'inline_flex row'] +); + +$t->data['gotty_test'] = $row; + html_print_table($t); echo ''; @@ -99,3 +123,73 @@ html_print_action_buttons( ); echo ''; + +echo ''; diff --git a/pandora_console/include/lib/Websockets/WSManager.php b/pandora_console/include/lib/Websockets/WSManager.php index a193d8ba8a..6abce7051c 100644 --- a/pandora_console/include/lib/Websockets/WSManager.php +++ b/pandora_console/include/lib/Websockets/WSManager.php @@ -301,7 +301,7 @@ class WSManager extends WebSocketServer \db_pandora_audit( AUDIT_LOG_WEB_SOCKETS, 'WebSocket connection started', - $user->account->idUser + 'N/A' ); $this->stderr('ONLINE '.$user->address.'('.$user->account->idUser.')'); @@ -424,7 +424,7 @@ class WSManager extends WebSocketServer \db_pandora_audit( AUDIT_LOG_WEB_SOCKETS, 'WebSocket connection finished', - $user->account->idUser + 'N/A' ); $this->stderr('OFFLINE '.$user->address.'('.$user->account->idUser.')'); diff --git a/pandora_console/include/lib/Websockets/WebSocketServer.php b/pandora_console/include/lib/Websockets/WebSocketServer.php index 5294d6b6fc..e352dd5506 100644 --- a/pandora_console/include/lib/Websockets/WebSocketServer.php +++ b/pandora_console/include/lib/Websockets/WebSocketServer.php @@ -472,7 +472,7 @@ abstract class WebSocketServer } else if ($numBytes == 0) { $this->disconnect($socket); $this->stderr( - 'Client disconnected. TCP connection lost: '.$socket + 'Client disconnected. TCP connection lost' ); } else { $user = $this->getUserBySocket($socket); @@ -521,7 +521,7 @@ abstract class WebSocketServer } else if ($numBytes == 0) { $this->disconnect($socket); $this->stderr( - 'Client disconnected. TCP connection lost: '.$socket + 'Client disconnected. TCP connection lost.' ); } else { $user = $this->getUserBySocket($socket); @@ -581,6 +581,7 @@ abstract class WebSocketServer $sockErrNo=null ) { $user = $this->getUserBySocket($socket); + if ($user !== null) { if (array_key_exists($user->id, $this->users)) { unset($this->users[$user->id]); diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css index d6fec23c27..adf1325b07 100644 --- a/pandora_console/include/styles/pandora.css +++ b/pandora_console/include/styles/pandora.css @@ -10616,6 +10616,11 @@ button div.cog { contain; } +button div.tick { + mask: url(../../images/input_tick.png) no-repeat center / contain; + -webkit-mask: url(../../images/input_tick.png) no-repeat center / contain; +} + button div.info { mask: url(../../images/info@svg.svg) no-repeat center / contain; -webkit-mask: url(../../images/info@svg.svg) no-repeat center / contain; diff --git a/pandora_console/ws.php b/pandora_console/ws.php index c55e884d24..798381b69d 100644 --- a/pandora_console/ws.php +++ b/pandora_console/ws.php @@ -116,7 +116,7 @@ if (substr($os, 0, 3) !== 'win') { // Common. $base_cmd = 'nohup "'.$config['gotty'].'" '.$gotty_creds; - $base_cmd .= ' --permit-arguments -a 127.0.0.1 -w '; + $base_cmd .= ' --permit-arguments -a '.$config['gotty_host'].' -w '; // Launch gotty - SSH. $cmd = $base_cmd.' --port '.$config['gotty_ssh_port'];