[Openvas-commits] r13220 - in trunk/openvas-manager: . src

scm-commit at wald.intevation.org scm-commit at wald.intevation.org
Wed Apr 11 18:16:18 CEST 2012


Author: mattm
Date: 2012-04-11 18:16:18 +0200 (Wed, 11 Apr 2012)
New Revision: 13220

Modified:
   trunk/openvas-manager/ChangeLog
   trunk/openvas-manager/src/manage.h
   trunk/openvas-manager/src/manage_sql.c
   trunk/openvas-manager/src/omp.c
Log:
	Add OMP MODIFY_TARGET.

	* src/manage_sql.c (modify_target): New function.

	* src/manage.h: Add header accordingly.

	* src/omp.c (help_text, command_data_t, client_state_t): Add
	modify_target.
	(modify_target_data_t): New structure.
	(modify_target_data_reset): New function.
	(modify_target_data): New variable.
	(omp_xml_handle_start_element, omp_xml_handle_end_element)
	(omp_xml_handle_text): Add MODIFY_TARGET handling.

Modified: trunk/openvas-manager/ChangeLog
===================================================================
--- trunk/openvas-manager/ChangeLog	2012-04-11 15:04:23 UTC (rev 13219)
+++ trunk/openvas-manager/ChangeLog	2012-04-11 16:16:18 UTC (rev 13220)
@@ -1,3 +1,19 @@
+2012-04-11  Matthew Mundell <matthew.mundell at greenbone.net>
+
+	Add OMP MODIFY_TARGET.
+
+	* src/manage_sql.c (modify_target): New function.
+
+	* src/manage.h: Add header accordingly.
+
+	* src/omp.c (help_text, command_data_t, client_state_t): Add
+	modify_target.
+	(modify_target_data_t): New structure.
+	(modify_target_data_reset): New function.
+	(modify_target_data): New variable.
+	(omp_xml_handle_start_element, omp_xml_handle_end_element)
+	(omp_xml_handle_text): Add MODIFY_TARGET handling.
+
 2012-04-09  Matthew Mundell <matthew.mundell at greenbone.net>
 
 	* src/manage_sql.c (manage_set_setting): Add uuid arg.  Set Rows Per Page

Modified: trunk/openvas-manager/src/manage.h
===================================================================
--- trunk/openvas-manager/src/manage.h	2012-04-11 15:04:23 UTC (rev 13219)
+++ trunk/openvas-manager/src/manage.h	2012-04-11 16:16:18 UTC (rev 13220)
@@ -900,6 +900,11 @@
                const char*, const char*, target_t*);
 
 int
+modify_target (const char*, const char*, const char*, const char*, const char*,
+               const char*, const char*, const char*, const char*,
+               const char*, const char*);
+
+int
 delete_target (const char*, int);
 
 int

