ucspi-ssl 0.13.03
ucspi-ssl
Loading...
Searching...
No Matches
Data Structures | Macros | Functions | Variables
sslserver.c File Reference

IPv6 enabled dualstack sslserver. More...

#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/param.h>
#include <signal.h>
#include <netdb.h>
#include <fcntl.h>
#include <arpa/inet.h>
#include "ucspissl.h"
#include "uint_t.h"
#include "str.h"
#include "byte.h"
#include "fmt.h"
#include "scan.h"
#include "ip.h"
#include "fd.h"
#include "exit.h"
#include "env.h"
#include "prot.h"
#include "open.h"
#include "wait.h"
#include "stralloc.h"
#include "genalloc.h"
#include "alloc.h"
#include "buffer.h"
#include "getln.h"
#include "error.h"
#include "logmsg.h"
#include "getoptb.h"
#include "pathexec.h"
#include "socket_if.h"
#include "ndelay.h"
#include "remoteinfo.h"
#include "rules.h"
#include "sig.h"
#include "iopause.h"
#include "dnsresolv.h"
#include "auto_cafile.h"
#include "auto_cadir.h"
#include "auto_ccafile.h"
#include "auto_dhfile.h"
#include "auto_certfile.h"
#include "auto_certchainfile.h"
#include "auto_keyfile.h"
#include "auto_ciphers.h"
Include dependency graph for sslserver.c:

Go to the source code of this file.

Data Structures

struct  child
 

Macros

#define WHO   "sslserver"
 

Functions

