[Openvas-commits] r11508 - in trunk/gsa: . src src/html
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Thu Aug 25 20:36:41 CEST 2011
Author: mattm
Date: 2011-08-25 20:36:40 +0200 (Thu, 25 Aug 2011)
New Revision: 11508
Modified:
trunk/gsa/ChangeLog
trunk/gsa/src/gsad.c
trunk/gsa/src/gsad_base.h
trunk/gsa/src/gsad_omp.c
trunk/gsa/src/gsad_omp.h
trunk/gsa/src/html/omp.xsl
Log:
Convert create_task to new param mechanism.
* src/gsad.c (init_validator): Add rules for optional cases.
(exec_omp_post): Pass single param instead of many.
* src/gsad_base.h (GSAD_MESSAGE_INVALID): New define.
* src/gsad_omp.c (new_task_omp): Show message.
(CHECK): New macro.
(create_task_omp): Replace multiple args with one.
* src/gsad_omp.h: Update headers accordingly.
* src/html/omp.xsl (new_task): Use optional cases of params. Remove stray
input.
Modified: trunk/gsa/ChangeLog
===================================================================
--- trunk/gsa/ChangeLog 2011-08-25 15:43:09 UTC (rev 11507)
+++ trunk/gsa/ChangeLog 2011-08-25 18:36:40 UTC (rev 11508)
@@ -1,5 +1,23 @@
2011-08-25 Matthew Mundell <matthew.mundell at greenbone.net>
+ Convert create_task to new param mechanism.
+
+ * src/gsad.c (init_validator): Add rules for optional cases.
+ (exec_omp_post): Pass single param instead of many.
+
+ * src/gsad_base.h (GSAD_MESSAGE_INVALID): New define.
+
+ * src/gsad_omp.c (new_task_omp): Show message.
+ (CHECK): New macro.
+ (create_task_omp): Replace multiple args with one.
+
+ * src/gsad_omp.h: Update headers accordingly.
+
+ * src/html/omp.xsl (new_task): Use optional cases of params. Remove stray
+ input.
+
+2011-08-25 Matthew Mundell <matthew.mundell at greenbone.net>
+
Convert more pages to new param mechanism.
* src/gsad.c (exec_omp_post): Pass single param instead of many.
Modified: trunk/gsa/src/gsad.c
===================================================================
--- trunk/gsa/src/gsad.c 2011-08-25 15:43:09 UTC (rev 11507)
+++ trunk/gsa/src/gsad.c 2011-08-25 18:36:40 UTC (rev 11508)
@@ -544,6 +544,7 @@
openvas_validator_add (validator, "boolean", "^0|1$");
openvas_validator_add (validator, "comment", "^[-_[:alnum:]äüöÄÜÖß, \\./]{0,400}$");
openvas_validator_add (validator, "config_id", "^[a-z0-9\\-]+$");
+ openvas_validator_add (validator, "config_id_optional", "^(--|[a-z0-9\\-]+)$");
openvas_validator_add (validator, "condition", "^[[:alnum:] ]{0,100}$");
openvas_validator_add (validator, "create_credentials_type", "^(gen|pass|key)$");
openvas_validator_add (validator, "credential_login", "^[-_[:alnum:]\\.@\\\\]{1,40}$");
@@ -555,6 +556,7 @@
openvas_validator_add (validator, "domain", "^[-[:alnum:]\\.]{1,80}$");
openvas_validator_add (validator, "email", "^[^@ ]{1,150}@[^@ ]{1,150}$");
openvas_validator_add (validator, "escalator_id", "^[a-z0-9\\-]+$");
+ openvas_validator_add (validator, "escalator_id_optional", "^(--|[a-z0-9\\-]+)$");
openvas_validator_add (validator, "event_data:name", "^(.*){0,400}$");
openvas_validator_add (validator, "event_data:value", "^(\\R|.)*$");
openvas_validator_add (validator, "family", "^[-_[:alnum:] :]{1,200}$");
@@ -608,7 +610,9 @@
openvas_validator_add (validator, "method_data:name", "^(.*){0,400}$");
openvas_validator_add (validator, "method_data:value", "^(\\R|.)*$");
openvas_validator_add (validator, "slave_id", "^[a-z0-9\\-]+$");
+ openvas_validator_add (validator, "slave_id_optional", "^(--|[a-z0-9\\-]+)$");
openvas_validator_add (validator, "target_id", "^[a-z0-9\\-]+$");
+ openvas_validator_add (validator, "target_id_optional", "^(--|[a-z0-9\\-]+)$");
openvas_validator_add (validator, "task_id", "^[a-z0-9\\-]+$");
openvas_validator_add (validator, "text", "^.{0,1000}");
openvas_validator_add (validator, "threat", "^(High|Medium|Low|Log|False Positive|)$");
@@ -621,6 +625,7 @@
openvas_validator_add (validator, "target_locator", "^[[:alnum:] -_/]{1,80}$");
openvas_validator_add (validator, "token", "^[a-z0-9\\-]+$");
openvas_validator_add (validator, "schedule_id", "^[a-z0-9\\-]+$");
+ openvas_validator_add (validator, "schedule_id_optional", "^(--|[a-z0-9\\-]+)$");
openvas_validator_add (validator, "uuid", "^[0-9abcdefABCDEF\\-]{1,40}$");
openvas_validator_add (validator, "year", "^[0-9]+$");
openvas_validator_add (validator, "calendar_unit", "^second|minute|hour|day|week|month|year|decade$");
@@ -2393,87 +2398,7 @@
ELSE (create_escalator)
ELSE (create_lsc_credential)
ELSE (create_report)
- else if (!strcmp (con_info->req_parms.cmd, "create_task"))
- {
- validate (validator, "name", &con_info->req_parms.name);
- validate (validator, "comment", &con_info->req_parms.comment);
- if (con_info->req_parms.escalator_id
- && strcmp (con_info->req_parms.escalator_id, "--")
- && openvas_validate (validator,
- "escalator_id",
- con_info->req_parms.escalator_id))
- {
- free (con_info->req_parms.escalator_id);
- con_info->req_parms.escalator_id = NULL;
- }
- if (con_info->req_parms.target_id
- && strcmp (con_info->req_parms.target_id, "--")
- && openvas_validate (validator,
- "target_id",
- con_info->req_parms.target_id))
- {
- free (con_info->req_parms.target_id);
- con_info->req_parms.target_id = NULL;
- }
- if (con_info->req_parms.config_id
- && strcmp (con_info->req_parms.config_id, "--")
- && openvas_validate (validator,
- "config_id",
- con_info->req_parms.config_id))
- {
- free (con_info->req_parms.config_id);
- con_info->req_parms.config_id = NULL;
- }
- if (con_info->req_parms.schedule_id
- && strcmp (con_info->req_parms.schedule_id, "--")
- && openvas_validate (validator,
- "schedule_id",
- con_info->req_parms.schedule_id))
- {
- free (con_info->req_parms.schedule_id);
- con_info->req_parms.schedule_id = NULL;
- }
- if (con_info->req_parms.slave_id
- && strcmp (con_info->req_parms.slave_id, "--")
- && openvas_validate (validator,
- "slave_id",
- con_info->req_parms.slave_id))
- {
- free (con_info->req_parms.slave_id);
- con_info->req_parms.slave_id = NULL;
- }
- validate (validator, "overrides", &con_info->req_parms.overrides);
- validate (validator, "max_checks", &con_info->req_parms.max_checks);
- validate (validator, "max_hosts", &con_info->req_parms.max_hosts);
- if ((con_info->req_parms.name == NULL) ||
- (con_info->req_parms.comment == NULL) ||
- (con_info->req_parms.config_id == NULL) ||
- (con_info->req_parms.overrides == NULL) ||
- (con_info->req_parms.target_id == NULL) ||
- (con_info->req_parms.escalator_id == NULL) ||
- (con_info->req_parms.slave_id == NULL) ||
- (con_info->req_parms.schedule_id == NULL) ||
- (con_info->req_parms.max_checks == NULL) ||
- (con_info->req_parms.max_hosts == NULL))
- con_info->response
- = new_task_omp (credentials,
- "Invalid parameter",
- con_info->req_parms.overrides
- ? strcmp (con_info->req_parms.overrides, "0")
- : 0);
- else
- con_info->response =
- create_task_omp (credentials, con_info->req_parms.name,
- con_info->req_parms.comment,
- con_info->req_parms.target_id,
- con_info->req_parms.config_id,
- con_info->req_parms.escalator_id,
- con_info->req_parms.schedule_id,
- con_info->req_parms.slave_id,
- con_info->req_parms.overrides,
- con_info->req_parms.max_checks,
- con_info->req_parms.max_hosts);
- }
+ ELSE (create_task)
ELSE_OAP (create_user)
else if (!strcmp (con_info->req_parms.cmd, "create_schedule"))
{
Modified: trunk/gsa/src/gsad_base.h
===================================================================
--- trunk/gsa/src/gsad_base.h 2011-08-25 15:43:09 UTC (rev 11507)
+++ trunk/gsa/src/gsad_base.h 2011-08-25 18:36:40 UTC (rev 11508)
@@ -40,6 +40,15 @@
#define RESULTS_PER_PAGE 100
/** @brief Answer for invalid input. */
+#define GSAD_MESSAGE_INVALID \
+ "<gsad_msg status_text=\"%s\" operation=\"%s\">" \
+ "At least one entered value contains invalid characters or exceeds" \
+ " a size limit. You may use the Back button of your browser to adjust" \
+ " the entered values. If in doubt, the online help of the respective section" \
+ " will lead you to the appropriate help page." \
+ "</gsad_msg>"
+
+/** @brief Answer for invalid input. */
#define GSAD_MESSAGE_INVALID_PARAM(op) \
"<gsad_msg status_text=\"Invalid parameter\" operation=\"" op "\">" \
"At least one entered value contains invalid characters or exceeds" \
Modified: trunk/gsa/src/gsad_omp.c
===================================================================
--- trunk/gsa/src/gsad_omp.c 2011-08-25 15:43:09 UTC (rev 11507)
+++ trunk/gsa/src/gsad_omp.c 2011-08-25 18:36:40 UTC (rev 11508)
@@ -406,8 +406,6 @@
/**
* @brief Returns page to create a new task.
*
- * @todo Display actual text given in \param message .
- *
* @param[in] credentials Credentials of user issuing the action.
* @param[in] message If not NULL, display message.
* @param[in] apply_overrides Whether to apply overrides.
@@ -588,7 +586,7 @@
}
if (message)
- g_string_append (xml, GSAD_MESSAGE_INVALID_PARAM ("Create Task"));
+ g_string_append_printf (xml, GSAD_MESSAGE_INVALID, message, "Create Task");
g_string_append_printf (xml,
"<user>%s</user>"
"<apply_overrides>%i</apply_overrides>"
@@ -714,29 +712,22 @@
return xsl_transform_omp (credentials, text);
}
+#define CHECK(name) \
+ if (name == NULL) \
+ return new_task_omp (credentials, \
+ "Given " G_STRINGIFY (name) " was invalid", \
+ apply_overrides ? strcmp (apply_overrides, "0") : 0); \
+
/**
* @brief Create a task, get all tasks, XSL transform the result.
*
- * @param[in] credentials Username and password for authentication.
- * @param[in] name New task name.
- * @param[in] comment Comment on task.
- * @param[in] target_id Target for task.
- * @param[in] config_id Config for task.
- * @param[in] escalator_id Escalator for task.
- * @param[in] schedule_id UUID of schedule for task.
- * @param[in] slave_id UUID of slave for task.
- * @param[in] apply_overrides Whether to apply overrides.
- * @param[in] max_checks Max checks task preference.
- * @param[in] max_hosts Max hosts task preference.
+ * @param[in] credentials Username and password for authentication.
+ * @param[in] params Request parameters.
*
* @return Result of XSL transformation.
*/
char *
-create_task_omp (credentials_t * credentials, char *name, char *comment,
- char *target_id, char *config_id, const char *escalator_id,
- const char *schedule_id, const char *slave_id,
- const char *apply_overrides, const char *max_checks,
- const char *max_hosts)
+create_task_omp (credentials_t * credentials, params_t *params)
{
entity_t entity;
gnutls_session_t session;
@@ -744,7 +735,31 @@
int socket, ret;
gchar *schedule_element, *escalator_element, *slave_element;
gchar *html;
+ const char *name, *comment, *config_id, *apply_overrides, *target_id;
+ const char *escalator_id, *slave_id, *schedule_id, *max_checks, *max_hosts;
+ name = params_value (params, "name");
+ comment = params_value (params, "comment");
+ config_id = params_value (params, "config_id");
+ apply_overrides = params_value (params, "overrides");
+ target_id = params_value (params, "target_id");
+ escalator_id = params_value (params, "escalator_id_optional");
+ slave_id = params_value (params, "slave_id_optional");
+ schedule_id = params_value (params, "schedule_id_optional");
+ max_checks = params_value (params, "max_checks");
+ max_hosts = params_value (params, "max_hosts");
+
+ CHECK (name);
+ CHECK (comment);
+ CHECK (config_id);
+ CHECK (apply_overrides);
+ CHECK (target_id);
+ CHECK (escalator_id);
+ CHECK (slave_id);
+ CHECK (schedule_id);
+ CHECK (max_checks);
+ CHECK (max_hosts);
+
switch (manager_connect (credentials, &socket, &session, &html))
{
case 0:
@@ -762,18 +777,18 @@
"/omp?cmd=get_tasks");
}
- if (!schedule_id || strcmp (schedule_id, "--") == 0)
+ if (schedule_id == NULL || strcmp (schedule_id, "--") == 0)
schedule_element = g_strdup ("");
else
schedule_element = g_strdup_printf ("<schedule id=\"%s\"/>", schedule_id);
- if (!escalator_id || strcmp (escalator_id, "--") == 0)
+ if (escalator_id == NULL || strcmp (escalator_id, "--") == 0)
escalator_element = g_strdup ("");
else
escalator_element = g_strdup_printf ("<escalator id=\"%s\"/>",
escalator_id);
- if (!slave_id || strcmp (slave_id, "--") == 0)
+ if (slave_id == NULL || strcmp (slave_id, "--") == 0)
slave_element = g_strdup ("");
else
slave_element = g_strdup_printf ("<slave id=\"%s\"/>", slave_id);
Modified: trunk/gsa/src/gsad_omp.h
===================================================================
--- trunk/gsa/src/gsad_omp.h 2011-08-25 15:43:09 UTC (rev 11507)
+++ trunk/gsa/src/gsad_omp.h 2011-08-25 18:36:40 UTC (rev 11508)
@@ -40,9 +40,7 @@
void omp_init (const gchar *, int);
char * create_report_omp (credentials_t *, params_t *);
-char * create_task_omp (credentials_t *, char *, char *, char *, char *,
- const char *, const char *, const char *, const char *,
- const char *, const char *);
+char * create_task_omp (credentials_t *, params_t *);
char * delete_task_omp (credentials_t *, params_t *);
char * delete_trash_task_omp (credentials_t *, params_t *);
char * edit_task_omp (credentials_t *, const char *, const char *, const char *,
Modified: trunk/gsa/src/html/omp.xsl
===================================================================
--- trunk/gsa/src/html/omp.xsl 2011-08-25 15:43:09 UTC (rev 11507)
+++ trunk/gsa/src/html/omp.xsl 2011-08-25 18:36:40 UTC (rev 11508)
@@ -11882,7 +11882,7 @@
<tr>
<td>Escalator (optional)</td>
<td>
- <select name="escalator_id">
+ <select name="escalator_id_optional">
<option value="--">--</option>
<xsl:apply-templates select="get_escalators_response/escalator"
mode="newtask"/>
@@ -11892,7 +11892,7 @@
<tr>
<td>Schedule (optional)</td>
<td>
- <select name="schedule_id">
+ <select name="schedule_id_optional">
<option value="--">--</option>
<xsl:apply-templates select="get_schedules_response/schedule"
mode="newtask"/>
@@ -11902,7 +11902,7 @@
<tr>
<td>Slave (optional)</td>
<td>
- <select name="slave_id">
+ <select name="slave_id_optional">
<option value="--">--</option>
<xsl:apply-templates select="get_slaves_response/slave"
mode="newtask"/>
@@ -11913,7 +11913,6 @@
<table border="0" cellspacing="0" cellpadding="3" width="100%">
<xsl:choose>
<xsl:when test="commands_response/get_tasks_response/task/target/@id = ''">
- <input type="hidden" name="target_id" value="--"/>
</xsl:when>
<xsl:otherwise>
<h2>Scan Intensity</h2>
More information about the Openvas-commits
mailing list