Modified: trunk/openvas-manager/src/manage_sql.c
===================================================================
--- trunk/openvas-manager/src/manage_sql.c	2012-04-11 15:04:23 UTC (rev 13219)
+++ trunk/openvas-manager/src/manage_sql.c	2012-04-11 16:16:18 UTC (rev 13220)
@@ -22603,6 +22603,225 @@
 }
 
 /**
+ * @brief Modify a target.
+ *
+ * The \param hosts and \param target_locator parameters are mutually
+ * exclusive, if target_locator is not NULL, always try to import from source.
+ *
+ * @param[in]   target_id       UUID of target.
+ * @param[in]   name            Name of target.
+ * @param[in]   hosts           Host list of target.
+ * @param[in]   comment         Comment on target.
+ * @param[in]   port_list_id    Port list of target (overrides \p port_range).
+ * @param[in]   ssh_lsc_credential_id  SSH LSC credential.
+ * @param[in]   ssh_port        Port for SSH LSC login.
+ * @param[in]   smb_lsc_credential_id  SMB LSC credential.
+ * @param[in]   target_locator  Name of target_locator to import target(s)
+ *                              from.
+ * @param[in]   username        Username to authenticate with against source.
+ * @param[in]   password        Password for user \p username.
+ *
+ * @return 0 success, 1 target exists already, 2 error in host specification,
+ *         3 too many hosts, 4 error in port range, 5 error in SSH port,
+ *         6 failed to find port list, 7 failed to find SSH cred, 8 failed to
+ *         find SMB cred, 9 failed to find target, -1 if import from target
+ *         locator failed or response was empty FIX or internal error.
+ */
+int
+modify_target (const char *target_id, const char *name, const char *hosts,
+               const char *comment, const char *port_list_id,
+               const char *ssh_lsc_credential_id, const char *ssh_port,
+               const char *smb_lsc_credential_id,
+               const char *target_locator, const char *username,
+               const char *password)
+{
+  gchar *quoted_name, *quoted_hosts, *quoted_comment, *quoted_ssh_port;
+  port_list_t port_list;
+  target_t target;
+  lsc_credential_t ssh_lsc_credential, smb_lsc_credential;
+
+  if (ssh_port && validate_port (ssh_port))
+    return 5;
+
+  sql ("BEGIN IMMEDIATE;");
+
+  assert (current_credentials.uuid);
+
+  target = 0;
+  port_list = 0;
+  if (find_target (target_id, &target)
+      || find_port_list (port_list_id, &port_list))
+    {
+      sql ("ROLLBACK;");
+      return -1;
+    }
+
+  if (target == 0)
+    {
+      sql ("ROLLBACK;");
+      return 9;
+    }
+
+  if (port_list == 0)
+    {
+      sql ("ROLLBACK;");
+      return 6;
+    }
+
+  ssh_lsc_credential = 0;
+  if (ssh_lsc_credential_id
+      && find_lsc_credential (ssh_lsc_credential_id, &ssh_lsc_credential))
+    {
+      sql ("ROLLBACK;");
+      return -1;
+    }
+
+  if (ssh_lsc_credential_id && ssh_lsc_credential == 0)
+    {
+      sql ("ROLLBACK;");
+      return 7;
+    }
+
+  smb_lsc_credential = 0;
+  if (smb_lsc_credential_id
+      && find_lsc_credential (smb_lsc_credential_id, &smb_lsc_credential))
+    {
+      sql ("ROLLBACK;");
+      return -1;
+    }
+
+  if (smb_lsc_credential_id && smb_lsc_credential == 0)
+    {
+      sql ("ROLLBACK;");
+      return 8;
+    }
+
+  /* Check whether a target with the same name exists already. */
+  quoted_name = sql_quote (name);
+  if (sql_int (0, 0,
+               "SELECT COUNT(*) FROM targets"
+               " WHERE name = '%s'"
+               " AND ROWID != %llu"
+               " AND ((owner IS NULL) OR (owner ="
+               " (SELECT users.ROWID FROM users WHERE users.uuid = '%s')));",
+               quoted_name,
+               target,
+               current_credentials.uuid))
+    {
+      g_free (quoted_name);
+      sql ("ROLLBACK;");
+      return 1;
+    }
+
+  /* Import targets from target locator. */
+  if (target_locator != NULL)
+    {
+      int max;
+      gchar *clean;
+      GSList* hosts_list = resource_request_resource (target_locator,
+                                                      RESOURCE_TYPE_TARGET,
+                                                      username ? username : "",
+                                                      password ? password : "");
+
+      if (hosts_list == NULL)
+        {
+          g_free (quoted_name);
+          sql ("ROLLBACK;");
+          return -1;
+        }
+
+      gchar* import_hosts = openvas_string_flatten_string_list (hosts_list,
+                                                                ", ");
+
+      openvas_string_list_free (hosts_list);
+      max = manage_max_hosts (import_hosts);
+      if (max <= 0)
+        {
+          g_free (import_hosts);
+          g_free (quoted_name);
+          sql ("ROLLBACK;");
+          return 2;
+        }
+      clean = clean_hosts (import_hosts, &max);
+      if (max > MANAGE_MAX_HOSTS)
+        {
+          g_free (import_hosts);
+          g_free (quoted_name);
+          sql ("ROLLBACK;");
+          return 3;
+        }
+      g_free (import_hosts);
+      quoted_hosts = sql_quote (clean);
+      g_free (clean);
+    }
+  else
+    {
+      int max;
+      gchar *clean;
+
+      /* User provided hosts. */
+
+      max = manage_max_hosts (hosts);
+      if (max <= 0)
+        {
+          g_free (quoted_name);
+          sql ("ROLLBACK;");
+          return 2;
+        }
+      clean = clean_hosts (hosts, &max);
+      if (max > MANAGE_MAX_HOSTS)
+        {
+          g_free (quoted_name);
+          sql ("ROLLBACK;");
+          return 3;
+        }
+      quoted_hosts = sql_quote (clean);
+      g_free (clean);
+    }
+
+  if (ssh_lsc_credential)
+    quoted_ssh_port = sql_insert (ssh_port ? ssh_port : "22");
+  else
+    quoted_ssh_port = g_strdup ("NULL");
+
+  if (comment)
+    {
+      quoted_comment = sql_quote (comment);
+      sql ("UPDATE targets SET"
+           " name = '%s',"
+           " hosts = '%s',"
+           " comment = '%s',"
+           " lsc_credential = %llu,"
+           " ssh_port = %s,"
+           " smb_lsc_credential = %llu,"
+           " port_range = %llu"
+           " WHERE ROWID = %llu;",
+           quoted_name, quoted_hosts, quoted_comment, ssh_lsc_credential,
+           quoted_ssh_port, smb_lsc_credential, port_list, target);
+      g_free (quoted_comment);
+    }
+  else
+    sql ("UPDATE targets SET"
+         " name = '%s',"
+         " hosts = '%s',"
+         " lsc_credential = %llu,"
+         " ssh_port = %s,"
+         " smb_lsc_credential = %llu,"
+         " port_range = %llu"
+         " WHERE ROWID = %llu;",
+         quoted_name, quoted_hosts, ssh_lsc_credential, quoted_ssh_port,
+         smb_lsc_credential, port_list, target);
+
+  g_free (quoted_name);
+  g_free (quoted_hosts);
+  g_free (quoted_ssh_port);
+
+  sql ("COMMIT;");
+
+  return 0;
+}
+
+/**
  * @brief Term.
  */
 struct term