void drop_nomem (void)
 
 GEN_ALLOC_typedef (GEN_ALLOC_readyplus(child_alloc, GEN_ALLOC_readyplus(struct child, GEN_ALLOC_readyplus(c, GEN_ALLOC_readyplus(len, GEN_ALLOC_readyplus(a)
 
void ipchild_append (char ip[16], unsigned long n)
 
void ipchild_clear (char ip[16])
 
int ipchild_limit (char ip[16], unsigned long n)
 
void cats (const char *s)
 
void append (const char *ch)
 
void safecats (const char *s)
 
void env (const char *s, const char *t)
 
void drop_rules (const char *fnbase)
 
void found (char *data, unsigned int datalen)
 
void doit (int t)
 
void usage (void)
 
void printstatus (void)
 
void read_passwd (void)
 
int passwd_cb (char *buff, int size, int rwflag, void *userdata)
 
int main (int argc, char *const *argv)
 

Variables

int verbosity = 1
 
int flagkillopts = 1
 
int flagdelay = 0
 
const char * banner = ""
 
int flagremoteinfo = 0
 
int flagremotehost = 1
 
int flagparanoid = 0
 
int flagclientcert = 0
 
int flagsslenv = 0
 
int flagtcpenv = 1
 
int flagsslwait = 0
 
unsigned long timeout = 26
 
unsigned long ssltimeout = 26
 
unsigned int progtimeout = 3600
 
uint32 netif = 0
 
uint16 localport
 
char iplocal [16] = { 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0 }
 
char localportstr [FMT_ULONG]
 
char localip [16]
 
char localipstr [IP6_FMT]
 
const char * localhost = 0
 
uint16 remoteport
 
char remoteportstr [FMT_ULONG]
 
char remoteip [16]
 
char remoteipstr [IP6_FMT]
 
char * remotehost = 0
 
char * verifyhost = 0
 
const char * hostname
 
const char * thishost = "0.0.0.0"
 
unsigned long uid = 0
 
unsigned long gid = 0
 
unsigned long limit = 40
 
unsigned long numchildren = 0
 
unsigned long ipchildren = 0
 
unsigned long maxconip = 0
 
char bspace [16]
 
buffer bo
 
SSL_CTX * ctx
 
const char * certchainfile = auto_certchainfile
 
const char * certfile = auto_certfile
 
const char * keyfile = auto_keyfile
 
stralloc password = {0}
 
stralloc certfqdn = {0}
 
int match = 0
 
const char * cafile = auto_cafile
 
const char * ccafile = auto_ccafile
 
const char * cadir = auto_cadir
 
const char * ciphers = auto_ciphers
 
int verifydepth = 1
 
const char * dhfile = auto_dhfile
 
int rsalen = SSL_RSA_LEN
 
char * keypass = 0
 
char *const * prog
 
int pi [2]
 
int po [2]
 
int pt [2]
 
stralloc envsa = {0}
 
X509 * cert
 
char buf [SSL_NAME_LEN]
 
int flagdualstack = 0
 
int flagdeny = 0
 
int flagallow = 0
 
int flagallownorules = 0
 
const char * fnrules = 0
 
const char * fniprules = 0
 
int flag1 = 0
 
int flag3 = 0
 
unsigned long backlog = 20
 

Detailed Description

IPv6 enabled dualstack sslserver.

Author
web, fefe, feh

Definition in file sslserver.c.

Macro Definition Documentation

◆ WHO

#define WHO   "sslserver"

Definition at line 52 of file sslserver.c.

Function Documentation

◆ append()

void append ( const char *  ch)

Definition at line 211 of file sslserver.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cats()

void cats ( const char *  s)

Definition at line 207 of file sslserver.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ doit()

void doit ( int  t)

Definition at line 272 of file sslserver.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ drop_nomem()

void drop_nomem ( void  )

Definition at line 110 of file sslserver.c.

Here is the caller graph for this function:

◆ drop_rules()

void drop_rules ( const char *  fnbase)

Definition at line 236 of file sslserver.c.

Here is the caller graph for this function:

◆ env()

void env ( const char *  s,
const char *  t 
)

Definition at line 231 of file sslserver.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ found()

void found ( char *  data,
unsigned int  datalen 
)

Definition at line 241 of file sslserver.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GEN_ALLOC_typedef()

GEN_ALLOC_typedef ( GEN_ALLOC_readyplus(  child_alloc,
GEN_ALLOC_readyplus(  struct child,
GEN_ALLOC_readyplus(  c,
GEN_ALLOC_readyplus(  len,
GEN_ALLOC_readyplus(  a 
)

Definition at line 122 of file sslserver.c.

◆ ipchild_append()

void ipchild_append ( char  ip[16],
unsigned long  n 
)

Definition at line 128 of file sslserver.c.

Here is the caller graph for this function:

◆ ipchild_clear()

void ipchild_clear ( char  ip[16])

Definition at line 146 of file sslserver.c.

Here is the caller graph for this function:

◆ ipchild_limit()

int ipchild_limit ( char  ip[16],
unsigned long  n 
)

Definition at line 160 of file sslserver.c.

Here is the caller graph for this function:

◆ main()

int main ( int  argc,
char *const *  argv 
)

Definition at line 735 of file sslserver.c.

Here is the call graph for this function:

◆ passwd_cb()

int passwd_cb ( char *  buff,
int  size,
int  rwflag,
void *  userdata 
)

Definition at line 726 of file sslserver.c.

Here is the caller graph for this function:

◆ printstatus()

void printstatus ( void  )

Definition at line 684 of file sslserver.c.

Here is the caller graph for this function:

◆ read_passwd()

void read_passwd ( void  )

Definition at line 715 of file sslserver.c.

Here is the caller graph for this function:

◆ safecats()

void safecats ( const char *  s)

Definition at line 215 of file sslserver.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ usage()

void usage ( void  )

Definition at line 661 of file sslserver.c.

Here is the caller graph for this function:

Variable Documentation

◆ backlog

unsigned long backlog = 20

Definition at line 682 of file sslserver.c.

◆ banner

const char* banner = ""

Definition at line 57 of file sslserver.c.

◆ bo

buffer bo

Definition at line 108 of file sslserver.c.

◆ bspace

char bspace[16]

Definition at line 107 of file sslserver.c.

◆ buf

char buf[SSL_NAME_LEN]

Definition at line 196 of file sslserver.c.

◆ cadir

const char* cadir = auto_cadir

Definition at line 180 of file sslserver.c.

◆ cafile

const char* cafile = auto_cafile

Definition at line 178 of file sslserver.c.

◆ ccafile

const char* ccafile = auto_ccafile

Definition at line 179 of file sslserver.c.

◆ cert

X509* cert

Definition at line 195 of file sslserver.c.

◆ certchainfile

const char* certchainfile = auto_certchainfile

Definition at line 172 of file sslserver.c.

◆ certfile

const char* certfile = auto_certfile

Definition at line 173 of file sslserver.c.

◆ certfqdn

stralloc certfqdn = {0}

Definition at line 176 of file sslserver.c.

◆ ciphers

const char* ciphers = auto_ciphers

Definition at line 181 of file sslserver.c.

◆ ctx

SSL_CTX* ctx

Definition at line 171 of file sslserver.c.

◆ dhfile

const char* dhfile = auto_dhfile

Definition at line 183 of file sslserver.c.

◆ envsa

stralloc envsa = {0}

Definition at line 193 of file sslserver.c.

◆ flag1

int flag1 = 0

Definition at line 680 of file sslserver.c.

◆ flag3

int flag3 = 0

Definition at line 681 of file sslserver.c.

◆ flagallow

int flagallow = 0

Definition at line 202 of file sslserver.c.

◆ flagallownorules

int flagallownorules = 0

Definition at line 203 of file sslserver.c.

◆ flagclientcert

int flagclientcert = 0

Definition at line 61 of file sslserver.c.

◆ flagdelay

int flagdelay = 0

Definition at line 56 of file sslserver.c.

◆ flagdeny

int flagdeny = 0

Definition at line 201 of file sslserver.c.

◆ flagdualstack

int flagdualstack = 0

Definition at line 200 of file sslserver.c.

◆ flagkillopts

int flagkillopts = 1

Definition at line 55 of file sslserver.c.

◆ flagparanoid

int flagparanoid = 0

Definition at line 60 of file sslserver.c.

◆ flagremotehost

int flagremotehost = 1

Definition at line 59 of file sslserver.c.

◆ flagremoteinfo

int flagremoteinfo = 0

Definition at line 58 of file sslserver.c.

◆ flagsslenv

int flagsslenv = 0

Definition at line 62 of file sslserver.c.

◆ flagsslwait

int flagsslwait = 0

Definition at line 64 of file sslserver.c.

◆ flagtcpenv

int flagtcpenv = 1

Definition at line 63 of file sslserver.c.

◆ fniprules

const char* fniprules = 0

Definition at line 205 of file sslserver.c.

◆ fnrules

const char* fnrules = 0

Definition at line 204 of file sslserver.c.

◆ gid

unsigned long gid = 0

Definition at line 92 of file sslserver.c.

◆ hostname

const char* hostname

Definition at line 88 of file sslserver.c.

◆ ipchildren

unsigned long ipchildren = 0

Definition at line 104 of file sslserver.c.

◆ iplocal

char iplocal[16] = { 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0 }

Definition at line 73 of file sslserver.c.

◆ keyfile

const char* keyfile = auto_keyfile

Definition at line 174 of file sslserver.c.

◆ keypass

char* keypass = 0

Definition at line 185 of file sslserver.c.

◆ limit

unsigned long limit = 40

Definition at line 102 of file sslserver.c.

◆ localhost

const char* localhost = 0

Definition at line 78 of file sslserver.c.

◆ localip

char localip[16]

Definition at line 75 of file sslserver.c.

◆ localipstr

char localipstr[IP6_FMT]

Definition at line 76 of file sslserver.c.

◆ localport

uint16 localport

Definition at line 72 of file sslserver.c.

◆ localportstr

char localportstr[FMT_ULONG]

Definition at line 74 of file sslserver.c.

◆ match

int match = 0

Definition at line 177 of file sslserver.c.

◆ maxconip

unsigned long maxconip = 0

Definition at line 105 of file sslserver.c.

◆ netif

uint32 netif = 0

Definition at line 68 of file sslserver.c.

◆ numchildren

unsigned long numchildren = 0

Definition at line 103 of file sslserver.c.

◆ password

stralloc password = {0}

Definition at line 175 of file sslserver.c.

◆ pi

int pi[2]

Definition at line 189 of file sslserver.c.

◆ po

int po[2]

Definition at line 190 of file sslserver.c.

◆ prog

char* const* prog

Definition at line 187 of file sslserver.c.

◆ progtimeout

unsigned int progtimeout = 3600

Definition at line 67 of file sslserver.c.

◆ pt

int pt[2]

Definition at line 191 of file sslserver.c.

◆ remotehost

char* remotehost = 0

Definition at line 85 of file sslserver.c.

◆ remoteip

char remoteip[16]

Definition at line 82 of file sslserver.c.

◆ remoteipstr

char remoteipstr[IP6_FMT]

Definition at line 83 of file sslserver.c.

◆ remoteport

uint16 remoteport

Definition at line 80 of file sslserver.c.

◆ remoteportstr

char remoteportstr[FMT_ULONG]

Definition at line 81 of file sslserver.c.

◆ rsalen

int rsalen = SSL_RSA_LEN

Definition at line 184 of file sslserver.c.

◆ ssltimeout

unsigned long ssltimeout = 26

Definition at line 66 of file sslserver.c.

◆ thishost

const char* thishost = "0.0.0.0"

Definition at line 89 of file sslserver.c.

◆ timeout

unsigned long timeout = 26

Definition at line 65 of file sslserver.c.

◆ uid

unsigned long uid = 0

Definition at line 91 of file sslserver.c.

◆ verbosity

int verbosity = 1

Definition at line 54 of file sslserver.c.

◆ verifydepth

int verifydepth = 1

Definition at line 182 of file sslserver.c.

◆ verifyhost

char* verifyhost = 0

Definition at line 86 of file sslserver.c.