Greenbone Security Assistant
Data Structures | Macros | Functions
gsad_user.c File Reference

GSAD user handling. More...

#include "gsad_user.h"
#include "gsad_base.h"
#include "gsad_gmp_auth.h"
#include "gsad_session.h"
#include "gsad_settings.h"
#include "utils.h"
#include <assert.h>
#include <gvm/util/uuidutils.h>
#include <string.h>

Data Structures

struct  user
 User information structure, for sessions. More...
 

Macros

#define BROWSER_LANGUAGE   "Browser Language"
 

Functions

void user_renew_session (user_t *user)
 
user_tuser_new ()
 
user_tuser_new_with_data (const gchar *username, const gchar *password, const gchar *timezone, const gchar *role, const gchar *capabilities, const gchar *language, const gchar *pw_warning, const gchar *address)
 
void user_free (user_t *user)
 
user_tuser_copy (user_t *user)
 
gboolean user_session_expired (user_t *user)
 
const gchar * user_get_username (user_t *user)
 
const gchar * user_get_language (user_t *user)
 
const gchar * user_get_cookie (user_t *user)
 
const gchar * user_get_token (user_t *user)
 
const gchar * user_get_capabilities (user_t *user)
 
const gchar * user_get_password_warning (user_t *user)
 
const gchar * user_get_timezone (user_t *user)
 
const gchar * user_get_client_address (user_t *user)
 
const gchar * user_get_role (user_t *user)
 
const gchar * user_get_password (user_t *user)
 
const time_t user_get_session_timeout (user_t *user)
 
void user_set_timezone (user_t *user, const gchar *timezone)
 Set timezone of user. More...
 
void user_set_password (user_t *user, const gchar *password)
 Set password of user. More...
 
void user_set_language (user_t *user, const gchar *language)
 Set language of user. More...
 
void user_set_username (user_t *user, const gchar *username)
 Set username of user. More...
 
int user_logout (user_t *user)
 Logout a user. More...
 
user_tuser_add (const gchar *username, const gchar *password, const gchar *timezone, const gchar *role, const gchar *capabilities, const gchar *language, const gchar *pw_warning, const char *address)
 Add a user. More...
 
int user_find (const gchar *cookie, const gchar *token, const char *address, user_t **user_return)
 Find a user, given a token and cookie. More...
 

Detailed Description

GSAD user handling.

Macro Definition Documentation

◆ BROWSER_LANGUAGE

#define BROWSER_LANGUAGE   "Browser Language"

Function Documentation

◆ user_add()

user_t* user_add ( const gchar *  username,
const gchar *  password,
const gchar *  timezone,
const gchar *  role,
const gchar *  capabilities,
const gchar *  language,
const gchar *  pw_warning,
const char *  address 
)

Add a user.

Creates and initializes a user object with given parameters

It's up to the caller to free the returned user.

Parameters
[in]usernameName of user.
[in]passwordPassword for user.
[in]timezoneTimezone of user.
[in]roleRole of user.
[in]capabilitiesCapabilities of manager.
[in]languageUser Interface Language (language name or code)
[in]pw_warningPassword policy warning.
[in]addressClient's IP address.
Returns
Added user.

◆ user_copy()

user_t* user_copy ( user_t user)

◆ user_find()

int user_find ( const gchar *  cookie,
const gchar *  token,
const char *  address,
user_t **  user_return 
)

Find a user, given a token and cookie.

If a user is returned, the session of the user is renewed and it's up to the caller to free the user.

Parameters
[in]cookieToken in cookie.
[in]tokenToken request parameter.
[in]addressClient's IP address.
[out]user_returnCopy of the User or NULL in error cases.
Returns
0 ok (user in user_return), 1 bad token, 2 expired token, 3 bad/missing cookie, 4 bad/missing token, 7 IP address mismatch,

◆ user_free()

void user_free ( user_t user)

◆ user_get_capabilities()

const gchar* user_get_capabilities ( user_t user)

◆ user_get_client_address()

const gchar* user_get_client_address ( user_t user)

◆ user_get_cookie()

const gchar* user_get_cookie ( user_t user)

◆ user_get_language()

const gchar* user_get_language ( user_t user)

◆ user_get_password()

const gchar* user_get_password ( user_t user)

◆ user_get_password_warning()

const gchar* user_get_password_warning ( user_t user)

◆ user_get_role()

const gchar* user_get_role ( user_t user)

◆ user_get_session_timeout()

const time_t user_get_session_timeout ( user_t user)

◆ user_get_timezone()

const gchar* user_get_timezone ( user_t user)

◆ user_get_token()

const gchar* user_get_token ( user_t user)

◆ user_get_username()

const gchar* user_get_username ( user_t user)

◆ user_logout()

int user_logout ( user_t user)

Logout a user.

Parameters
[in]userUser.
Returns
0 success, -1 error.

◆ user_new()

user_t* user_new ( )

◆ user_new_with_data()

user_t* user_new_with_data ( const gchar *  username,
const gchar *  password,
const gchar *  timezone,
const gchar *  role,
const gchar *  capabilities,
const gchar *  language,
const gchar *  pw_warning,
const gchar *  address 
)

◆ user_renew_session()

void user_renew_session ( user_t user)

◆ user_session_expired()

gboolean user_session_expired ( user_t user)

◆ user_set_language()

void user_set_language ( user_t user,
const gchar *  language 
)

Set language of user.

Parameters
[in]userUser.
[in]languageLanguage.

◆ user_set_password()

void user_set_password ( user_t user,
const gchar *  password 
)

Set password of user.

Parameters
[in]userUser.
[in]passwordPassword.

◆ user_set_timezone()

void user_set_timezone ( user_t user,
const gchar *  timezone 
)

Set timezone of user.

Parameters
[in]userUser.
[in]timezoneTimezone.

◆ user_set_username()

void user_set_username ( user_t user,
const gchar *  username 
)

Set username of user.

Parameters
[in]userUser.
[in]usernameUsername.