[Openvas-commits] r13270 - in trunk/gsd: . src

scm-commit at wald.intevation.org scm-commit at wald.intevation.org
Tue Apr 17 18:55:57 CEST 2012


Author: aheinecke
Date: 2012-04-17 18:55:57 +0200 (Tue, 17 Apr 2012)
New Revision: 13270

Modified:
   trunk/gsd/ChangeLog
   trunk/gsd/src/gsd_control.cpp
   trunk/gsd/src/gsd_control.h
Log:
Add a new model for portlists and handle port_list requests


Modified: trunk/gsd/ChangeLog
===================================================================
--- trunk/gsd/ChangeLog	2012-04-17 16:48:25 UTC (rev 13269)
+++ trunk/gsd/ChangeLog	2012-04-17 16:55:57 UTC (rev 13270)
@@ -2,6 +2,13 @@
 
 	Start implementing support for port lists
 
+	* src/gsd_control.cpp, src/gsd_control.h (gsd_control::gsd_control):
+	Add Port List to target model
+	Add Port List model
+	(gsd_control::request_portlists), (gsd_control::getPortListModel),
+	(gsd_control::sig_port_list_finished): New
+	(gsd_control::request_finished_listener): Listen for port_list requests
+
 	* src/gsd_dlg.cpp, src/gsd_dlg.h (gsd_dlg::update_target_dialog),
 	(gsd_dlg::update_target_credentials): Renamed update_target_dialog
 	to update_target_credentials

Modified: trunk/gsd/src/gsd_control.cpp
===================================================================
--- trunk/gsd/src/gsd_control.cpp	2012-04-17 16:48:25 UTC (rev 13269)
+++ trunk/gsd/src/gsd_control.cpp	2012-04-17 16:55:57 UTC (rev 13270)
@@ -62,6 +62,7 @@
   targetModel->addHeader (tr ("Name"), "name");
   targetModel->addHeader (tr ("Hosts"), "hosts");
   targetModel->addHeader (tr ("IPs"), "max_hosts");
+  targetModel->addHeader (tr ("Port List"), "port_list name");
   targetModel->addHeader (tr ("SSH Credential"), "ssh_lsc_credential name");
   targetModel->addHeader (tr ("SMB Credential"), "smb_lsc_credential name");
 
@@ -111,6 +112,14 @@
   slaveModel->addHeader (tr ("Port"), "port");
   slaveModel->addHeader (tr ("Login"), "login");
 
+  portListModel = new model_omp_entity ();
+  portListModel->addHeader (tr ("Name"), "name");
+  portListModel->addHeader (tr ("Comment"), "comment");
+  portListModel->addHeader (tr ("Deletable"), "in_use");
+  portListModel->addHeader (tr ("Total Ports"), "port_count all");
+  portListModel->addHeader (tr ("TCP"), "port_count tcp");
+  portListModel->addHeader (tr ("UDP"), "port_count udp");
+
   systemReportModel = new model_omp_entity ();
 
   familyModel =new model_omp_entity ();
@@ -539,11 +548,12 @@
   request_notes (0);
   request_overrides (0);
   request_slaves (0);
+  request_portlists (0);
+  if (protocol_version >= 2)
+    request_report_formats ();
   request_system_reports (0);
   request_system_reports (NULL, 3600);
   request_families ();
-  if (protocol_version == 2 || protocol_version == 3)
-    request_report_formats ();
 }
 
 
@@ -577,6 +587,7 @@
   xmlReportModel->removeEntities ();
   configDownloadModel->removeEntities ();
   reportFormatModel->removeEntities ();
+  portListModel->removeEntities ();
 
   connector->removeCredentials();
 }
@@ -870,6 +881,23 @@
                               parameter);
 }
 
+/**
+ * @brief SLOT that starts an portlist update-request.
+ *
+ * An update for the portlist widget is requested.
+ *
+ * @param[in]  interval   Time in seconds between two updates.
+ */
+void
+gsd_control::request_portlists (int interval)
+{
+  QMap<QString, QString> parameter;
+  parameter.insert ("details", "1");
+  this->connector->getEntity (omp_utilities::PORT_LIST,
+                              interval,
+                              portListModel,
+                              parameter);
+}
 
 /**
  * @brief SLOT that stops frequently running updates.
@@ -2178,6 +2206,17 @@
 /**
  * @brief Getter
  *
+ * @return The model containing the port lists
+ */
+model_omp_entity*
+gsd_control::getPortListModel()
+{
+  return portListModel;
+}
+
+/**
+ * @brief Getter
+ *
  * @return The model containing the report formats.
  */
 model_omp_entity*
@@ -2569,6 +2608,15 @@
     {
       emit sig_request_report ();
     }
+  if (type == omp_utilities::PORT_LIST && com == omp_utilities::OMP_GET)
+    {
+      emit sig_port_list_finished ();
+    }
+  if (type == omp_utilities::PORT_LIST && ( com == omp_utilities::OMP_MODIFY ||
+      com == omp_utilities::OMP_CREATE || com == omp_utilities::OMP_DELETE ))
+    {
+      request_portlists (0);
+    }
 }
 
 void

Modified: trunk/gsd/src/gsd_control.h
===================================================================
--- trunk/gsd/src/gsd_control.h	2012-04-17 16:48:25 UTC (rev 13269)
+++ trunk/gsd/src/gsd_control.h	2012-04-17 16:55:57 UTC (rev 13270)
@@ -70,6 +70,7 @@
     void sig_task_details_finished ();
     void sig_lsc_credential_finished ();
     void sig_request_report ();
+    void sig_port_list_finished();
 
   private:
     gsd_config *config;
@@ -105,6 +106,7 @@
     model_omp_entity *configDownloadModel;
     model_omp_entity *reportFormatModel;
     model_omp_entity *tmpReportModel;
+    model_omp_entity *portListModel;
     GSList *log_config;
 
     void createConnections ();
@@ -143,6 +145,7 @@
     void request_slaves (int);
     void request_system_reports (int);
     void request_system_reports (QString, long);
+    void request_portlists (int);
     void request_families ();
     void request_nvts (QString family);
     void request_nvt_details (QString, QString);
@@ -217,6 +220,7 @@
     model_omp_entity *getXmlReportModel ();
     model_omp_entity *getConfigDownloadModel ();
     model_omp_entity *getReportDownloadModel ();
+    model_omp_entity *getPortListModel ();
     omp_credentials *getProfile (QString name);
     QString getProfile (int);
     int getProfileCount ();



More information about the Openvas-commits mailing list