#include <glib.h>
#include "../base/array.h"
Go to the source code of this file.
◆ auth_method_t
Type for the numerical representation of the supported.
authentication methods.
◆ authentication_method
Numerical representation of the supported authentication methods.
Beware to have it in sync with authentication_methods.
Enumerator |
---|
AUTHENTICATION_METHOD_FILE | |
AUTHENTICATION_METHOD_LDAP_CONNECT | |
AUTHENTICATION_METHOD_RADIUS_CONNECT | |
AUTHENTICATION_METHOD_LAST | |
◆ auth_method_name()
Return name of auth_method_t.
Keep in sync with authentication_methods and authentication_method .
- Parameters
-
- Returns
- Name of auth method.
◆ digest_hex()
gchar* digest_hex |
( |
int |
gcrypt_algorithm, |
|
|
const guchar * |
digest |
|
) |
| |
Generate a hexadecimal representation of a message digest.
- Parameters
-
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. |
- Returns
- A pointer to the hexadecimal representation of the message digest or NULL if an unavailable message digest algorithm was selected.
◆ get_password_hashes()
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.
- Parameters
-
digest_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. |
- Returns
- A pointer to a gchar containing the two hashes separated by a space or NULL if an unavailable message digest algorithm was selected.
◆ openvas_auth_init()
int openvas_auth_init |
( |
| ) |
|
Initializes Gcrypt.
- Returns
- 0 success, -1 error.
◆ openvas_auth_ldap_enabled()
int openvas_auth_ldap_enabled |
( |
| ) |
|
Return whether libraries has been compiled with LDAP support.
- Returns
- 1 if enabled, else 0.
◆ openvas_auth_radius_enabled()
int openvas_auth_radius_enabled |
( |
| ) |
|
Return whether libraries has been compiled with RADIUS support.
- Returns
- 1 if enabled, else 0.
◆ openvas_auth_tear_down()
void openvas_auth_tear_down |
( |
void |
| ) |
|
Free memory associated to authentication configuration.
This will have no effect if openvas_auth_init was not called.
- Todo:
- Close memleak, destroy list and content.
◆ openvas_authenticate_classic()
int openvas_authenticate_classic |
( |
const gchar * |
username, |
|
|
const gchar * |
password, |
|
|
const gchar * |
hash_arg |
|
) |
| |
Authenticate a credential pair against openvas user file contents.
- Parameters
-
username | Username. |
password | Password. |
hash_arg | Hash. |
- Returns
- 0 authentication success, 1 authentication failure, -1 error.