[Openvas-commits] r2899 - in trunk/openvas-client: . nessus/prefs_dialog

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Wed Mar 25 12:06:02 CET 2009


Author: felix
Date: 2009-03-25 12:06:01 +0100 (Wed, 25 Mar 2009)
New Revision: 2899

Modified:
   trunk/openvas-client/ChangeLog
   trunk/openvas-client/nessus/prefs_dialog/prefs_report.c
Log:
Assign and display icons to "False Positive"s, "Log Message"s and
"Debug Message"s.
Fixed mem leak (free displayed override- forms).

* nessus/prefs_dialog/prefs_report.c (severity_level): Assigned severity
level integers to "False Positive"s, "Log Message"s and
"Debug Message"s.

* nessus/prefs_dialog/prefs_report.c (severity_data_func): Added the
stock icon identifiers to be associated to the ("new") severity levels.

* nessus/prefs_dialog/prefs_report.c (severity_override_form_t): Returns
the form itself, allows freeing them later.

* nessus/prefs_dialog/prefs_report.c (addprio_click): Parent the dialog
to the main window, free the forms.


Modified: trunk/openvas-client/ChangeLog
===================================================================
--- trunk/openvas-client/ChangeLog	2009-03-25 11:01:34 UTC (rev 2898)
+++ trunk/openvas-client/ChangeLog	2009-03-25 11:06:01 UTC (rev 2899)
@@ -1,5 +1,24 @@
 2009-03-25  Felix Wolfsteller <felix.wolfsteller at intevation.de>
 
+	Assign and display icons to "False Positive"s, "Log Message"s and
+	"Debug Message"s.
+	Fixed mem leak (free displayed override- forms).
+
+	* nessus/prefs_dialog/prefs_report.c (severity_level): Assigned severity
+	level integers to "False Positive"s, "Log Message"s and
+	"Debug Message"s.
+	
+	* nessus/prefs_dialog/prefs_report.c (severity_data_func): Added the
+	stock icon identifiers to be associated to the ("new") severity levels.
+	
+	* nessus/prefs_dialog/prefs_report.c (severity_override_form_t): Returns
+	the form itself, allows freeing them later.
+	
+	* nessus/prefs_dialog/prefs_report.c (addprio_click): Parent the dialog
+	to the main window, free the forms.
+
+2009-03-25  Felix Wolfsteller <felix.wolfsteller at intevation.de>
+
 	* src/gui/severity_override_form.c (severity_override_form_free): Free
 	in reverse order, null- guarded.
 

Modified: trunk/openvas-client/nessus/prefs_dialog/prefs_report.c
===================================================================
--- trunk/openvas-client/nessus/prefs_dialog/prefs_report.c	2009-03-25 11:01:34 UTC (rev 2898)
+++ trunk/openvas-client/nessus/prefs_dialog/prefs_report.c	2009-03-25 11:06:01 UTC (rev 2899)
@@ -89,9 +89,12 @@
  * @brief Convert the severity string to an integer level.
  *
  * Mapping:
- *    "Security Hole"    -> 3
- *    "Security Warning" -> 2
- *    "Security Note"    -> 1
+ *    "Security Hole"    -> 6
+ *    "Security Warning" -> 5
+ *    "Security Note"    -> 4
+ *    "False positive"   -> 3
+ *    "Log Message"      -> 2
+ *    "Debug Message"    -> 1
  *    anything else      -> 0
  * 
  * @param severity String describing the severity (e.g. "Security Hole").
@@ -101,10 +104,10 @@
 static int
 severity_level (const char *severity)
 {
-  static const char * levels[] = {"Note", "Warning", "Hole"};
+  static const char * levels[] = {"Debug", "Log", "False", "Note", "Warning", "Hole"};
   int i;
 
-  for (i = 3; i >= 1; i--)
+  for (i = 6; i >= 1; i--)
   {
     if (strstr(severity, levels[i - 1]))
       return i;
@@ -639,8 +642,9 @@
 severity_data_func (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell,
                     GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
 {
-  static const char* severity_stock_ids[] = {NULL, "nessus-info",
-                                             "nessus-warning", "nessus-error"};
+  static const char* severity_stock_ids[] = {NULL, "gtk-find", "gtk-edit",     // debug, log
+                                             "gtk-about", "nessus-info",        // false pos, note
+                                             "nessus-warning", "nessus-error"}; // warning, Hole
   GdkPixbuf *pixbuf;
   int level;
 
@@ -674,18 +678,18 @@
 
 
 /**
- * @brief Creates a vbox showing and allowing modification of details of
+ * @brief Creates a form showing and allowing modification of details of
  * @brief a severity_override.
  * 
  * @param override Override to show.
  * 
- * @return GtkVBox with widgets showing the override infos.
+ * @return The override form (use its vbox to display).
  */
-static GtkWidget*
+static severity_override_form_t*
 create_override_page (severity_override_t* override)
 {
   severity_override_form_t* form = severity_override_form_from_override (override, SOF_ADD);
-  return form->vbox;
+  return form;
 }
 
 
@@ -696,10 +700,12 @@
 static void
 addprio_click (GtkMenuItem* widget, gpointer user_data)
 {
-  // TODO find out if a similar override exists already
   struct arglist* report = arg_get_value (MainDialog, "REPORT");
+  GtkWindow *window      = GTK_WINDOW (arg_get_value (MainDialog, "WINDOW"));
   GSList* issues = arg_get_value (report, "SELECTED_ISSUES");
   GSList* issue  = NULL;
+  GSList* form   = NULL;
+  GSList* forms  = NULL;
   severity_override_t* override;
 
   GtkWidget* dialog = NULL;
@@ -712,9 +718,8 @@
       return;
     }
 
-  // TODO get real window, not NULL
   dialog = gtk_dialog_new_with_buttons(_("Add severity override"),
-                                         NULL, GTK_DIALOG_DESTROY_WITH_PARENT,
+                                         window, GTK_DIALOG_DESTROY_WITH_PARENT,
                                          GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
                                          NULL);
 
@@ -724,7 +729,11 @@
   while (issue != NULL)
     {
       override = issue->data;
-      listnotebook_add_page (listnotebook, create_override_page (override), override->name, NULL);
+
+      severity_override_form_t* curform = create_override_page (override);
+      forms = g_slist_prepend (forms, curform);
+
+      listnotebook_add_page (listnotebook, curform->vbox, override->name, NULL);
       issue = g_slist_next (issue);
     }
 
@@ -734,6 +743,15 @@
 
   // Run the dialog
   response = gtk_dialog_run (GTK_DIALOG (dialog));
+
+  // Free the forms
+  form = forms;
+  while (form)
+    {
+      severity_override_form_free (form->data);
+      form = g_slist_next (form);
+    }
+
   gtk_widget_destroy (dialog);
 }
 



More information about the Openvas-commits mailing list