Greenbone Security Assistant
Macros | Functions
validator.c File Reference

Validation mechanism. More...

#include "validator.h"
#include <assert.h>

Macros

#define G_LOG_DOMAIN   "gsad vali"
 GLib log domain. More...
 

Functions

validator_rule_tgvm_validator_rule_new (const char *regex)
 Create a new validator rule. More...
 
validator_rule_tgvm_validator_rule_new_binary ()
 Create a new validator rule for a binary parameter. More...
 
void gvm_validator_rule_free (validator_rule_t *rule)
 Free a validator rule. More...
 
validator_t gvm_validator_new ()
 Create a new validator. More...
 
void gvm_validator_add (validator_t validator, const char *name, const char *regex)
 Add or overwrite a validation rule. More...
 
void gvm_validator_add_binary (validator_t validator, const char *name)
 Add or overwrite a validation rule for a binary data param. More...
 
int gvm_validator_alias (validator_t validator, const char *alias, const char *name)
 Make an alias for a rule name. More...
 
gchar * gvm_validator_alias_for (validator_t validator, const char *alias)
 Get the name of the rule for which a rule is an alias. More...
 
int gvm_validate (validator_t validator, const char *name, const char *value)
 Validate a string for a given rule. More...
 
void gvm_validator_free (validator_t validator)
 Free a validator. More...
 

Detailed Description

Validation mechanism.

Defines a mechanism to validate strings according to named rules.

gvm_validator_new creates a new validator which must be freed with gvm_validator_free. gvm_validator_add adds a regular expression to a validator as a rule. gvm_validate checks that a given string matches a given rule.

Macro Definition Documentation

◆ G_LOG_DOMAIN

#define G_LOG_DOMAIN   "gsad vali"

GLib log domain.

Function Documentation

◆ gvm_validate()

int gvm_validate ( validator_t  validator,
const char *  name,
const char *  value 
)

Validate a string for a given rule.

Parameters
validatorValidator to validate from.
nameName of rule.
valueValue to validate.
Returns
0 if valid
  • value is valid, 1 if failed to find
  • name in validator, 2 if value failed to match the regexp.

◆ gvm_validator_add()

void gvm_validator_add ( validator_t  validator,
const char *  name,
const char *  regex 
)

Add or overwrite a validation rule.

Parameters
validatorValidator to add rule to.
nameName of the rule.
regexValidation rule as a regular expression.

◆ gvm_validator_add_binary()

void gvm_validator_add_binary ( validator_t  validator,
const char *  name 
)

Add or overwrite a validation rule for a binary data param.

Parameters
validatorValidator to add rule to.
nameName of the rule.

◆ gvm_validator_alias()

int gvm_validator_alias ( validator_t  validator,
const char *  alias,
const char *  name 
)

Make an alias for a rule name.

Parameters
validatorValidator to add alias to.
aliasName of alias for rule.
nameName of the rule.
Returns
0 success, -1 error.

◆ gvm_validator_alias_for()

gchar* gvm_validator_alias_for ( validator_t  validator,
const char *  alias 
)

Get the name of the rule for which a rule is an alias.

Parameters
validatorValidator.
aliasName of alias.
Returns
Rule name if alias is an alias, else NULL. Freed by gvm_validator_free.

◆ gvm_validator_free()

void gvm_validator_free ( validator_t  validator)

Free a validator.

Parameters
validatorValidator.

◆ gvm_validator_new()

validator_t gvm_validator_new ( )

Create a new validator.

The validator must be freed with gvm_validator_free.

Returns
A newly allocated validator.

◆ gvm_validator_rule_free()

void gvm_validator_rule_free ( validator_rule_t rule)

Free a validator rule.

Parameters
ruleValidator rule.

◆ gvm_validator_rule_new()

validator_rule_t* gvm_validator_rule_new ( const char *  regex)

Create a new validator rule.

The validator must be freed with gvm_validator_rule_free.

Returns
A newly allocated validator rule.

◆ gvm_validator_rule_new_binary()

validator_rule_t* gvm_validator_rule_new_binary ( )

Create a new validator rule for a binary parameter.

The validator must be freed with gvm_validator_rule_free.

Returns
A newly allocated validator rule.