diff --git a/src/gmp.c b/src/gmp.c
index 94bd97dae..ef2b612ee 100644
--- a/src/gmp.c
+++ b/src/gmp.c
@@ -8091,592 +8091,622 @@ utf8_substring (const gchar *str, glong start_pos, glong end_pos)
}
/**
- * @brief Buffer XML for some notes.
+ * @brief Buffer XML for a single note.
*
- * @param[in] buffer Buffer into which to buffer notes.
+ * @param[in] buffer Buffer into which to buffer note.
* @param[in] notes Notes iterator.
- * @param[in] include_notes_details Whether to include details of notes.
+ * @param[in] include_notes_details Whether to include details of note.
* @param[in] include_result Whether to include associated result.
* @param[out] count Number of notes.
*/
static void
-buffer_notes_xml (GString *buffer, iterator_t *notes, int include_notes_details,
- int include_result, int *count)
+buffer_note_xml (GString *buffer, iterator_t *notes, int include_notes_details,
+ int include_result, int *count)
{
- while (next (notes))
- {
- int tag_count;
- char *uuid_task, *uuid_result;
+ int tag_count;
+ char *uuid_task, *uuid_result;
- tag_count = resource_tag_count ("note",
- get_iterator_resource (notes),
- 1);
+ tag_count = resource_tag_count ("note",
+ get_iterator_resource (notes),
+ 1);
- if (count)
- (*count)++;
+ if (count)
+ (*count)++;
- if (note_iterator_task (notes))
- task_uuid (note_iterator_task (notes),
- &uuid_task);
- else
- uuid_task = NULL;
+ if (note_iterator_task (notes))
+ task_uuid (note_iterator_task (notes),
+ &uuid_task);
+ else
+ uuid_task = NULL;
- if (note_iterator_result (notes))
- result_uuid (note_iterator_result (notes),
- &uuid_result);
- else
- uuid_result = NULL;
+ if (note_iterator_result (notes))
+ result_uuid (note_iterator_result (notes),
+ &uuid_result);
+ else
+ uuid_result = NULL;
- buffer_xml_append_printf (buffer,
- ""
- "",
- get_iterator_uuid (notes));
-
- if (/* The user is the owner. */
- (current_credentials.username
- && get_iterator_owner_name (notes)
- && (strcmp (get_iterator_owner_name (notes),
- current_credentials.username)
- == 0))
- /* Or the user is effectively the owner. */
- || acl_user_has_super (current_credentials.uuid,
- get_iterator_owner (notes)))
+ buffer_xml_append_printf (buffer,
+ ""
+ "",
+ get_iterator_uuid (notes));
+
+ if (/* The user is the owner. */
+ (current_credentials.username
+ && get_iterator_owner_name (notes)
+ && (strcmp (get_iterator_owner_name (notes),
+ current_credentials.username)
+ == 0))
+ /* Or the user is effectively the owner. */
+ || acl_user_has_super (current_credentials.uuid,
+ get_iterator_owner (notes)))
+ buffer_xml_append_printf (buffer,
+ "Everything"
+ "");
+ else
+ {
+ iterator_t perms;
+ get_data_t perms_get;
+
+ memset (&perms_get, '\0', sizeof (perms_get));
+ perms_get.filter = g_strdup_printf ("resource_uuid=%s"
+ " owner=any"
+ " permission=any",
+ get_iterator_uuid (notes));
+ init_permission_iterator (&perms, &perms_get);
+ g_free (perms_get.filter);
+ while (next (&perms))
buffer_xml_append_printf (buffer,
- "Everything"
- "");
- else
- {
- iterator_t perms;
- get_data_t perms_get;
-
- memset (&perms_get, '\0', sizeof (perms_get));
- perms_get.filter = g_strdup_printf ("resource_uuid=%s"
- " owner=any"
- " permission=any",
- get_iterator_uuid (notes));
- init_permission_iterator (&perms, &perms_get);
- g_free (perms_get.filter);
- while (next (&perms))
- buffer_xml_append_printf (buffer,
- "%s",
- get_iterator_name (&perms));
- cleanup_iterator (&perms);
-
- buffer_xml_append_printf (buffer, "");
- }
+ "%s",
+ get_iterator_name (&perms));
+ cleanup_iterator (&perms);
- if (include_notes_details == 0)
- {
- gchar *excerpt;
- const char *text;
+ buffer_xml_append_printf (buffer, "");
+ }
- text = note_iterator_text (notes);
- excerpt = utf8_substring (text, 0, setting_excerpt_size_int ());
+ if (include_notes_details == 0)
+ {
+ gchar *excerpt;
+ const char *text;
- /* This must match send_get_common. */
+ text = note_iterator_text (notes);
+ excerpt = utf8_substring (text, 0, setting_excerpt_size_int ());
- buffer_xml_append_printf (buffer,
- "%s"
- ""
- "%s"
- "%s"
- "",
- get_iterator_owner_name (notes)
- ? get_iterator_owner_name (notes)
- : "",
- note_iterator_nvt_oid (notes),
- note_iterator_nvt_name (notes),
- note_iterator_nvt_type (notes));
+ /* This must match send_get_common. */
- buffer_xml_append_printf (buffer,
- "%s",
- iso_if_time (get_iterator_creation_time (notes)));
+ buffer_xml_append_printf (buffer,
+ "%s"
+ ""
+ "%s"
+ "%s"
+ "",
+ get_iterator_owner_name (notes)
+ ? get_iterator_owner_name (notes)
+ : "",
+ note_iterator_nvt_oid (notes),
+ note_iterator_nvt_name (notes),
+ note_iterator_nvt_type (notes));
- buffer_xml_append_printf (buffer,
- "%s",
- iso_if_time (get_iterator_modification_time (notes)));
+ buffer_xml_append_printf (buffer,
+ "%s",
+ iso_if_time (get_iterator_creation_time (notes)));
+ buffer_xml_append_printf (buffer,
+ "%s",
+ iso_if_time (get_iterator_modification_time (notes)));
+
+ buffer_xml_append_printf (buffer,
+ "1"
+ "0"
+ "%i"
+ "%s"
+ "%i",
+ note_iterator_active (notes),
+ strlen (excerpt) < strlen (text),
+ excerpt,
+ ((note_iterator_task (notes)
+ && (uuid_task == NULL))
+ || (note_iterator_result (notes)
+ && (uuid_result == NULL))));
+
+ if (tag_count)
+ {
buffer_xml_append_printf (buffer,
- "1"
- "0"
- "%i"
- "%s"
- "%i",
- note_iterator_active (notes),
- strlen (excerpt) < strlen (text),
- excerpt,
- ((note_iterator_task (notes)
- && (uuid_task == NULL))
- || (note_iterator_result (notes)
- && (uuid_result == NULL))));
-
- if (tag_count)
- {
- buffer_xml_append_printf (buffer,
- ""
- "%i"
- "",
- tag_count);
- }
+ ""
+ "%i"
+ "",
+ tag_count);
+ }
- g_string_append (buffer, "");
+ g_string_append (buffer, "");
- g_free (excerpt);
+ g_free (excerpt);
+ }
+ else
+ {
+ char *name_task;
+ int trash_task;
+ time_t end_time;
+ iterator_t tags;
+
+ if (uuid_task)
+ {
+ name_task = task_name (note_iterator_task (notes));
+ trash_task = task_in_trash (note_iterator_task (notes));
}
else
{
- char *name_task;
- int trash_task;
- time_t end_time;
- iterator_t tags;
+ name_task = NULL;
+ trash_task = 0;
+ }
- if (uuid_task)
- {
- name_task = task_name (note_iterator_task (notes));
- trash_task = task_in_trash (note_iterator_task (notes));
- }
- else
- {
- name_task = NULL;
- trash_task = 0;
- }
+ end_time = note_iterator_end_time (notes);
- end_time = note_iterator_end_time (notes);
+ /* This must match send_get_common. */
- /* This must match send_get_common. */
+ buffer_xml_append_printf
+ (buffer,
+ "%s"
+ ""
+ "%s"
+ "%s"
+ "",
+ get_iterator_owner_name (notes)
+ ? get_iterator_owner_name (notes)
+ : "",
+ note_iterator_nvt_oid (notes),
+ note_iterator_nvt_name (notes),
+ note_iterator_nvt_type (notes));
- buffer_xml_append_printf
- (buffer,
- "%s"
- ""
- "%s"
- "%s"
- "",
- get_iterator_owner_name (notes)
- ? get_iterator_owner_name (notes)
- : "",
- note_iterator_nvt_oid (notes),
- note_iterator_nvt_name (notes),
- note_iterator_nvt_type (notes));
+ buffer_xml_append_printf
+ (buffer,
+ "%s",
+ iso_if_time (get_iterator_creation_time (notes)));
- buffer_xml_append_printf
- (buffer,
- "%s",
- iso_if_time (get_iterator_creation_time (notes)));
+ buffer_xml_append_printf
+ (buffer,
+ "%s",
+ iso_if_time (get_iterator_modification_time (notes)));
- buffer_xml_append_printf
- (buffer,
- "%s",
- iso_if_time (get_iterator_modification_time (notes)));
+ buffer_xml_append_printf
+ (buffer,
+ "1"
+ "0"
+ "%i"
+ "%s"
+ "%s"
+ "%s"
+ "%s"
+ "%s"
+ "%s%i"
+ "%i",
+ note_iterator_active (notes),
+ end_time > 1 ? iso_time (&end_time) : "",
+ note_iterator_text (notes),
+ note_iterator_hosts (notes)
+ ? note_iterator_hosts (notes) : "",
+ note_iterator_port (notes)
+ ? note_iterator_port (notes) : "",
+ note_iterator_severity (notes)
+ ? note_iterator_severity (notes) : "",
+ uuid_task ? uuid_task : "",
+ name_task ? name_task : "",
+ trash_task,
+ ((note_iterator_task (notes) && (uuid_task == NULL))
+ || (note_iterator_result (notes) && (uuid_result == NULL))));
+
+ free (name_task);
+
+ if (include_result && uuid_result && note_iterator_result (notes))
+ {
+ iterator_t results;
+ get_data_t *result_get;
+ result_get = report_results_get_data (1, 1,
+ 1, /* apply_overrides */
+ 0 /* min_qod */);
+ result_get->id = g_strdup (uuid_result);
+ init_result_get_iterator (&results, result_get,
+ 0, /* No report restriction */
+ NULL, /* No host restriction */
+ NULL); /* No extra order SQL. */
+ get_data_reset (result_get);
+ free (result_get);
+
+ while (next (&results))
+ buffer_results_xml (buffer,
+ &results,
+ 0,
+ 0, /* Notes. */
+ 0, /* Note details. */
+ 0, /* Overrides. */
+ 0, /* Override details. */
+ 0, /* Tags. */
+ 0, /* Tag details. */
+ 0, /* Result details. */
+ NULL,
+ NULL,
+ 0,
+ -1,
+ 0, /* Lean. */
+ 0); /* Delta fields. */
+ cleanup_iterator (&results);
+ }
+ else
+ buffer_xml_append_printf (buffer,
+ "",
+ uuid_result ? uuid_result : "");
+ if (tag_count)
+ {
+ buffer_xml_append_printf (buffer,
+ ""
+ "%i",
+ tag_count);
- buffer_xml_append_printf
- (buffer,
- "1"
- "0"
- "%i"
- "%s"
- "%s"
- "%s"
- "%s"
- "%s"
- "%s%i"
- "%i",
- note_iterator_active (notes),
- end_time > 1 ? iso_time (&end_time) : "",
- note_iterator_text (notes),
- note_iterator_hosts (notes)
- ? note_iterator_hosts (notes) : "",
- note_iterator_port (notes)
- ? note_iterator_port (notes) : "",
- note_iterator_severity (notes)
- ? note_iterator_severity (notes) : "",
- uuid_task ? uuid_task : "",
- name_task ? name_task : "",
- trash_task,
- ((note_iterator_task (notes) && (uuid_task == NULL))
- || (note_iterator_result (notes) && (uuid_result == NULL))));
-
- free (name_task);
-
- if (include_result && uuid_result && note_iterator_result (notes))
+ init_resource_tag_iterator (&tags, "note",
+ get_iterator_resource (notes),
+ 1, NULL, 1);
+
+ while (next (&tags))
{
- iterator_t results;
- get_data_t *result_get;
- result_get = report_results_get_data (1, 1,
- 1, /* apply_overrides */
- 0 /* min_qod */);
- result_get->id = g_strdup (uuid_result);
- init_result_get_iterator (&results, result_get,
- 0, /* No report restriction */
- NULL, /* No host restriction */
- NULL); /* No extra order SQL. */
- get_data_reset (result_get);
- free (result_get);
-
- while (next (&results))
- buffer_results_xml (buffer,
- &results,
- 0,
- 0, /* Notes. */
- 0, /* Note details. */
- 0, /* Overrides. */
- 0, /* Override details. */
- 0, /* Tags. */
- 0, /* Tag details. */
- 0, /* Result details. */
- NULL,
- NULL,
- 0,
- -1,
- 0, /* Lean. */
- 0); /* Delta fields. */
- cleanup_iterator (&results);
+ buffer_xml_append_printf
+ (buffer,
+ ""
+ "%s"
+ "%s"
+ "%s"
+ "",
+ resource_tag_iterator_uuid (&tags),
+ resource_tag_iterator_name (&tags),
+ resource_tag_iterator_value (&tags),
+ resource_tag_iterator_comment (&tags));
}
- else
- buffer_xml_append_printf (buffer,
- "",
- uuid_result ? uuid_result : "");
- if (tag_count)
- {
- buffer_xml_append_printf (buffer,
- ""
- "%i",
- tag_count);
-
- init_resource_tag_iterator (&tags, "note",
- get_iterator_resource (notes),
- 1, NULL, 1);
-
- while (next (&tags))
- {
- buffer_xml_append_printf
- (buffer,
- ""
- "%s"
- "%s"
- "%s"
- "",
- resource_tag_iterator_uuid (&tags),
- resource_tag_iterator_name (&tags),
- resource_tag_iterator_value (&tags),
- resource_tag_iterator_comment (&tags));
- }
- cleanup_iterator (&tags);
-
- g_string_append (buffer, "");
- }
+ cleanup_iterator (&tags);
- g_string_append (buffer, "");
+ g_string_append (buffer, "");
}
- free (uuid_task);
- free (uuid_result);
+
+ g_string_append (buffer, "");
}
+ free (uuid_task);
+ free (uuid_result);
}
/**
- * @brief Buffer XML for some overrides.
+ * @brief Buffer XML for some notes.
*
- * @param[in] buffer Buffer into which to buffer overrides.
+ * @param[in] buffer Buffer into which to buffer notes.
+ * @param[in] notes Notes iterator.
+ * @param[in] include_notes_details Whether to include details of notes.
+ * @param[in] include_result Whether to include associated result.
+ * @param[out] count Number of notes.
+ */
+static void
+buffer_notes_xml (GString *buffer, iterator_t *notes, int include_notes_details,
+ int include_result, int *count)
+{
+ while (next (notes))
+ buffer_note_xml (buffer, notes, include_notes_details, include_result, count);
+}
+
+/**
+ * @brief Buffer XML for a single override.
+ *
+ * @param[in] buffer Buffer into which to buffer override.
* @param[in] overrides Overrides iterator.
- * @param[in] include_overrides_details Whether to include details of overrides.
+ * @param[in] include_overrides_details Whether to include details of override.
* @param[in] include_result Whether to include associated result.
* @param[out] count Number of overrides.
*/
static void
-buffer_overrides_xml (GString *buffer, iterator_t *overrides,
- int include_overrides_details, int include_result,
- int *count)
-{
- while (next (overrides))
- {
- int tag_count;
- char *uuid_task, *uuid_result;
- tag_count = resource_tag_count ("override",
- get_iterator_resource (overrides),
- 1);
-
- if (count)
- (*count)++;
-
- if (override_iterator_task (overrides))
- task_uuid (override_iterator_task (overrides),
- &uuid_task);
- else
- uuid_task = NULL;
+buffer_override_xml (GString *buffer, iterator_t *overrides,
+ int include_overrides_details, int include_result,
+ int *count)
+{
+ int tag_count;
+ char *uuid_task, *uuid_result;
+ tag_count = resource_tag_count ("override",
+ get_iterator_resource (overrides),
+ 1);
+
+ if (count)
+ (*count)++;
+
+ if (override_iterator_task (overrides))
+ task_uuid (override_iterator_task (overrides),
+ &uuid_task);
+ else
+ uuid_task = NULL;
- if (override_iterator_result (overrides))
- result_uuid (override_iterator_result (overrides),
- &uuid_result);
- else
- uuid_result = NULL;
+ if (override_iterator_result (overrides))
+ result_uuid (override_iterator_result (overrides),
+ &uuid_result);
+ else
+ uuid_result = NULL;
- buffer_xml_append_printf (buffer,
- ""
- "",
- get_iterator_uuid (overrides));
-
- if (/* The user is the owner. */
- (current_credentials.username
- && get_iterator_owner_name (overrides)
- && (strcmp (get_iterator_owner_name (overrides),
- current_credentials.username)
- == 0))
- /* Or the user is effectively the owner. */
- || acl_user_has_super (current_credentials.uuid,
- get_iterator_owner (overrides)))
+ buffer_xml_append_printf (buffer,
+ ""
+ "",
+ get_iterator_uuid (overrides));
+
+ if (/* The user is the owner. */
+ (current_credentials.username
+ && get_iterator_owner_name (overrides)
+ && (strcmp (get_iterator_owner_name (overrides),
+ current_credentials.username)
+ == 0))
+ /* Or the user is effectively the owner. */
+ || acl_user_has_super (current_credentials.uuid,
+ get_iterator_owner (overrides)))
+ buffer_xml_append_printf (buffer,
+ "Everything"
+ "");
+ else
+ {
+ iterator_t perms;
+ get_data_t perms_get;
+
+ memset (&perms_get, '\0', sizeof (perms_get));
+ perms_get.filter = g_strdup_printf ("resource_uuid=%s"
+ " owner=any"
+ " permission=any",
+ get_iterator_uuid (overrides));
+ init_permission_iterator (&perms, &perms_get);
+ g_free (perms_get.filter);
+ while (next (&perms))
buffer_xml_append_printf (buffer,
- "Everything"
- "");
- else
- {
- iterator_t perms;
- get_data_t perms_get;
-
- memset (&perms_get, '\0', sizeof (perms_get));
- perms_get.filter = g_strdup_printf ("resource_uuid=%s"
- " owner=any"
- " permission=any",
- get_iterator_uuid (overrides));
- init_permission_iterator (&perms, &perms_get);
- g_free (perms_get.filter);
- while (next (&perms))
- buffer_xml_append_printf (buffer,
- "%s",
- get_iterator_name (&perms));
- cleanup_iterator (&perms);
-
- buffer_xml_append_printf (buffer, "");
- }
+ "%s",
+ get_iterator_name (&perms));
+ cleanup_iterator (&perms);
- if (include_overrides_details == 0)
- {
- gchar *excerpt;
- const char *text;
+ buffer_xml_append_printf (buffer, "");
+ }
- text = override_iterator_text (overrides);
- excerpt = utf8_substring (text, 0, setting_excerpt_size_int ());
+ if (include_overrides_details == 0)
+ {
+ gchar *excerpt;
+ const char *text;
- /* This must match send_get_common. */
+ text = override_iterator_text (overrides);
+ excerpt = utf8_substring (text, 0, setting_excerpt_size_int ());
- buffer_xml_append_printf (buffer,
- "%s"
- ""
- "%s"
- "%s"
- "",
- get_iterator_owner_name (overrides)
- ? get_iterator_owner_name (overrides)
- : "",
- override_iterator_nvt_oid (overrides),
- override_iterator_nvt_name (overrides),
- override_iterator_nvt_type (overrides));
+ /* This must match send_get_common. */
- buffer_xml_append_printf (buffer,
- "%s",
- iso_if_time (get_iterator_creation_time (overrides)));
+ buffer_xml_append_printf (buffer,
+ "%s"
+ ""
+ "%s"
+ "%s"
+ "",
+ get_iterator_owner_name (overrides)
+ ? get_iterator_owner_name (overrides)
+ : "",
+ override_iterator_nvt_oid (overrides),
+ override_iterator_nvt_name (overrides),
+ override_iterator_nvt_type (overrides));
+
+ buffer_xml_append_printf (buffer,
+ "%s",
+ iso_if_time (get_iterator_creation_time (overrides)));
- buffer_xml_append_printf (buffer,
- "%s",
- iso_if_time (get_iterator_modification_time (overrides)));
+ buffer_xml_append_printf (buffer,
+ "%s",
+ iso_if_time (get_iterator_modification_time (overrides)));
+ buffer_xml_append_printf (buffer,
+ "1"
+ "0"
+ "%i"
+ "%s"
+ "%s"
+ "%s"
+ "%s"
+ "%s"
+ "%i",
+ override_iterator_active (overrides),
+ strlen (excerpt) < strlen (text),
+ excerpt,
+ override_iterator_threat (overrides)
+ ? override_iterator_threat (overrides)
+ : "",
+ override_iterator_severity (overrides)
+ ? override_iterator_severity (overrides)
+ : "",
+ override_iterator_new_threat (overrides),
+ override_iterator_new_severity (overrides),
+ ((override_iterator_task (overrides)
+ && (uuid_task == NULL))
+ || (override_iterator_result (overrides)
+ && (uuid_result == NULL))));
+
+ if (tag_count)
+ {
buffer_xml_append_printf (buffer,
- "1"
- "0"
- "%i"
- "%s"
- "%s"
- "%s"
- "%s"
- "%s"
- "%i",
- override_iterator_active (overrides),
- strlen (excerpt) < strlen (text),
- excerpt,
- override_iterator_threat (overrides)
- ? override_iterator_threat (overrides)
- : "",
- override_iterator_severity (overrides)
- ? override_iterator_severity (overrides)
- : "",
- override_iterator_new_threat (overrides),
- override_iterator_new_severity (overrides),
- ((override_iterator_task (overrides)
- && (uuid_task == NULL))
- || (override_iterator_result (overrides)
- && (uuid_result == NULL))));
-
- if (tag_count)
- {
- buffer_xml_append_printf (buffer,
- ""
- "%i"
- "",
- tag_count);
- }
+ ""
+ "%i"
+ "",
+ tag_count);
+ }
- g_string_append (buffer, "");
+ g_string_append (buffer, "");
- g_free (excerpt);
+ g_free (excerpt);
+ }
+ else
+ {
+ char *name_task;
+ int trash_task;
+ time_t end_time;
+ iterator_t tags;
+
+ if (uuid_task)
+ {
+ name_task = task_name (override_iterator_task (overrides));
+ trash_task = task_in_trash (override_iterator_task (overrides));
}
else
{
- char *name_task;
- int trash_task;
- time_t end_time;
- iterator_t tags;
-
- if (uuid_task)
- {
- name_task = task_name (override_iterator_task (overrides));
- trash_task = task_in_trash (override_iterator_task (overrides));
- }
- else
- {
- name_task = NULL;
- trash_task = 0;
- }
-
- end_time = override_iterator_end_time (overrides);
-
- /* This must match send_get_common. */
+ name_task = NULL;
+ trash_task = 0;
+ }
- buffer_xml_append_printf
- (buffer,
- "%s"
- ""
- "%s"
- "%s"
- "",
- get_iterator_owner_name (overrides)
- ? get_iterator_owner_name (overrides)
- : "",
- override_iterator_nvt_oid (overrides),
- override_iterator_nvt_name (overrides),
- override_iterator_nvt_type (overrides));
+ end_time = override_iterator_end_time (overrides);
- buffer_xml_append_printf
- (buffer,
- "%s",
- iso_if_time (get_iterator_creation_time (overrides)));
+ /* This must match send_get_common. */
- buffer_xml_append_printf
- (buffer,
- "%s",
- iso_if_time (get_iterator_modification_time (overrides)));
+ buffer_xml_append_printf
+ (buffer,
+ "%s"
+ ""
+ "%s"
+ "%s"
+ "",
+ get_iterator_owner_name (overrides)
+ ? get_iterator_owner_name (overrides)
+ : "",
+ override_iterator_nvt_oid (overrides),
+ override_iterator_nvt_name (overrides),
+ override_iterator_nvt_type (overrides));
- buffer_xml_append_printf
- (buffer,
- "1"
- "0"
- "%i"
- "%s"
- "%s"
- "%s"
- "%s"
- "%s"
- "%s"
- "%s"
- "%s"
- "%s%i"
- "%i",
- override_iterator_active (overrides),
- end_time > 1 ? iso_time (&end_time) : "",
- override_iterator_text (overrides),
- override_iterator_hosts (overrides)
- ? override_iterator_hosts (overrides) : "",
- override_iterator_port (overrides)
- ? override_iterator_port (overrides) : "",
- override_iterator_threat (overrides)
- ? override_iterator_threat (overrides) : "",
- override_iterator_severity (overrides)
- ? override_iterator_severity (overrides) : "",
- override_iterator_new_threat (overrides),
- override_iterator_new_severity (overrides),
- uuid_task ? uuid_task : "",
- name_task ? name_task : "",
- trash_task,
- ((override_iterator_task (overrides) && (uuid_task == NULL))
- || (override_iterator_result (overrides) && (uuid_result == NULL))));
-
- free (name_task);
-
- if (include_result && uuid_result
- && override_iterator_result (overrides))
- {
- iterator_t results;
- get_data_t *result_get;
- result_get = report_results_get_data (1, 1,
- 1, /* apply_overrides */
- 0 /* min_qod */);
- result_get->id = g_strdup (uuid_result);
- init_result_get_iterator (&results, result_get,
- 0, /* No report restriction */
- NULL, /* No host restriction */
- NULL); /* No extra order SQL. */
- get_data_reset (result_get);
- free (result_get);
-
- while (next (&results))
- buffer_results_xml (buffer,
- &results,
- 0,
- 0, /* Overrides. */
- 0, /* Override details. */
- 0, /* Overrides. */
- 0, /* Override details. */
- 0, /* Tags. */
- 0, /* Tag details. */
- 0, /* Result details. */
- NULL,
- NULL,
- 0,
- -1,
- 0, /* Lean. */
- 0); /* Delta fields. */
- cleanup_iterator (&results);
- }
- else
- buffer_xml_append_printf (buffer,
- "",
- uuid_result ? uuid_result : "");
+ buffer_xml_append_printf
+ (buffer,
+ "%s",
+ iso_if_time (get_iterator_creation_time (overrides)));
- if (tag_count)
- {
- buffer_xml_append_printf (buffer,
- ""
- "%i",
- tag_count);
+ buffer_xml_append_printf
+ (buffer,
+ "%s",
+ iso_if_time (get_iterator_modification_time (overrides)));
- init_resource_tag_iterator (&tags, "override",
- get_iterator_resource (overrides),
- 1, NULL, 1);
+ buffer_xml_append_printf
+ (buffer,
+ "1"
+ "0"
+ "%i"
+ "%s"
+ "%s"
+ "%s"
+ "%s"
+ "%s"
+ "%s"
+ "%s"
+ "%s"
+ "%s%i"
+ "%i",
+ override_iterator_active (overrides),
+ end_time > 1 ? iso_time (&end_time) : "",
+ override_iterator_text (overrides),
+ override_iterator_hosts (overrides)
+ ? override_iterator_hosts (overrides) : "",
+ override_iterator_port (overrides)
+ ? override_iterator_port (overrides) : "",
+ override_iterator_threat (overrides)
+ ? override_iterator_threat (overrides) : "",
+ override_iterator_severity (overrides)
+ ? override_iterator_severity (overrides) : "",
+ override_iterator_new_threat (overrides),
+ override_iterator_new_severity (overrides),
+ uuid_task ? uuid_task : "",
+ name_task ? name_task : "",
+ trash_task,
+ ((override_iterator_task (overrides) && (uuid_task == NULL))
+ || (override_iterator_result (overrides) && (uuid_result == NULL))));
+
+ free (name_task);
+
+ if (include_result && uuid_result
+ && override_iterator_result (overrides))
+ {
+ iterator_t results;
+ get_data_t *result_get;
+ result_get = report_results_get_data (1, 1,
+ 1, /* apply_overrides */
+ 0 /* min_qod */);
+ result_get->id = g_strdup (uuid_result);
+ init_result_get_iterator (&results, result_get,
+ 0, /* No report restriction */
+ NULL, /* No host restriction */
+ NULL); /* No extra order SQL. */
+ get_data_reset (result_get);
+ free (result_get);
+
+ while (next (&results))
+ buffer_results_xml (buffer,
+ &results,
+ 0,
+ 0, /* Overrides. */
+ 0, /* Override details. */
+ 0, /* Overrides. */
+ 0, /* Override details. */
+ 0, /* Tags. */
+ 0, /* Tag details. */
+ 0, /* Result details. */
+ NULL,
+ NULL,
+ 0,
+ -1,
+ 0, /* Lean. */
+ 0); /* Delta fields. */
+ cleanup_iterator (&results);
+ }
+ else
+ buffer_xml_append_printf (buffer,
+ "",
+ uuid_result ? uuid_result : "");
- while (next (&tags))
- {
- buffer_xml_append_printf
- (buffer,
- ""
- "%s"
- "%s"
- "%s"
- "",
- resource_tag_iterator_uuid (&tags),
- resource_tag_iterator_name (&tags),
- resource_tag_iterator_value (&tags),
- resource_tag_iterator_comment (&tags));
- }
+ if (tag_count)
+ {
+ buffer_xml_append_printf (buffer,
+ ""
+ "%i",
+ tag_count);
- cleanup_iterator (&tags);
+ init_resource_tag_iterator (&tags, "override",
+ get_iterator_resource (overrides),
+ 1, NULL, 1);
- g_string_append (buffer, "");
+ while (next (&tags))
+ {
+ buffer_xml_append_printf
+ (buffer,
+ ""
+ "%s"
+ "%s"
+ "%s"
+ "",
+ resource_tag_iterator_uuid (&tags),
+ resource_tag_iterator_name (&tags),
+ resource_tag_iterator_value (&tags),
+ resource_tag_iterator_comment (&tags));
}
- g_string_append (buffer, "");
+ cleanup_iterator (&tags);
+
+ g_string_append (buffer, "");
}
- free (uuid_task);
- free (uuid_result);
+
+ g_string_append (buffer, "");
}
+ free (uuid_task);
+ free (uuid_result);
+}
+
+/**
+ * @brief Buffer XML for some overrides.
+ *
+ * @param[in] buffer Buffer into which to buffer overrides.
+ * @param[in] overrides Overrides iterator.
+ * @param[in] include_overrides_details Whether to include details of overrides.
+ * @param[in] include_result Whether to include associated result.
+ * @param[out] count Number of overrides.
+ */
+static void
+buffer_overrides_xml (GString *buffer, iterator_t *overrides,
+ int include_overrides_details, int include_result,
+ int *count)
+{
+ while (next (overrides))
+ buffer_override_xml (buffer, overrides, include_overrides_details,
+ include_result, count);
}
/* External for manage.c. */
@@ -13651,9 +13681,21 @@ handle_get_notes (gmp_parser_t *gmp_parser, GError **error)
buffer = g_string_new ("");
- // TODO: Do the iteration with get_next so it checks "first".
- buffer_notes_xml (buffer, ¬es, get_notes_data->get.details,
- get_notes_data->result, &count);
+ while (1)
+ {
+ ret = get_next (¬es, &get_notes_data->get, &first, &count,
+ init_note_iterator_all);
+ if (ret == 1)
+ break;
+ if (ret == -1)
+ {
+ internal_error_send_to_client (error);
+ return;
+ }
+
+ buffer_note_xml (buffer, ¬es, get_notes_data->get.details,
+ get_notes_data->result, &count);
+ }
SEND_TO_CLIENT_OR_FAIL (buffer->str);
g_string_free (buffer, TRUE);
@@ -14046,10 +14088,22 @@ handle_get_overrides (gmp_parser_t *gmp_parser, GError **error)
buffer = g_string_new ("");
- // TODO: Do the iteration with get_next so it checks "first".
- buffer_overrides_xml (buffer, &overrides,
- get_overrides_data->get.details,
- get_overrides_data->result, &count);
+ while (1)
+ {
+ ret = get_next (&overrides, &get_overrides_data->get, &first, &count,
+ init_override_iterator_all);
+ if (ret == 1)
+ break;
+ if (ret == -1)
+ {
+ internal_error_send_to_client (error);
+ return;
+ }
+
+ buffer_override_xml (buffer, &overrides,
+ get_overrides_data->get.details,
+ get_overrides_data->result, &count);
+ }
SEND_TO_CLIENT_OR_FAIL (buffer->str);
g_string_free (buffer, TRUE);
diff --git a/src/gmp_get.c b/src/gmp_get.c
index 3793a49d6..3cd3d5bc2 100644
--- a/src/gmp_get.c
+++ b/src/gmp_get.c
@@ -225,7 +225,7 @@ init_get (gchar *command, get_data_t * get, const gchar *setting_name,
*/
int
get_next (iterator_t *resources, get_data_t *get, int *first, int *count,
- int (*init) (iterator_t*, const get_data_t *))
+ int (*init) (iterator_t*, get_data_t *))
{
if (next (resources) == FALSE)
{
diff --git a/src/gmp_get.h b/src/gmp_get.h
index 428a8b344..f6001736b 100644
--- a/src/gmp_get.h
+++ b/src/gmp_get.h
@@ -57,7 +57,7 @@ init_get (gchar *, get_data_t *, const gchar *, int *);
int
get_next (iterator_t *, get_data_t *, int *, int *,
- int (*) (iterator_t *, const get_data_t *));
+ int (*) (iterator_t *, get_data_t *));
int
send_get_start (const char *, int (*) (const char *, void *), void *);
diff --git a/src/manage.h b/src/manage.h
index 74ec69c88..a272cb20d 100644
--- a/src/manage.h
+++ b/src/manage.h
@@ -630,7 +630,7 @@ int
alert_count (const get_data_t *);
int
-init_alert_iterator (iterator_t*, const get_data_t*);
+init_alert_iterator (iterator_t*, get_data_t*);
int
alert_iterator_event (iterator_t*);
@@ -730,7 +730,7 @@ unsigned int
task_count (const get_data_t *);
int
-init_task_iterator (iterator_t*, const get_data_t *);
+init_task_iterator (iterator_t*, get_data_t *);
task_status_t
task_iterator_run_status (iterator_t*);
@@ -1743,7 +1743,7 @@ void
init_target_iterator_one (iterator_t*, target_t);
int
-init_target_iterator (iterator_t*, const get_data_t *);
+init_target_iterator (iterator_t*, get_data_t *);
const char*
target_iterator_hosts (iterator_t*);
@@ -2212,7 +2212,7 @@ void
init_credential_iterator_one (iterator_t*, credential_t);
int
-init_credential_iterator (iterator_t*, const get_data_t *);
+init_credential_iterator (iterator_t*, get_data_t *);
const char*
credential_iterator_login (iterator_t*);
@@ -2730,7 +2730,7 @@ char *
openvas_default_scanner_host ();
int
-init_scanner_iterator (iterator_t*, const get_data_t *);
+init_scanner_iterator (iterator_t*, get_data_t *);
const char*
scanner_iterator_host (iterator_t*);
@@ -2915,7 +2915,7 @@ int
schedule_info (schedule_t, int, gchar **, gchar **);
int
-init_schedule_iterator (iterator_t*, const get_data_t *);
+init_schedule_iterator (iterator_t*, get_data_t *);
const char*
schedule_iterator_timezone (iterator_t *);
@@ -2967,7 +2967,7 @@ set_schedule_timeout (int);
/* Groups. */
int
-init_group_iterator (iterator_t *, const get_data_t *);
+init_group_iterator (iterator_t *, get_data_t *);
int
copy_group (const char *, const char *, const char *, group_t *);
@@ -3034,7 +3034,7 @@ int
permission_count (const get_data_t *);
int
-init_permission_iterator (iterator_t*, const get_data_t *);
+init_permission_iterator (iterator_t*, get_data_t *);
const char*
permission_iterator_resource_type (iterator_t*);
@@ -3091,7 +3091,7 @@ int
manage_get_roles (GSList *, const db_conn_info_t *, int);
int
-init_role_iterator (iterator_t *, const get_data_t *);
+init_role_iterator (iterator_t *, get_data_t *);
int
copy_role (const char *, const char *, const char *, role_t *);
@@ -3248,7 +3248,7 @@ int
filter_count (const get_data_t*);
int
-init_filter_iterator (iterator_t*, const get_data_t*);
+init_filter_iterator (iterator_t*, get_data_t*);
const char*
filter_iterator_type (iterator_t*);
@@ -3546,7 +3546,7 @@ gchar *
keyfile_to_auth_conf_settings_xml (const gchar *);
int
-init_user_iterator (iterator_t*, const get_data_t*);
+init_user_iterator (iterator_t*, get_data_t*);
const char*
user_iterator_role (iterator_t*);
@@ -3692,7 +3692,7 @@ modify_tag (const char *, const char *, const char *, const char *,
gchar **);
int
-init_tag_iterator (iterator_t*, const get_data_t*);
+init_tag_iterator (iterator_t*, get_data_t*);
int
tag_count (const get_data_t *get);
@@ -3725,7 +3725,7 @@ int
tag_resource_iterator_readable (iterator_t*);
int
-init_tag_name_iterator (iterator_t*, const get_data_t*);
+init_tag_name_iterator (iterator_t*, get_data_t*);
const char*
tag_name_iterator_name (iterator_t*);
diff --git a/src/manage_configs.h b/src/manage_configs.h
index a97f515ad..7c4699a8a 100644
--- a/src/manage_configs.h
+++ b/src/manage_configs.h
@@ -69,7 +69,7 @@ void
init_user_config_iterator (iterator_t*, config_t, int, int, const char*);
int
-init_config_iterator (iterator_t*, const get_data_t*);
+init_config_iterator (iterator_t*, get_data_t*);
const char*
config_iterator_nvt_selector (iterator_t*);
diff --git a/src/manage_port_lists.h b/src/manage_port_lists.h
index 5769f43ee..ce08e6196 100644
--- a/src/manage_port_lists.h
+++ b/src/manage_port_lists.h
@@ -62,7 +62,7 @@ int
port_list_count (const get_data_t *);
int
-init_port_list_iterator (iterator_t *, const get_data_t *);
+init_port_list_iterator (iterator_t *, get_data_t *);
int
port_list_iterator_count_all (iterator_t *);
diff --git a/src/manage_report_configs.h b/src/manage_report_configs.h
index 43944f8f1..9ab5bd874 100644
--- a/src/manage_report_configs.h
+++ b/src/manage_report_configs.h
@@ -89,7 +89,7 @@ report_config_count (const get_data_t *);
int
-init_report_config_iterator (iterator_t*, const get_data_t *);
+init_report_config_iterator (iterator_t*, get_data_t *);
const char*
report_config_iterator_report_format_id (iterator_t *);
diff --git a/src/manage_report_formats.h b/src/manage_report_formats.h
index 990f9436f..2df307d35 100644
--- a/src/manage_report_formats.h
+++ b/src/manage_report_formats.h
@@ -111,7 +111,7 @@ int
report_format_count (const get_data_t *);
int
-init_report_format_iterator (iterator_t*, const get_data_t *);
+init_report_format_iterator (iterator_t*, get_data_t *);
const char*
report_format_iterator_extension (iterator_t *);
diff --git a/src/manage_sql.c b/src/manage_sql.c
index e5b1b67d3..1efbe7dc3 100644
--- a/src/manage_sql.c
+++ b/src/manage_sql.c
@@ -8505,7 +8505,7 @@ trash_alert_writable (alert_t alert)
* -1 error.
*/
int
-init_alert_iterator (iterator_t* iterator, const get_data_t *get)
+init_alert_iterator (iterator_t* iterator, get_data_t *get)
{
static const char *filter_columns[] = ALERT_ITERATOR_FILTER_COLUMNS;
static column_t columns[] = ALERT_ITERATOR_COLUMNS;
@@ -15366,7 +15366,7 @@ init_user_task_iterator (iterator_t* iterator, int trash, int ignore_severity)
* -1 error.
*/
int
-init_task_iterator (iterator_t* iterator, const get_data_t *get)
+init_task_iterator (iterator_t* iterator, get_data_t *get)
{
static const char *filter_columns[] = TASK_ITERATOR_FILTER_COLUMNS;
static column_t columns[] = TASK_ITERATOR_COLUMNS;
@@ -34214,7 +34214,7 @@ init_target_iterator_one (iterator_t* iterator, target_t target)
* -1 error.
*/
int
-init_target_iterator (iterator_t* iterator, const get_data_t *get)
+init_target_iterator (iterator_t* iterator, get_data_t *get)
{
static const char *filter_columns[] = TARGET_ITERATOR_FILTER_COLUMNS;
static column_t columns[] = TARGET_ITERATOR_COLUMNS;
@@ -37559,7 +37559,7 @@ init_credential_iterator_one (iterator_t* iterator,
* filter (filt_id), -1 error.
*/
int
-init_credential_iterator (iterator_t* iterator, const get_data_t *get)
+init_credential_iterator (iterator_t* iterator, get_data_t *get)
{
static const char *filter_columns[] = CREDENTIAL_ITERATOR_FILTER_COLUMNS;
static column_t columns[] = CREDENTIAL_ITERATOR_COLUMNS;
@@ -41675,7 +41675,7 @@ delete_scanner (const char *scanner_id, int ultimate)
* @return 0 success, 1 failed to find scanner, 2 failed to find filter, -1 error.
*/
int
-init_scanner_iterator (iterator_t* iterator, const get_data_t *get)
+init_scanner_iterator (iterator_t* iterator, get_data_t *get)
{
static const char *filter_columns[] = SCANNER_ITERATOR_FILTER_COLUMNS;
static column_t columns[] = SCANNER_ITERATOR_COLUMNS;
@@ -43157,7 +43157,7 @@ schedule_count (const get_data_t *get)
* filter (filt_id), -1 error.
*/
int
-init_schedule_iterator (iterator_t* iterator, const get_data_t *get)
+init_schedule_iterator (iterator_t* iterator, get_data_t *get)
{
static const char *filter_columns[] = SCHEDULE_ITERATOR_FILTER_COLUMNS;
static column_t columns[] = SCHEDULE_ITERATOR_COLUMNS;
@@ -44273,7 +44273,7 @@ group_count (const get_data_t *get)
* -1 error.
*/
int
-init_group_iterator (iterator_t* iterator, const get_data_t *get)
+init_group_iterator (iterator_t* iterator, get_data_t *get)
{
static const char *filter_columns[] = GROUP_ITERATOR_FILTER_COLUMNS;
static column_t columns[] = GROUP_ITERATOR_COLUMNS;
@@ -45521,7 +45521,7 @@ permission_count (const get_data_t *get)
* -1 error.
*/
int
-init_permission_iterator (iterator_t* iterator, const get_data_t *get)
+init_permission_iterator (iterator_t* iterator, get_data_t *get)
{
static const char *filter_columns[] = PERMISSION_ITERATOR_FILTER_COLUMNS;
static column_t columns[] = PERMISSION_ITERATOR_COLUMNS;
@@ -47141,7 +47141,7 @@ role_count (const get_data_t *get)
* -1 error.
*/
int
-init_role_iterator (iterator_t* iterator, const get_data_t *get)
+init_role_iterator (iterator_t* iterator, get_data_t *get)
{
static const char *filter_columns[] = ROLE_ITERATOR_FILTER_COLUMNS;
static column_t columns[] = ROLE_ITERATOR_COLUMNS;
@@ -47820,7 +47820,7 @@ filter_count (const get_data_t *get)
* -1 error.
*/
int
-init_filter_iterator (iterator_t* iterator, const get_data_t *get)
+init_filter_iterator (iterator_t* iterator, get_data_t *get)
{
static const char *filter_columns[] = FILTER_ITERATOR_FILTER_COLUMNS;
static column_t columns[] = FILTER_ITERATOR_COLUMNS;
@@ -55240,7 +55240,7 @@ user_count (const get_data_t *get)
* -1 error.
*/
int
-init_user_iterator (iterator_t* iterator, const get_data_t *get)
+init_user_iterator (iterator_t* iterator, get_data_t *get)
{
static const char *filter_columns[] = USER_ITERATOR_FILTER_COLUMNS;
static column_t columns[] = USER_ITERATOR_COLUMNS;
@@ -57148,7 +57148,7 @@ modify_tag (const char *tag_id, const char *name, const char *comment,
* -1 error.
*/
int
-init_tag_iterator (iterator_t* iterator, const get_data_t *get)
+init_tag_iterator (iterator_t* iterator, get_data_t *get)
{
static const char *filter_columns[] = TAG_ITERATOR_FILTER_COLUMNS;
static column_t columns[] = TAG_ITERATOR_COLUMNS;
@@ -57243,7 +57243,7 @@ tag_iterator_resources (iterator_t* iterator)
* @return 0 success, -1 error.
*/
int
-init_tag_name_iterator (iterator_t* iterator, const get_data_t *get)
+init_tag_name_iterator (iterator_t* iterator, get_data_t *get)
{
static const char *filter_columns[] = TAG_NAME_ITERATOR_FILTER_COLUMNS;
static column_t columns[] = TAG_NAME_ITERATOR_COLUMNS;
diff --git a/src/manage_sql_configs.c b/src/manage_sql_configs.c
index ae4b9454f..bdda274b2 100644
--- a/src/manage_sql_configs.c
+++ b/src/manage_sql_configs.c
@@ -3176,7 +3176,7 @@ init_user_config_iterator (iterator_t* iterator, config_t config, int trash,
* -1 error.
*/
int
-init_config_iterator (iterator_t* iterator, const get_data_t *get)
+init_config_iterator (iterator_t* iterator, get_data_t *get)
{
int rc;
static const char *filter_columns[] = CONFIG_ITERATOR_FILTER_COLUMNS;
diff --git a/src/manage_sql_port_lists.c b/src/manage_sql_port_lists.c
index ce0771219..c24abaea6 100644
--- a/src/manage_sql_port_lists.c
+++ b/src/manage_sql_port_lists.c
@@ -1967,7 +1967,7 @@ port_list_count (const get_data_t *get)
* -1 error.
*/
int
-init_port_list_iterator (iterator_t* iterator, const get_data_t *get)
+init_port_list_iterator (iterator_t* iterator, get_data_t *get)
{
static const char *filter_columns[] = PORT_LIST_ITERATOR_FILTER_COLUMNS;
static column_t columns[] = PORT_LIST_ITERATOR_COLUMNS;
diff --git a/src/manage_sql_report_configs.c b/src/manage_sql_report_configs.c
index 69efaca5f..88d8fc542 100644
--- a/src/manage_sql_report_configs.c
+++ b/src/manage_sql_report_configs.c
@@ -749,7 +749,7 @@ report_config_count (const get_data_t *get)
* -1 error.
*/
int
-init_report_config_iterator (iterator_t* iterator, const get_data_t *get)
+init_report_config_iterator (iterator_t* iterator, get_data_t *get)
{
static const char *filter_columns[] = REPORT_CONFIG_ITERATOR_FILTER_COLUMNS;
static column_t columns[] = REPORT_CONFIG_ITERATOR_COLUMNS;
diff --git a/src/manage_sql_report_formats.c b/src/manage_sql_report_formats.c
index 788428bed..1579b3a71 100644
--- a/src/manage_sql_report_formats.c
+++ b/src/manage_sql_report_formats.c
@@ -2872,7 +2872,7 @@ report_format_count (const get_data_t *get)
* -1 error.
*/
int
-init_report_format_iterator (iterator_t* iterator, const get_data_t *get)
+init_report_format_iterator (iterator_t* iterator, get_data_t *get)
{
static const char *filter_columns[] = REPORT_FORMAT_ITERATOR_FILTER_COLUMNS;
static column_t columns[] = REPORT_FORMAT_ITERATOR_COLUMNS;
diff --git a/src/manage_sql_tickets.c b/src/manage_sql_tickets.c
index 224166aa5..1c30088d4 100644
--- a/src/manage_sql_tickets.c
+++ b/src/manage_sql_tickets.c
@@ -277,7 +277,7 @@ ticket_count (const get_data_t *get)
* -1 error.
*/
int
-init_ticket_iterator (iterator_t *iterator, const get_data_t *get)
+init_ticket_iterator (iterator_t *iterator, get_data_t *get)
{
static const char *filter_columns[] = TICKET_ITERATOR_FILTER_COLUMNS;
static column_t columns[] = TICKET_ITERATOR_COLUMNS;
diff --git a/src/manage_sql_tls_certificates.c b/src/manage_sql_tls_certificates.c
index 48cffb3e8..e10ca729d 100644
--- a/src/manage_sql_tls_certificates.c
+++ b/src/manage_sql_tls_certificates.c
@@ -298,7 +298,7 @@ tls_certificate_count (const get_data_t *get)
* 2 failed to find filter, -1 error.
*/
int
-init_tls_certificate_iterator (iterator_t *iterator, const get_data_t *get)
+init_tls_certificate_iterator (iterator_t *iterator, get_data_t *get)
{
static const char *filter_columns[] = TLS_CERTIFICATE_ITERATOR_FILTER_COLUMNS;
static column_t columns[] = TLS_CERTIFICATE_ITERATOR_COLUMNS;
diff --git a/src/manage_tickets.h b/src/manage_tickets.h
index 310bf808e..b00508341 100644
--- a/src/manage_tickets.h
+++ b/src/manage_tickets.h
@@ -26,7 +26,7 @@ int
ticket_count (const get_data_t *);
int
-init_ticket_iterator (iterator_t *, const get_data_t *);
+init_ticket_iterator (iterator_t *, get_data_t *);
const char*
ticket_iterator_user_id (iterator_t*);
diff --git a/src/manage_tls_certificates.h b/src/manage_tls_certificates.h
index 7329e5bba..3596ee1ee 100644
--- a/src/manage_tls_certificates.h
+++ b/src/manage_tls_certificates.h
@@ -33,7 +33,7 @@ int
tls_certificate_count (const get_data_t *);
int
-init_tls_certificate_iterator (iterator_t *, const get_data_t *);
+init_tls_certificate_iterator (iterator_t *, get_data_t *);
const char*
tls_certificate_iterator_certificate (iterator_t*);