gwenhywfar  4.8.0beta
Macros | Functions
syncio_tls.c File Reference
#include "syncio_tls_p.h"
#include "i18n_l.h"
#include <gwenhywfar/misc.h>
#include <gwenhywfar/debug.h>
#include <gwenhywfar/gui.h>
#include <gwenhywfar/pathmanager.h>
#include <gwenhywfar/directory.h>
#include <gwenhywfar/gwenhywfar.h>
#include <gwenhywfar/text.h>
#include <assert.h>
#include <errno.h>
#include <string.h>
#include <gnutls/gnutls.h>
#include <gnutls/x509.h>
#include <gcrypt.h>

Go to the source code of this file.

Macros

#define DISABLE_DEBUGLOG
 

Functions

int GWEN_SyncIo_Tls__readFile (const char *fname, GWEN_BUFFER *buf)
 
int GWENHYWFAR_CB GWEN_SyncIo_Tls_Connect (GWEN_SYNCIO *sio)
 
int GWENHYWFAR_CB GWEN_SyncIo_Tls_Disconnect (GWEN_SYNCIO *sio)
 
void GWENHYWFAR_CB GWEN_SyncIo_Tls_FreeData (void *bp, void *p)
 
const char * GWEN_SyncIo_Tls_GetDhParamFile (const GWEN_SYNCIO *sio)
 
const char * GWEN_SyncIo_Tls_GetLocalCertFile (const GWEN_SYNCIO *sio)
 
const char * GWEN_SyncIo_Tls_GetLocalKeyFile (const GWEN_SYNCIO *sio)
 
const char * GWEN_SyncIo_Tls_GetLocalTrustFile (const GWEN_SYNCIO *sio)
 
int GWEN_SyncIo_Tls_GetPeerCert (GWEN_SYNCIO *sio)
 
GWEN_SSLCERTDESCRGWEN_SyncIo_Tls_GetPeerCertDescr (const GWEN_SYNCIO *sio)
 
const char * GWEN_SyncIo_Tls_GetRemoteHostName (const GWEN_SYNCIO *sio)
 
GWEN_SYNCIOGWEN_SyncIo_Tls_new (GWEN_SYNCIO *baseIo)
 
int GWEN_SyncIo_Tls_Prepare (GWEN_SYNCIO *sio)
 
ssize_t GWEN_SyncIo_Tls_Pull (gnutls_transport_ptr_t p, void *buf, size_t len)
 
ssize_t GWEN_SyncIo_Tls_Push (gnutls_transport_ptr_t p, const void *buf, size_t len)
 
int GWENHYWFAR_CB GWEN_SyncIo_Tls_Read (GWEN_SYNCIO *sio, uint8_t *buffer, uint32_t size)
 
void GWEN_SyncIo_Tls_SetDhParamFile (GWEN_SYNCIO *sio, const char *s)
 
void GWEN_SyncIo_Tls_SetLocalCertFile (GWEN_SYNCIO *sio, const char *s)
 
void GWEN_SyncIo_Tls_SetLocalKeyFile (GWEN_SYNCIO *sio, const char *s)
 
void GWEN_SyncIo_Tls_SetLocalTrustFile (GWEN_SYNCIO *sio, const char *s)
 
void GWEN_SyncIo_Tls_SetRemoteHostName (GWEN_SYNCIO *sio, const char *s)
 
void GWEN_SyncIo_Tls_UndoPrepare (GWEN_SYNCIO *sio)
 
int GWENHYWFAR_CB GWEN_SyncIo_Tls_Write (GWEN_SYNCIO *sio, const uint8_t *buffer, uint32_t size)
 

Macro Definition Documentation

#define DISABLE_DEBUGLOG

Definition at line 29 of file syncio_tls.c.

Function Documentation

int GWEN_SyncIo_Tls__readFile ( const char *  fname,
GWEN_BUFFER buf 
)
int GWENHYWFAR_CB GWEN_SyncIo_Tls_Connect ( GWEN_SYNCIO sio)
int GWENHYWFAR_CB GWEN_SyncIo_Tls_Disconnect ( GWEN_SYNCIO sio)
void GWENHYWFAR_CB GWEN_SyncIo_Tls_FreeData ( void *  bp,
void *  p 
)

Definition at line 78 of file syncio_tls.c.

References GWEN_FREE_OBJECT.

Referenced by GWEN_SyncIo_Tls_new().

const char* GWEN_SyncIo_Tls_GetDhParamFile ( const GWEN_SYNCIO sio)

Definition at line 165 of file syncio_tls.c.

References GWEN_INHERIT_GETDATA.

const char* GWEN_SyncIo_Tls_GetLocalCertFile ( const GWEN_SYNCIO sio)

Definition at line 87 of file syncio_tls.c.

References GWEN_INHERIT_GETDATA.

const char* GWEN_SyncIo_Tls_GetLocalKeyFile ( const GWEN_SYNCIO sio)

Definition at line 113 of file syncio_tls.c.

References GWEN_INHERIT_GETDATA.

const char* GWEN_SyncIo_Tls_GetLocalTrustFile ( const GWEN_SYNCIO sio)

Definition at line 139 of file syncio_tls.c.

References GWEN_INHERIT_GETDATA.

int GWEN_SyncIo_Tls_GetPeerCert ( GWEN_SYNCIO sio)