Modified: trunk/openvas-manager/src/omp.c
===================================================================
--- trunk/openvas-manager/src/omp.c	2012-04-11 15:04:23 UTC (rev 13219)
+++ trunk/openvas-manager/src/omp.c	2012-04-11 16:16:18 UTC (rev 13220)
@@ -399,6 +399,7 @@
 "    MODIFY_REPORT          Modify an existing report.\n"
 "    MODIFY_REPORT_FORMAT   Modify an existing report format.\n"
 "    MODIFY_SETTING         Modify an existing setting.\n"
+"    MODIFY_TARGET          Modify an existing target.\n"
 "    MODIFY_TASK            Update an existing task.\n"
 "    PAUSE_TASK             Pause a running task.\n"
 "    RESTORE                Restore a resource.\n"
@@ -2410,6 +2411,47 @@
 }
 
 /**
+ * @brief Command data for the modify_target command.
+ */
+typedef struct
+{
+  char *comment;                 ///< Comment.
+  char *hosts;                   ///< Hosts for target.
+  char *name;                    ///< Name of target.
+  char *port_list_id;            ///< Port list for target.
+  char *ssh_lsc_credential_id;   ///< SSH LSC credential for target.
+  char *ssh_port;                ///< Port for SSH LSC.
+  char *smb_lsc_credential_id;   ///< SMB LSC credential for target.
+  char *target_id;               ///< Target UUID.
+  char *target_locator;          ///< Target locator (source name).
+  char *target_locator_password; ///< Target locator credentials: password.
+  char *target_locator_username; ///< Target locator credentials: username.
+} modify_target_data_t;
+
+/**
+ * @brief Reset command data.
+ *
+ * @param[in]  data  Command data.
+ */
+static void
+modify_target_data_reset (modify_target_data_t *data)
+{
+  free (data->comment);
+  free (data->hosts);
+  free (data->name);
+  free (data->port_list_id);
+  free (data->ssh_lsc_credential_id);
+  free (data->ssh_port);
+  free (data->smb_lsc_credential_id);
+  free (data->target_id);
+  free (data->target_locator);
+  free (data->target_locator_password);
+  free (data->target_locator_username);
+
+  memset (data, 0, sizeof (modify_target_data_t));
+}
+
+/**
  * @brief Command data for the modify_task command.
  */
 typedef struct
@@ -2817,6 +2859,7 @@
   modify_report_data_t modify_report;                 ///< modify_report
   modify_report_format_data_t modify_report_format;   ///< modify_report_format
   modify_setting_data_t modify_setting;               ///< modify_setting
+  modify_target_data_t modify_target;                 ///< modify_target
   modify_task_data_t modify_task;                     ///< modify_task
   pause_task_data_t pause_task;                       ///< pause_task
   restore_data_t restore;                             ///< restore
