OpenVAS Libraries  7.0.7
Macros | Functions
openvas_ssh_login.c File Reference
#include <glib/gstdio.h>
#include <fcntl.h>
#include <unistd.h>
#include "openvas_ssh_login.h"

Macros

#define KEY_SSHLOGIN_USERNAME   "username"
 
#define KEY_SSHLOGIN_USERPASSWORD   "userpassword"
 
#define KEY_SSHLOGIN_PUBKEY_FILE   "pubkey_file"
 
#define KEY_SSHLOGIN_PRIVKEY_FILE   "privkey_file"
 
#define KEY_SSHLOGIN_COMMENT   "comment"
 
#define KEY_SSHLOGIN_PASSPHRASE   "passphrase"
 

Functions

int file_check_exists (const char *name)
 
openvas_ssh_loginopenvas_ssh_login_new (char *name, char *pubkey_file, char *privkey_file, char *passphrase, char *comment, char *uname, char *upass)
 Initializes a openvas_ssh_login. More...
 
void openvas_ssh_login_free (openvas_ssh_login *loginfo)
 Frees data associated with a openvas_ssh_login. More...
 
GHashTable * openvas_ssh_login_file_read_buffer (const char *buffer, gsize buffer_size, gboolean check_keyfiles)
 Reads from contents of a ssh_login file and returns info in a. More...
 

Macro Definition Documentation

#define KEY_SSHLOGIN_COMMENT   "comment"
#define KEY_SSHLOGIN_PASSPHRASE   "passphrase"
#define KEY_SSHLOGIN_PRIVKEY_FILE   "privkey_file"
#define KEY_SSHLOGIN_PUBKEY_FILE   "pubkey_file"
#define KEY_SSHLOGIN_USERNAME   "username"
#define KEY_SSHLOGIN_USERPASSWORD   "userpassword"

Function Documentation

int file_check_exists ( const char *  name)
Todo:
This module fulfils the reqirements to be placed in the base library.

Replacement for g_file_test which is unreliable on windows if OpenVAS and GTK are compiled with a different libc. TODO: The windows issue needs verification and proper documentation. Maybe a proper build could prohibit any problems.

FIXME: handle symbolic links FIXME: this one is a code duplicate of check_exists in openvas-client/context.c, but needed in openvas-libraries as well.

Returns
1 if file exists, 0 otherwise.
GHashTable* openvas_ssh_login_file_read_buffer ( const char *  buffer,
gsize  buffer_size,
gboolean  check_keyfiles 
)

Reads from contents of a ssh_login file and returns info in a.

GHashTable.

Like openvas_ssh_login_file_read, but used when the file content is known already.

Parameters
filenameBuffer to read from.
check_keyfilesIf TRUE, checks if referenced keyfiles do exist, before adding the openvas_ssh_login to the HashTable.
Returns
GHashTable, keys are names of openvas_ssh_logins, who are values.
See also
openvas_ssh_login_file_read
void openvas_ssh_login_free ( openvas_ssh_login loginfo)

Frees data associated with a openvas_ssh_login.

Parameters
loginfoopenvas_ssh_login to free.
openvas_ssh_login* openvas_ssh_login_new ( char *  name,
char *  pubkey_file,
char *  privkey_file,
char *  passphrase,
char *  comment,
char *  uname,
char *  upass 
)

Initializes a openvas_ssh_login.

Key and Info files have to be created separately. However, it is tested if the keyfiles do exist and the 'valid' flag is set accordingly. Note that the parameter are not copied, so ensure they live as long as this login.

Returns
A fresh openvas_ssh_login.