Definition at line 500 of file syncio_tls.c.

References DBG_ERROR, DBG_INFO, DBG_WARN, GWEN_Buffer_AppendString(), GWEN_Buffer_free(), GWEN_Buffer_GetStart(), GWEN_Buffer_GetUsedBytes(), GWEN_Buffer_new(), GWEN_Buffer_Reset(), GWEN_DB_Dump(), GWEN_DB_Group_free(), GWEN_DB_Group_new(), GWEN_ERROR_GENERIC, GWEN_ERROR_NO_DATA, GWEN_ERROR_SSL_SECURITY, GWEN_Gui_ProgressLog(), GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_LoggerLevel_Warning, GWEN_SSL_CERT_FLAGS_BAD_DATA, GWEN_SSL_CERT_FLAGS_BAD_HOSTNAME, GWEN_SSL_CERT_FLAGS_EXPIRED, GWEN_SSL_CERT_FLAGS_INVALID, GWEN_SSL_CERT_FLAGS_NOT_ACTIVE, GWEN_SSL_CERT_FLAGS_OK, GWEN_SSL_CERT_FLAGS_REVOKED, GWEN_SSL_CERT_FLAGS_SIGNER_NOT_FOUND, GWEN_SSL_CERT_FLAGS_SYSTEM, GWEN_SslCertDescr_free(), GWEN_SslCertDescr_new(), GWEN_SslCertDescr_SetCommonName(), GWEN_SslCertDescr_SetCountryName(), GWEN_SslCertDescr_SetFingerPrint(), GWEN_SslCertDescr_SetIsError(), GWEN_SslCertDescr_SetLocalityName(), GWEN_SslCertDescr_SetNotAfter(), GWEN_SslCertDescr_SetNotBefore(), GWEN_SslCertDescr_SetOrganizationalUnitName(), GWEN_SslCertDescr_SetOrganizationName(), GWEN_SslCertDescr_SetPubKeyExponent(), GWEN_SslCertDescr_SetPubKeyModulus(), GWEN_SslCertDescr_SetStateOrProvinceName(), GWEN_SslCertDescr_SetStatusFlags(), GWEN_SslCertDescr_SetStatusText(), GWEN_SslCertDescr_toDb(), GWEN_SyncIo_GetFlags(), GWEN_SYNCIO_TLS_FLAGS_ALLOW_V1_CA_CRT, GWEN_Text_ToHexBuffer(), GWEN_Time_free(), GWEN_Time_fromSeconds(), I18N, and NULL.

Referenced by GWEN_SyncIo_Tls_Connect().

GWEN_SSLCERTDESCR* GWEN_SyncIo_Tls_GetPeerCertDescr ( const GWEN_SYNCIO sio)

Definition at line 217 of file syncio_tls.c.

References GWEN_INHERIT_GETDATA.

const char* GWEN_SyncIo_Tls_GetRemoteHostName ( const GWEN_SYNCIO sio)

Definition at line 191 of file syncio_tls.c.

References GWEN_INHERIT_GETDATA.

GWEN_SYNCIO* GWEN_SyncIo_Tls_new ( GWEN_SYNCIO baseIo)
int GWEN_SyncIo_Tls_Prepare ( GWEN_SYNCIO sio)
ssize_t GWEN_SyncIo_Tls_Pull ( gnutls_transport_ptr_t  p,
void *  buf,
size_t  len 
)
ssize_t GWEN_SyncIo_Tls_Push ( gnutls_transport_ptr_t  p,
const void *  buf,
size_t  len 
)
int GWENHYWFAR_CB GWEN_SyncIo_Tls_Read ( GWEN_SYNCIO sio,
uint8_t *  buffer,
uint32_t  size 
)
void GWEN_SyncIo_Tls_SetDhParamFile ( GWEN_SYNCIO sio,
const char *  s 
)

Definition at line 177 of file syncio_tls.c.

References GWEN_INHERIT_GETDATA, and NULL.

void GWEN_SyncIo_Tls_SetLocalCertFile ( GWEN_SYNCIO sio,
const char *  s 
)

Definition at line 99 of file syncio_tls.c.

References GWEN_INHERIT_GETDATA, and NULL.

void GWEN_SyncIo_Tls_SetLocalKeyFile ( GWEN_SYNCIO sio,
const char *  s 
)

Definition at line 125 of file syncio_tls.c.

References GWEN_INHERIT_GETDATA, and NULL.

void GWEN_SyncIo_Tls_SetLocalTrustFile ( GWEN_SYNCIO sio,
const char *  s 
)

Definition at line 151 of file syncio_tls.c.

References GWEN_INHERIT_GETDATA, and NULL.

Referenced by GWEN_SyncIo_Tls_Prepare().

void GWEN_SyncIo_Tls_SetRemoteHostName ( GWEN_SYNCIO sio,
const char *  s 
)

Definition at line 203 of file syncio_tls.c.

References GWEN_INHERIT_GETDATA, and NULL.

Referenced by GWEN_Gui_Internal_GetSyncIo().

void GWEN_SyncIo_Tls_UndoPrepare ( GWEN_SYNCIO sio)
int GWENHYWFAR_CB GWEN_SyncIo_Tls_Write ( GWEN_SYNCIO sio,
const uint8_t *  buffer,
uint32_t  size 
)