@@ -3202,6 +3245,12 @@
  = &(command_data.modify_setting);
 
 /**
+ * @brief Parser callback data for MODIFY_TARGET.
+ */
+modify_target_data_t *modify_target_data
+ = &(command_data.modify_target);
+
+/**
  * @brief Parser callback data for MODIFY_TASK.
  */
 modify_task_data_t *modify_task_data
@@ -3618,6 +3667,18 @@
   CLIENT_MODIFY_SETTING,
   CLIENT_MODIFY_SETTING_NAME,
   CLIENT_MODIFY_SETTING_VALUE,
+  CLIENT_MODIFY_TARGET,
+  CLIENT_MODIFY_TARGET_COMMENT,
+  CLIENT_MODIFY_TARGET_HOSTS,
+  CLIENT_MODIFY_TARGET_SSH_LSC_CREDENTIAL,
+  CLIENT_MODIFY_TARGET_SSH_LSC_CREDENTIAL_PORT,
+  CLIENT_MODIFY_TARGET_SMB_LSC_CREDENTIAL,
+  CLIENT_MODIFY_TARGET_NAME,
+  CLIENT_MODIFY_TARGET_PORT_RANGE,
+  CLIENT_MODIFY_TARGET_PORT_LIST,
+  CLIENT_MODIFY_TARGET_TARGET_LOCATOR,
+  CLIENT_MODIFY_TARGET_TARGET_LOCATOR_PASSWORD,
+  CLIENT_MODIFY_TARGET_TARGET_LOCATOR_USERNAME,
   CLIENT_MODIFY_TASK,
   CLIENT_MODIFY_TASK_COMMENT,
   CLIENT_MODIFY_TASK_ALERT,
@@ -5112,6 +5173,12 @@
                               &modify_setting_data->setting_id);
             set_client_state (CLIENT_MODIFY_SETTING);
           }
