Qsmtp  0.37
Functions | Variables
starttlsr.c File Reference

functions for SSL encoding and decoding of network I/O More...

#include <qremote/starttlsr.h>
#include <control.h>
#include <log.h>
#include <netio.h>
#include <qdns.h>
#include <qdns_dane.h>
#include <qremote/qremote.h>
#include <ssl_timeoutio.h>
#include <sstring.h>
#include <tls.h>
#include <assert.h>
#include <fcntl.h>
#include <openssl/x509v3.h>
#include <string.h>
#include <strings.h>
#include <syslog.h>
#include <sys/stat.h>
#include <unistd.h>

Functions

int tls_init (const struct daneinfo *tlsa_info, int tlsa_cnt)
 send STARTTLS and handle the connection setup More...
 

Variables

const char * clientcertname = "control/clientcert.pem"
 

Detailed Description

functions for SSL encoding and decoding of network I/O

Function Documentation

◆ tls_init()

int tls_init ( const struct daneinfo tlsa_info,
int  tlsa_cnt 
)

send STARTTLS and handle the connection setup

Parameters
dthe dane information received for that domain
cntnumber of entries in d
Returns
if connection was successfully established
Return values
0SSL mode successfully set up
>0SSL setup failed (non-local fault, e.g. network or reply error)
<0SSL setup failed (local fault, e.g. unable to load file)
EDONEa network error happened but the connection may still be intact

If the return value is <0 a status code for qmail-rspawn was already written.

Variable Documentation

◆ clientcertname

const char* clientcertname = "control/clientcert.pem"

filename of the TLS client certificate