OpenVAS Libraries
7.0.6
|
Go to the source code of this file.
Typedefs | |
typedef enum authentication_method | auth_method_t |
Type for the numerical representation of the supported. More... | |
Enumerations | |
enum | authentication_method { AUTHENTICATION_METHOD_FILE = 0, AUTHENTICATION_METHOD_LDAP_CONNECT, AUTHENTICATION_METHOD_LAST } |
Numerical representation of the supported authentication methods. More... | |
Functions | |
const gchar * | auth_method_name (auth_method_t) |
Return name of auth_method_t. More... | |
int | openvas_auth_init () |
Initializes the list of authentication methods. More... | |
int | openvas_auth_init_funcs (gchar *(*)(const gchar *), int(*)(const gchar *, const gchar *, const gchar *), int(*)(const gchar *, auth_method_t), gchar *(*)(const gchar *, auth_method_t)) |
void | openvas_auth_tear_down () |
Free memory associated to authentication configuration. More... | |
int | openvas_auth_write_config (GKeyFile *keyfile) |
Writes the authentication mechanism configuration, merging with. More... | |
gchar * | get_password_hashes (int, const gchar *) |
Generate a pair of hashes to be used in the OpenVAS "auth/hash" file for the user. More... | |
gchar * | digest_hex (int, const guchar *) |
Generate a hexadecimal representation of a message digest. More... | |
int | openvas_authenticate_method (const gchar *, const gchar *, auth_method_t *) |
Authenticate a credential pair and expose the method used. More... | |
int | openvas_authenticate_uuid (const gchar *, const gchar *, gchar **uuid) |
int | openvas_user_exists (const char *) |
Check whether a user exists. More... | |
gchar * | openvas_user_uuid (const char *name) |
Return the UUID of a user from the OpenVAS user UUID file. More... | |
typedef enum authentication_method auth_method_t |
Type for the numerical representation of the supported.
authentication methods.
const gchar* auth_method_name | ( | auth_method_t | method | ) |
Return name of auth_method_t.
Keep in sync with authentication_methods and authentication_method .
method | Auth method. |
gchar* digest_hex | ( | int | gcrypt_algorithm, |
const guchar * | digest | ||
) |
Generate a hexadecimal representation of a message digest.
gcrypt_algorithm | The libgcrypt message digest algorithm used to create the digest (e.g. GCRY_MD_MD5; see the enum gcry_md_algos in gcrypt.h). |
digest | The binary representation of the digest. |
gchar* get_password_hashes | ( | int | digest_algorithm, |
const gchar * | password | ||
) |
Generate a pair of hashes to be used in the OpenVAS "auth/hash" file for the user.
The "auth/hash" file consist of two hashes, h_1 and h_2. h_2 (the "seed") is the message digest of (currently) 256 bytes of random data. h_1 is the message digest of h_2 concatenated with the password in plaintext.
The current implementation was taken from the openvas-adduser shell script provided with openvas-server.
gcrypt_algorithm | The libgcrypt message digest algorithm used to create the digest (e.g. GCRY_MD_MD5; see the enum gcry_md_algos in gcrypt.h) |
password | The password in plaintext. |
int openvas_auth_init | ( | ) |
Initializes the list of authentication methods.
Parses PREFIX/var/lib/openvas/auth.conf and adds respective authenticators to the authenticators list.
Call once before calls to openvas_authenticate, otherwise the authentication method will default to file-system based authentication.
The list should be freed with openvas_auth_tear_down once no further authentication trials will be done.
A warning will be issued if openvas_auth_init is called a second time without a call to openvas_auth_tear_down in between. In this case, no reconfiguration will take place.
int openvas_auth_init_funcs | ( | gchar * | *)(const gchar *, |
int(*)(const gchar *, const gchar *, const gchar *) | , | ||
int(*)(const gchar *, auth_method_t) | , | ||
gchar * | *)(const gchar *, auth_method_t | ||
) |
void openvas_auth_tear_down | ( | ) |
Free memory associated to authentication configuration.
This will have no effect if openvas_auth_init was not called.
int openvas_auth_write_config | ( | GKeyFile * | key_file | ) |
Writes the authentication mechanism configuration, merging with.
defaults and existing configuration.
If the passed key-file contains just method:ldap_connect, do not write the defaults of any other group.
[in] | keyfile | The KeyFile to merge and write. Can be NULL, in which case just the default will be written. |
int openvas_authenticate_method | ( | const gchar * | username, |
const gchar * | password, | ||
auth_method_t * | method | ||
) |
Authenticate a credential pair and expose the method used.
Uses the configurable authenticators list, if available. Defaults to file-based (openvas users directory) authentication otherwise.
username | Username. |
password | Password. |
method[out] | Return location for the method that was used to authenticate the credential pair. |
int openvas_authenticate_uuid | ( | const gchar * | , |
const gchar * | , | ||
gchar ** | uuid | ||
) |
int openvas_user_exists | ( | const char * | name | ) |
Check whether a user exists.
[in] | name | User name. |
gchar* openvas_user_uuid | ( | const char * | name | ) |
Return the UUID of a user from the OpenVAS user UUID file.
If the user exists, ensure that the user has a UUID (create that file).
[in] | name | User name. |