+        else if (strcasecmp ("MODIFY_TARGET", element_name) == 0)
+          {
+            append_attribute (attribute_names, attribute_values, "target_id",
+                              &modify_target_data->target_id);
+            set_client_state (CLIENT_MODIFY_TARGET);
+          }
         else if (strcasecmp ("MODIFY_TASK", element_name) == 0)
           {
             append_attribute (attribute_names, attribute_values, "task_id",
@@ -5374,6 +5441,47 @@
           }
         ELSE_ERROR ("modify_setting");
 
+      case CLIENT_MODIFY_TARGET:
+        if (strcasecmp ("COMMENT", element_name) == 0)
+          set_client_state (CLIENT_MODIFY_TARGET_COMMENT);
+        else if (strcasecmp ("HOSTS", element_name) == 0)
+          set_client_state (CLIENT_MODIFY_TARGET_HOSTS);
+        else if (strcasecmp ("PORT_LIST", element_name) == 0)
+          {
+            append_attribute (attribute_names, attribute_values, "id",
+                              &modify_target_data->port_list_id);
+            set_client_state (CLIENT_MODIFY_TARGET_PORT_LIST);
+          }
+        else if (strcasecmp ("SSH_LSC_CREDENTIAL", element_name) == 0)
+          {
+            append_attribute (attribute_names, attribute_values, "id",
+                              &modify_target_data->ssh_lsc_credential_id);
+            set_client_state (CLIENT_MODIFY_TARGET_SSH_LSC_CREDENTIAL);
+          }
+        else if (strcasecmp ("SMB_LSC_CREDENTIAL", element_name) == 0)
+          {
+            append_attribute (attribute_names, attribute_values, "id",
+                              &modify_target_data->smb_lsc_credential_id);
+            set_client_state (CLIENT_MODIFY_TARGET_SMB_LSC_CREDENTIAL);
+          }
+        else if (strcasecmp ("NAME", element_name) == 0)
+          set_client_state (CLIENT_MODIFY_TARGET_NAME);
+        else if (strcasecmp ("TARGET_LOCATOR", element_name) == 0)
+          set_client_state (CLIENT_MODIFY_TARGET_TARGET_LOCATOR);
+        ELSE_ERROR ("modify_target");
+
+      case CLIENT_MODIFY_TARGET_SSH_LSC_CREDENTIAL:
+        if (strcasecmp ("PORT", element_name) == 0)
+          set_client_state (CLIENT_MODIFY_TARGET_SSH_LSC_CREDENTIAL_PORT);
+        ELSE_ERROR ("modify_target");
+
+      case CLIENT_MODIFY_TARGET_TARGET_LOCATOR:
+        if (strcasecmp ("PASSWORD", element_name) == 0)
+          set_client_state (CLIENT_MODIFY_TARGET_TARGET_LOCATOR_PASSWORD);
+        else if (strcasecmp ("USERNAME", element_name) == 0)
+          set_client_state (CLIENT_MODIFY_TARGET_TARGET_LOCATOR_USERNAME);
+        ELSE_ERROR ("modify_target");
+
       case CLIENT_MODIFY_TASK:
         if (strcasecmp ("COMMENT", element_name) == 0)
           {
@@ -13383,6 +13491,165 @@
       CLOSE (CLIENT_MODIFY_OVERRIDE, TEXT);
       CLOSE (CLIENT_MODIFY_OVERRIDE, THREAT);
 
+      case CLIENT_MODIFY_TARGET:
+        {
+          assert (strcasecmp ("MODIFY_TARGET", element_name) == 0);
+          assert (modify_target_data->name != NULL);
+          assert (modify_target_data->target_locator
+                  || modify_target_data->hosts != NULL);
+
+          if (openvas_is_user_observer (current_credentials.username))
+            {
+              SEND_TO_CLIENT_OR_FAIL
+               (XML_ERROR_SYNTAX ("modify_target",
+                                  "MODIFY is forbidden for observer users"));
+            }
+          else if (strlen (modify_target_data->name) == 0)
+            SEND_TO_CLIENT_OR_FAIL
+             (XML_ERROR_SYNTAX ("modify_target",
+                                "MODIFY_TARGET name must be at"
+                                " least one character long"));
+          else if (strlen (modify_target_data->hosts) == 0
+                   && modify_target_data->target_locator == NULL)
+            /** @todo Legitimate to pass an empty hosts element? */
+            SEND_TO_CLIENT_OR_FAIL
+             (XML_ERROR_SYNTAX ("modify_target",
+                                "MODIFY_TARGET hosts must both be at least one"
+                                " character long, or TARGET_LOCATOR must"
+                                " be set"));
+          else if (strlen (modify_target_data->hosts) != 0
+                   && modify_target_data->target_locator != NULL)
+            SEND_TO_CLIENT_OR_FAIL
+             (XML_ERROR_SYNTAX ("modify_target",
+                                " MODIFY_TARGET requires either a"
+                                " TARGET_LOCATOR or a host"));
+          /* Modify target from host string. */
+          else switch (modify_target
+                        (modify_target_data->target_id,
+                         modify_target_data->name,
+                         modify_target_data->hosts,
+                         modify_target_data->comment,
+                         modify_target_data->port_list_id,
+                         modify_target_data->ssh_lsc_credential_id,
+                         modify_target_data->ssh_port,
+                         modify_target_data->smb_lsc_credential_id,
+                         modify_target_data->target_locator,
+                         modify_target_data->target_locator_username,
+                         modify_target_data->target_locator_password))
+            {
+              case 1:
+                SEND_TO_CLIENT_OR_FAIL
+                 (XML_ERROR_SYNTAX ("modify_target",
+                                    "Target exists already"));
+                g_log ("event target", G_LOG_LEVEL_MESSAGE,
+                       "Target could not be modified");
+                break;
+              case 2:
+                SEND_TO_CLIENT_OR_FAIL
+                 (XML_ERROR_SYNTAX ("modify_target",
+                                    "Error in host specification"));
+                g_log ("event target", G_LOG_LEVEL_MESSAGE,
+                       "Target could not be modified");
+                break;
+              case 3:
+                SEND_TO_CLIENT_OR_FAIL
+                 (XML_ERROR_SYNTAX ("modify_target",
+                                    "Host specification exceeds"
+                                    " " G_STRINGIFY (MANAGE_MAX_HOSTS)
+                                    " hosts"));
+                g_log ("event target", G_LOG_LEVEL_MESSAGE,
+                       "Target could not be modified");
+                break;
+              case 4:
+                SEND_TO_CLIENT_OR_FAIL
+                 (XML_ERROR_SYNTAX ("modify_target",
+                                    "Error in port range"));
+                g_log ("event target", G_LOG_LEVEL_MESSAGE,
+                       "Target could not be modified");
+                break;
+              case 5:
+                SEND_TO_CLIENT_OR_FAIL
+                 (XML_ERROR_SYNTAX ("modify_target",
+                                    "Error in SSH port"));
+                g_log ("event target", G_LOG_LEVEL_MESSAGE,
+                       "Target could not be modified");
+                break;
+              case 6:
+                // FIX 6 missing in CREATE_TARGET?
+                g_log ("event target", G_LOG_LEVEL_MESSAGE,
+                       "Target could not be modified");
+                if (send_find_error_to_client
+                     ("modify_target",
+                      "port_list",
+                      modify_target_data->port_list_id,
+                      write_to_client,
+                      write_to_client_data))
+                  {
+                    error_send_to_client (error);
+                    return;
+                  }
+                break;
+              case 7:
+                g_log ("event target", G_LOG_LEVEL_MESSAGE,
+                       "Target could not be modified");
+                if (send_find_error_to_client
+                     ("modify_target",
+                      "LSC credential",
+                      modify_target_data->ssh_lsc_credential_id,
+                      write_to_client,
+                      write_to_client_data))
+                  {
+                    error_send_to_client (error);
+                    return;
+                  }
+                break;
+              case 8:
+                g_log ("event target", G_LOG_LEVEL_MESSAGE,
+                       "Target could not be modified");
+                if (send_find_error_to_client
+                     ("modify_target",
+                      "LSC credential",
+                      modify_target_data->smb_lsc_credential_id,
+                      write_to_client,
+                      write_to_client_data))
+                  {
+                    error_send_to_client (error);
+                    return;
+                  }
+                break;
+              case -1:
+                SEND_TO_CLIENT_OR_FAIL
+                 (XML_INTERNAL_ERROR ("modify_target"));
+                g_log ("event target", G_LOG_LEVEL_MESSAGE,
+                       "Target could not be modified");
+                break;
+              default:
+                {
+                  SENDF_TO_CLIENT_OR_FAIL (XML_OK ("modify_target"));
+                  g_log ("event target", G_LOG_LEVEL_MESSAGE,
+                         "Target %s has been modified",
+                         modify_target_data->target_id);
+                  break;
+                }
+            }
+
+          modify_target_data_reset (modify_target_data);
+          set_client_state (CLIENT_AUTHENTIC);
+          break;
+        }
+      CLOSE (CLIENT_MODIFY_TARGET, COMMENT);
+      CLOSE (CLIENT_MODIFY_TARGET, HOSTS);
+      CLOSE (CLIENT_MODIFY_TARGET, NAME);
+      CLOSE (CLIENT_MODIFY_TARGET, PORT_LIST);
+      CLOSE (CLIENT_MODIFY_TARGET, PORT_RANGE);
+      CLOSE (CLIENT_MODIFY_TARGET, SSH_LSC_CREDENTIAL);
+      CLOSE (CLIENT_MODIFY_TARGET, SMB_LSC_CREDENTIAL);
+      CLOSE (CLIENT_MODIFY_TARGET_TARGET_LOCATOR, PASSWORD);
+      CLOSE (CLIENT_MODIFY_TARGET, TARGET_LOCATOR);
+      CLOSE (CLIENT_MODIFY_TARGET_TARGET_LOCATOR, USERNAME);
+
+      CLOSE (CLIENT_MODIFY_TARGET_SSH_LSC_CREDENTIAL, PORT);
+
       case CLIENT_TEST_ALERT:
         if (test_alert_data->alert_id)
           {
@@ -16882,6 +17149,28 @@
               &modify_override_data->threat);
 
 
+      APPEND (CLIENT_MODIFY_TARGET_COMMENT,
+              &modify_target_data->comment);
+
+      APPEND (CLIENT_MODIFY_TARGET_HOSTS,
+              &modify_target_data->hosts);
+
+      APPEND (CLIENT_MODIFY_TARGET_NAME,
+              &modify_target_data->name);
+
+      APPEND (CLIENT_MODIFY_TARGET_TARGET_LOCATOR,
+              &modify_target_data->target_locator);
+
+      APPEND (CLIENT_MODIFY_TARGET_TARGET_LOCATOR_PASSWORD,
+              &modify_target_data->target_locator_password);
+
+      APPEND (CLIENT_MODIFY_TARGET_TARGET_LOCATOR_USERNAME,
+              &modify_target_data->target_locator_username);
+
+      APPEND (CLIENT_MODIFY_TARGET_SSH_LSC_CREDENTIAL_PORT,
+              &modify_target_data->ssh_port);
+
+
       default:
         /* Just pass over the text. */
         break;



More information about the Openvas-commits mailing list