From 5b1498e08c2ae33060acf8707dda0eaeb90f5a05 Mon Sep 17 00:00:00 2001 From: Daniel Barbero Martin Date: Tue, 15 Jun 2021 17:40:48 +0200 Subject: [PATCH] Wip command center, Plugins in meta --- pandora_console/godmode/servers/plugin.php | 125 --------------------- 1 file changed, 125 deletions(-) diff --git a/pandora_console/godmode/servers/plugin.php b/pandora_console/godmode/servers/plugin.php index 61e99fa9d4..4ad3d609bc 100644 --- a/pandora_console/godmode/servers/plugin.php +++ b/pandora_console/godmode/servers/plugin.php @@ -838,131 +838,6 @@ if (($create != '') || ($view != '')) { } } - if ($deploy_plugin_server) { - $setup = db_get_all_rows_in_table('tmetaconsole_setup'); - // recorremos todos los nodos. - foreach ($setup as $key => $value) { - // Obtenemos los plugins de la meta. - $all_plugin_meta = db_get_all_rows_sql('SELECT SQL_NO_CACHE * FROM tplugin', false, false); - // Conectamos con el nodo. - if (metaconsole_connect($value) == NOERR) { - $values = []; - // Obtenemos los plugin del nodo. - $node_plugin_server = db_get_all_rows_sql('SELECT SQL_NO_CACHE * FROM tplugin', false, false); - foreach ($node_plugin_server as $key2 => $plugin) { - // Comprobamos si el id esta meta y nodo al mismo tiempo. - $key_exists = array_search($plugin['id'], array_column($all_plugin_meta, 'id')); - if ($key_exists !== false) { - // Si el plugin tiene el mismo id pero diferentes datos. - if ($all_plugin_meta[$key_exists] != $plugin) { - $old_id = $plugin['id']; - $new_id = ($plugin['id'] + (1000 * $value['id'])); - - // El plugin del nodo pasa a tener otro id y otro nombre. - $plugin['id'] = $new_id; - $plugin['name'] = $plugin['name'].'_'.$value['server_name']; - $result_update = db_process_sql_update( - 'tplugin', - [ - 'id' => $new_id, - 'name' => $plugin['name'], - ], - ['id' => $old_id] - ); - - if ($result_update) { - db_process_sql_update( - 'tagente_modulo', - ['id_plugin' => $new_id], - ['id_plugin' => $old_id] - ); - - db_process_sql_update( - 'tnetwork_component', - ['id_plugin' => $new_id], - ['id_plugin' => $old_id] - ); - - db_process_sql_update( - 'tpolicy_modules', - ['id_plugin' => $new_id], - ['id_plugin' => $old_id] - ); - } - - // New plugins to insert in the metaconsole. - $values[$plugin['id']] = $plugin; - } - } else { - // Exists in the node, but does not exist in the metaconsole. - $values[$plugin['id']] = $plugin; - } - } - - // Restore to metaconsole. - metaconsole_restore_db(); - - // Insert in metaconsole. - if (!empty($values)) { - foreach ($values as $key2 => $val) { - // Insert into metaconsole. - $result_insert = db_process_sql_insert('tplugin', $val); - } - } - } - } - - $all_plugin_meta = db_get_all_rows_sql('SELECT SQL_NO_CACHE * FROM tplugin', false, false); - - foreach ($setup as $key => $value) { - if (metaconsole_connect($value) == NOERR) { - $all_plugin_node = db_get_all_rows_sql('SELECT SQL_NO_CACHE * FROM tplugin', false, false); - - $array_diff = array_diff(array_column($all_plugin_meta, 'id'), array_column($all_plugin_node, 'id')); - foreach ($array_diff as $key2 => $pluginid) { - $other = []; - $plugin_meta = $all_plugin_meta[$key2]; - - unset($plugin_meta['id']); - $other['name'] = urlencode($plugin_meta['name']); - $other['description'] = urlencode($plugin_meta['description']); - $other['max_timeout'] = $plugin_meta['max_timeout']; - $other['max_retries'] = $plugin_meta['max_retries']; - $other['execute'] = urlencode($plugin_meta['execute']); - $other['net_dst_opt'] = $plugin_meta['net_dst_opt']; - $other['net_port_opt'] = $plugin_meta['net_port_opt']; - $other['user_opt'] = $plugin_meta['user_opt']; - $other['pass_opt'] = $plugin_meta['pass_opt']; - $other['plugin_type'] = $plugin_meta['plugin_type']; - $other['macros'] = urlencode($plugin_meta['macros']); - $other['parameters'] = urlencode($plugin_meta['parameters']); - $other = implode('%7E', $other); - - $auth_token = json_decode($value['auth_token']); - $url = $value['server_url'].'include/api.php?op=set&op2=push_plugin'.'&id='.$pluginid.'&other_mode=url_encode_separator_%7E&other='.$other."&apipass=$auth_token->api_password"."&user=$auth_token->console_user&pass=$auth_token->console_password"; - $file_path = realpath($plugin_meta['execute']); - $post = ''; - if (file_exists($file_path)) { - $post = ['file' => curl_file_create($file_path)]; - } - - $curlObj = curl_init(); - curl_setopt($curlObj, CURLOPT_URL, $url); - curl_setopt($curlObj, CURLOPT_POST, 1); - curl_setopt($curlObj, CURLOPT_POSTFIELDS, $post); - curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1); - curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, false); - - $api_result = curl_exec($curlObj); - curl_close($curlObj); - } - } - - // restore to metaconsole - metaconsole_restore_db(); - } - } - // If not edition or insert, then list available plugins $rows = db_get_all_rows_sql('SELECT * FROM tplugin ORDER BY name');