OpenVAS Libraries
4.0+rc3.SVN
|
GnuTLS based functions for communication with an OpenVAS server. More...
#include <arpa/inet.h>
#include <errno.h>
#include <fcntl.h>
#include <netdb.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#include <gcrypt.h>
#include <glib.h>
#include <string.h>
#include "openvas_server.h"
Defines | |
#define | G_LOG_DOMAIN "lib serv" |
GLib log domain. | |
Functions | |
int | openvas_server_open (gnutls_session_t *session, const char *host, int port) |
Connect to the server using a given host and port. | |
int | openvas_server_close (int socket, gnutls_session_t session) |
Close a server connection. | |
int | openvas_server_connect (int server_socket, struct sockaddr_in *server_address, gnutls_session_t *server_session, gboolean interrupted) |
Connect to a server. | |
int | openvas_server_attach (int socket, gnutls_session_t *session) |
Attach a socket to a session, and shake hands with the peer. | |
int | openvas_server_send (gnutls_session_t *session, const char *string) |
Send a string to the server. | |
int | openvas_server_sendf (gnutls_session_t *session, const char *format,...) |
Format and send a string to the server. | |
int | openvas_server_sendf_xml (gnutls_session_t *session, const char *format,...) |
Format and send an XML string to the server. | |
int | openvas_server_new (gnutls_connection_end_t end_type, gchar *ca_cert_file, gchar *cert_file, gchar *key_file, gnutls_session_t *server_session, gnutls_certificate_credentials_t *server_credentials) |
Make a session for connecting to a server. | |
int | openvas_server_free (int server_socket, gnutls_session_t server_session, gnutls_certificate_credentials_t server_credentials) |
Cleanup a server session. | |
Variables | |
struct sockaddr_in | address |
Server address. |
GnuTLS based functions for communication with an OpenVAS server.
GnuTLS based functions for communication with an OpenVAS server. Copyright (C) 2009 Greenbone Networks GmbH
Authors: Matthew Mundell matt@ Jan-Oliver Wagner mund ell.u kfsn .orgjan-o Michael Wiegand live r.wag ner@ green bone .netmicha el.w iegan d@gr eenbo ne.n et
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
This library supplies low-level communication functions for communication with an OpenVAS server over GnuTLS.
#define G_LOG_DOMAIN "lib serv" |
int openvas_server_attach | ( | int | socket, |
gnutls_session_t * | session | ||
) |
Attach a socket to a session, and shake hands with the peer.
[in] | session | Pointer to GNUTLS session. |
[in] | socket | Socket. |
int openvas_server_close | ( | int | socket, |
gnutls_session_t | session | ||
) |
Close a server connection.
[in] | socket | Socket connected to server (from connect_to_server). |
[in] | session | GNUTLS session with server. |
int openvas_server_connect | ( | int | server_socket, |
struct sockaddr_in * | server_address, | ||
gnutls_session_t * | server_session, | ||
gboolean | interrupted | ||
) |
Connect to a server.
[in] | server_socket | Socket to connect to server. |
[in] | server_address | Server address. |
[in] | server_session | Session to connect to server. |
[in] | interrupted | 0 if first connect attempt, else retrying after an interrupted connect. |
int openvas_server_free | ( | int | server_socket, |
gnutls_session_t | server_session, | ||
gnutls_certificate_credentials_t | server_credentials | ||
) |
Cleanup a server session.
[in] | server_socket | The socket connected to the server. |
[in] | server_session | The session with the server. |
[in] | server_credentials | Credentials. |
int openvas_server_new | ( | gnutls_connection_end_t | end_type, |
gchar * | ca_cert_file, | ||
gchar * | cert_file, | ||
gchar * | key_file, | ||
gnutls_session_t * | server_session, | ||
gnutls_certificate_credentials_t * | server_credentials | ||
) |
Make a session for connecting to a server.
[in] | end_type | Connecton end type (GNUTLS_SERVER or GNUTLS_CLIENT). |
[in] | ca_file | Certificate authority file. |
[in] | cert_file | Certificate file. |
[in] | key_file | Key file. |
[out] | server_session | The session with the server. |
[out] | server_credentials | Server credentials. |
int openvas_server_open | ( | gnutls_session_t * | session, |
const char * | host, | ||
int | port | ||
) |
Connect to the server using a given host and port.
[in] | session | Pointer to GNUTLS session. |
[in] | host | Host to connect to. |
[in] | port | Port to connect to. |
int openvas_server_send | ( | gnutls_session_t * | session, |
const char * | string | ||
) |
Send a string to the server.
[in] | session | Pointer to GNUTLS session. |
[in] | string | String to send. |
int openvas_server_sendf | ( | gnutls_session_t * | session, |
const char * | format, | ||
... | |||
) |
Format and send a string to the server.
[in] | session | Pointer to GNUTLS session. |
[in] | format | printf-style format string for message. |
int openvas_server_sendf_xml | ( | gnutls_session_t * | session, |
const char * | format, | ||
... | |||
) |
Format and send an XML string to the server.
Escape XML in string and character args.
[in] | session | Pointer to GNUTLS session. |
[in] | format | printf-style format string for message. |