[Openvas-commits] r2639 - in trunk/openvas-client: . nessus
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Tue Mar 3 11:24:35 CET 2009
Author: felix
Date: 2009-03-03 11:24:33 +0100 (Tue, 03 Mar 2009)
New Revision: 2639
Modified:
trunk/openvas-client/ChangeLog
trunk/openvas-client/nessus/plugin_infos.c
trunk/openvas-client/nessus/plugin_infos.h
Log:
* nessus/plugin_infos.c, nessus/plugin_infos.h
(plugin_info_window_show_cb): New, callback method can be used to show
plugin info dialog when only a NVTs OID is known.
Modified: trunk/openvas-client/ChangeLog
===================================================================
--- trunk/openvas-client/ChangeLog 2009-03-03 05:56:37 UTC (rev 2638)
+++ trunk/openvas-client/ChangeLog 2009-03-03 10:24:33 UTC (rev 2639)
@@ -1,3 +1,9 @@
+2009-03-03 Felix Wolfsteller <felix.wolfsteller at intevation.de>
+
+ * nessus/plugin_infos.c, nessus/plugin_infos.h
+ (plugin_info_window_show_cb): New, callback method can be used to show
+ plugin info dialog when only a NVTs OID is known.
+
2009-03-02 Felix Wolfsteller <felix.wolfsteller at intevation.de>
Removed obsolete code and variables in cli module, pointed to by
Modified: trunk/openvas-client/nessus/plugin_infos.c
===================================================================
--- trunk/openvas-client/nessus/plugin_infos.c 2009-03-03 05:56:37 UTC (rev 2638)
+++ trunk/openvas-client/nessus/plugin_infos.c 2009-03-03 10:24:33 UTC (rev 2639)
@@ -313,12 +313,36 @@
}
/**
+ * @brief Callback, extracts plugin name and shows info dialog, using current
+ * @brief Context.
+ *
+ * If either no plugin list in current context is found or no oid is provided,
+ * does nothing.
+ *
+ * @param emitter ignored (callback)
+ * @param oid OID of plugin to show info.
+ */
+void
+plugin_info_window_show_cb (GtkWidget* emitter, char* oid)
+{
+ if (oid == NULL || Context->plugins == NULL)
+ return;
+
+ /* Search name of nvt first, to make plugin_info_window_setup happy. Creates
+ some overhead, as the plugin list will be traversed in ..._setup again. */
+ struct nessus_plugin* nvt = nessus_plugin_get_by_oid (Context->plugins, oid);
+
+ if (nvt)
+ plugin_info_window_setup (Context->plugins, nvt->name);
+}
+
+/**
* @brief Draws the window which contains information about a plugin.
*
- * @param res Pointer to a nessus_plugin struct.
+ * @param res Pointer to a nessus_plugin struct (list).
* @param name The plugins name.
*/
-void
+void
plugin_info_window_setup (struct nessus_plugin * res, char* pluginname)
{
GtkWindow * window = GTK_WINDOW(arg_get_value(MainDialog, "WINDOW"));
@@ -338,8 +362,9 @@
struct nessus_plugin * plugin;
char * txt;
- plugin = nessus_plugin_get_by_name(res, pluginname);
- if( plugin == NULL )
+ printf("BUGME: plugin infos name %s\n", pluginname);
+ plugin = nessus_plugin_get_by_name (res, pluginname);
+ if (plugin == NULL)
{
#ifdef DEBUG
fprintf(stderr, _("Error ! Plugin selected not found ?!\n"));
Modified: trunk/openvas-client/nessus/plugin_infos.h
===================================================================
--- trunk/openvas-client/nessus/plugin_infos.h 2009-03-03 05:56:37 UTC (rev 2638)
+++ trunk/openvas-client/nessus/plugin_infos.h 2009-03-03 10:24:33 UTC (rev 2639)
@@ -30,5 +30,6 @@
#define _NESSUSC_PLUGIN_INFOS_H
void plugin_info_window_setup(struct nessus_plugin *, char * pluginname);
+void plugin_info_window_show_cb (GtkWidget* emitter, char* oid);
#endif
More information about the Openvas-commits
mailing list