Greenbone Security Assistant
Macros | Functions | Variables
gsad_base.c File Reference

Base functionality of GSA. More...

#include "gsad_base.h"
#include "gsad_params.h"
#include <glib.h>
#include <libxml/parser.h>
#include <string.h>
#include <sys/param.h>
#include <malloc.h>

Macros

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

Functions

int gsad_base_init ()
 Base init. More...
 
int gsad_base_cleanup ()
 Base init. More...
 
void set_chroot_state (int state)
 Sets the chroot state. More...
 
void set_http_only (int state)
 Sets the http_only state. More...
 
char * ctime_r_strip_newline (time_t *time, char *string)
 Return string from ctime_r with newline replaces with terminator. More...
 
static void param_free (gpointer param)
 Free a param. More...
 
params_tparams_new ()
 Make a params. More...
 
void params_free (params_t *params)
 Make a params. More...
 
param_tparams_get (params_t *params, const char *name)
 Get param. More...
 
int params_given (params_t *params, const char *name)
 Get whether a param was given at all. More...
 
const char * params_value (params_t *params, const char *name)
 Get value of param. More...
 
gboolean params_value_bool (params_t *params, const char *name)
 Get boolean value of param. More...
 
int params_value_size (params_t *params, const char *name)
 Get the size of the value of param. More...
 
const char * params_original_value (params_t *params, const char *name)
 Get original value of param, before validation. More...
 
const char * params_filename (params_t *params, const char *name)
 Get filename of param. More...
 
params_tparams_values (params_t *params, const char *name)
 Get values of param. More...
 
int params_valid (params_t *params, const char *name)
 Get whether a param is valid. More...
 
param_tparams_add (params_t *params, const char *name, const char *value)
 Add a param. More...
 
void params_remove (params_t *params, const char *name)
 
param_tparams_append_bin (params_t *params, const char *name, const char *chunk_data, int chunk_size, int chunk_offset)
 Append binary data to a param. More...
 
gboolean params_iterator_next (params_iterator_t *iterator, char **name, param_t **param)
 Increment a params iterator. More...
 

Variables

static int chroot_state = 0
 The chroot state: 0 = no chroot, 1 = chroot used. More...
 
static int http_only = 0
 The http_only state: 0 = using HTTPS, 1 = HTTP only. More...
 

Detailed Description

Base functionality of GSA.

Macro Definition Documentation

◆ G_LOG_DOMAIN

#define G_LOG_DOMAIN   "gsad base"

GLib log domain.

Function Documentation

◆ ctime_r_strip_newline()

char* ctime_r_strip_newline ( time_t *  time,
char *  string 
)

Return string from ctime_r with newline replaces with terminator.

Parameters
[in]timeTime.
[out]stringTime string.
Returns
Return from ctime_r applied to time, with newline stripped off.

◆ gsad_base_cleanup()

int gsad_base_cleanup ( )

Base init.

Returns
0 success, -1 error.

◆ gsad_base_init()

int gsad_base_init ( )

Base init.

Returns
0 success, 1 XML needs thread support.

◆ param_free()

static void param_free ( gpointer  param)
static

Free a param.

Parameters
[in]paramParam.

◆ params_add()

param_t* params_add ( params_t params,
const char *  name,
const char *  value 
)

Add a param.

Parameters
[in]paramsParams.
[in]nameName.
[in]valueValue. Must be a string.

◆ params_append_bin()

param_t* params_append_bin ( params_t params,
const char *  name,
const char *  chunk_data,
int  chunk_size,
int  chunk_offset 
)

Append binary data to a param.

Appended data always has an extra NULL terminator.

Parameters
[in]paramsParams.
[in]nameName.
[in]chunk_dataData to append.
[in]chunk_sizeNumber of bytes to copy.
[in]chunk_offsetOffset in bytes into data from which to start.
Returns
Param appended to, or NULL on memory error.

◆ params_filename()

const char* params_filename ( params_t params,
const char *  name 
)

Get filename of param.

Parameters
[in]paramsParams.
[in]nameName.
Returns
Filename if param present and has a filename, else NULL.

◆ params_free()

void params_free ( params_t params)

Make a params.

Parameters
[in]paramsParams.

◆ params_get()

param_t* params_get ( params_t params,
const char *  name 
)

Get param.

Parameters
[in]paramsParams.
[in]nameName.
Returns
Param if present, else NULL.

◆ params_given()

int params_given ( params_t params,
const char *  name 
)

Get whether a param was given at all.

Parameters
[in]paramsParams.
[in]nameName.
Returns
1 if given, else 0.

◆ params_iterator_next()

gboolean params_iterator_next ( params_iterator_t iterator,
char **  name,
param_t **  param 
)

Increment a params iterator.

Parameters
[in]iteratorIterator.
[out]nameName of param.
[out]paramParam.
Returns
TRUE if there was a next element, else FALSE.

◆ params_new()

params_t* params_new ( )

Make a params.

Returns
Freshly allocated params. Free with params_free.

◆ params_original_value()

const char* params_original_value ( params_t params,
const char *  name 
)

Get original value of param, before validation.

Only set if validation failed.

Parameters
[in]paramsParams.
[in]nameName.
Returns
Value if param present, else NULL.

◆ params_remove()

void params_remove ( params_t params,
const char *  name 
)

◆ params_valid()

int params_valid ( params_t params,
const char *  name 
)

Get whether a param is valid.

Parameters
[in]paramsParams.
[in]nameName.
Returns
1 if param present and valid, else 0.

◆ params_value()

const char* params_value ( params_t params,
const char *  name 
)

Get value of param.

Parameters
[in]paramsParams.
[in]nameName.
Returns
Value if param present, else NULL.

◆ params_value_bool()

gboolean params_value_bool ( params_t params,
const char *  name 
)

Get boolean value of param.

Parameters
[in]paramsParams.
[in]nameName.
Returns
1 if param present and != 0, else 0.

◆ params_value_size()

int params_value_size ( params_t params,
const char *  name 
)

Get the size of the value of param.

Parameters
[in]paramsParams.
[in]nameName.
Returns
Size if param present, else -1.

◆ params_values()

params_t* params_values ( params_t params,
const char *  name 
)

Get values of param.

Parameters
[in]paramsParams.
[in]nameName.
Returns
Values if param present, else NULL.

◆ set_chroot_state()

void set_chroot_state ( int  state)

Sets the chroot state.

Parameters
[in]stateThe new chroot state.

◆ set_http_only()

void set_http_only ( int  state)

Sets the http_only state.

Parameters
[in]stateThe new http_only state.

Variable Documentation

◆ chroot_state

int chroot_state = 0
static

The chroot state: 0 = no chroot, 1 = chroot used.

◆ http_only

int http_only = 0
static

The http_only state: 0 = using HTTPS, 1 = HTTP only.