s/qmail 4.2.29a
Next generation secure email transport
Loading...
Searching...
No Matches
Data Structures | Macros | Functions | Variables
qmail-smtpd.c File Reference

requires sslserver or tcpserver More...

#include <unistd.h>
#include "wildmat.h"
#include "buffer.h"
#include "stralloc.h"
#include "genalloc.h"
#include "alloc.h"
#include "auto_qmail.h"
#include "control.h"
#include "received.h"
#include "constmap.h"
#include "logmsg.h"
#include "ipme.h"
#include "fd.h"
#include "ip.h"
#include "qmail.h"
#include "str.h"
#include "fmt.h"
#include "scan.h"
#include "byte.h"
#include "case.h"
#include "env.h"
#include "now.h"
#include "exit.h"
#include "rcpthosts.h"
#include "recipients.h"
#include "mfrules.h"
#include "tls_start.h"
#include "smtpdlog.h"
#include "timeout.h"
#include "commands.h"
#include "cdbread.h"
#include "dns.h"
#include "wait.h"
#include "sig.h"
#include "close.h"
#include "open.h"
#include "base64.h"
#include "spf.h"
Include dependency graph for qmail-smtpd.c:

Go to the source code of this file.

Data Structures

struct  authcmd
 

Macros

#define PAM111421
 
#define AUTHSLEEP   5
 
#define PORT_SMTPS   "465"
 
#define MIMETYPE_LEN   9
 
#define LOADER_LEN   5
 
#define BASE64MESSAGE   "content-transfer-encoding: base64"
 
#define FDIN   0
 
#define FDOUT   1
 
#define FDLOG   2
 
#define FDAUTH   3
 
#define BUFFER_SIZE   1024
 
#define MAXHOPS   100
 

Functions

int modssl_info ()
 
ssize_t safewrite (int fd, char *buf, int len)
 
ssize_t saferead (int fd, char *buf, int len)
 
void flush ()
 
void out (char *s)
 
int bhelocheck (void)
 
int dnsq (char *arg, char type)
 
void smtp_greet (char *code)
 
void smtp_help ()
 
void smtp_quit ()
 
void dohelo (char *helo)
 
void setup ()
 
void auth_info (char *method)
 
int addrparse (char *arg)
 
int bmfcheck ()
 
int brtcheck ()
 
int addrallowed (char *arg)
 
int rcptallowed ()
 
int localaddr (char *mf)
 
int spf_check (int flag6)
 
int mailfrom_size (char *arg)
 
void mailfrom_auth (char *arg, int len)
 
void mailfrom_parms (char *arg)
 
void smtp_helo (char *arg)
 
void smtp_ehlo (char *arg)
 
void smtp_rset (void)
 
void smtp_starttls ()
 
void smtp_mail (char *arg)
 
int postgrey_scanner ()
 
void smtp_rcpt (char *arg)
 
void blast (int *hops)
 
void acceptmessage (unsigned long qp)
 
void smtp_data ()
 
int authgetl (void)
 
int authenticate (void)
 
int auth_login (char *arg)
 
int auth_plain (char *arg)
 
int auth_cram ()
 
void smtp_auth (char *arg)
 
int main (int argc, char **argv)
 

Variables

unsigned long databytes = 0
 
int timeout = 1200
 
char inbuf [BUFFER_SIZE]
 
buffer bi = BUFFER_INIT(saferead,FDIN,inbuf,sizeof(inbuf))
 
char outbuf [BUFFER_SIZE/2]
 
buffer bo = BUFFER_INIT(safewrite,FDOUT,outbuf,sizeof(outbuf))
 
char logbuf [256]
 
buffer bl = BUFFER_INIT(write,FDLOG,logbuf,sizeof(logbuf))
 
stralloc sa = {0}
 
ipalloc ia = {0}
 
char * remoteip
 
char * remotehost
 
char * remoteinfo
 
char * local
 
char * localport
 
char * relayclient
 
int flagutf8 = 0
 
stralloc protocol = {0}
 
stralloc helohost = {0}
 
char * fakehelo
 
stralloc tlsinfo = {0}
 
char * helocheck
 
int flagbadhelo
 
int flagdnshelo
 
int seenhelo = 0
 
char * badmailcond
 
char * badhelocond
 
int liphostok = 0
 
stralloc liphost = {0}
 
int bmfok = 0
 
stralloc bmf = {0}
 
struct constmap mapbmf
 
int brtok = 0
 
stralloc brt = {0}
 
struct constmap mapbrt
 
int badhelook = 0
 
stralloc badhelo = {0}
 
struct constmap mapbhlo
 
int flagmimetype = 0
 
char * badmimeinit
 
int flagloadertype = 0
 
char * badloaderinit
 
int flagmav = 0
 
int localmf = 0
 
char * localmfcheck
 
char * mfdnscheck
 
char * qhpsi
 
char * base64
 
int maxrcptcount = 0
 
int flagerrcpts = 0
 
int flagnotorious = 0
 
int tarpitcount = 0
 
int tarpitdelay = 0
 
int greylist = 0
 
stralloc pgbind = {0}
 
char * auth
 
int smtpauth = 0
 
int seenauth = 0
 
stralloc authmethod = {0}
 
int starttls = 0
 
int seentls = 0
 
char * ucspitls = 0
 
char * tlsversion
 
char * cipher
 
char * cipherperm
 
char * cipherused
 
char * clientdn
 
char * clientcn
 
char * dnemail
 
stralloc mailto = {0}
 
stralloc deliverto = {0}
 
char * delivermailto
 
stralloc rblinfo = {0}
 
char * rblsmtpd
 
int flagspf = 0
 
stralloc addr = {0}
 
stralloc eddr = {0}
 
stralloc rddr = {0}
 
stralloc mailfrom = {0}
 
stralloc rcptto = {0}
 
stralloc user = {0}
 
stralloc fuser = {0}
 
stralloc mfparms = {0}
 
int seenmail = 0
 
int flagaddr
 
int flagrcpt
 
int flagdnsmf = 0
 
int flagsize
 
int rcptcount = 0
 
struct qmail qqt
 
unsigned long bytestooverflow = 0
 
stralloc line = {0}
 
stralloc base64types = {0}
 
stralloc badmimetype = {0}
 
stralloc badloadertype = {0}
 
unsigned int nolines = 0
 
unsigned int flagb64 = 0
 
unsigned int flagbase = 0
 
unsigned int flagblank = 0
 
char accept_buf [FMT_ULONG]
 
char unique [FMT_ULONG+FMT_ULONG+3]
 
char ** childargs
 
char authbuf [512]
 
buffer ba = BUFFER_INIT(safewrite,FDAUTH,authbuf,sizeof(authbuf))
 
struct authcmd authcmds []
 
struct commands smtpcommands []
 

Detailed Description

requires sslserver or tcpserver

-- authenticating ESMTP/ESMTPS server

Definition in file qmail-smtpd.c.

Macro Definition Documentation

◆ AUTHSLEEP

#define AUTHSLEEP   5

Definition at line 44 of file qmail-smtpd.c.

◆ BASE64MESSAGE

#define BASE64MESSAGE   "content-transfer-encoding: base64"

Definition at line 49 of file qmail-smtpd.c.

◆ BUFFER_SIZE

#define BUFFER_SIZE   1024

Definition at line 55 of file qmail-smtpd.c.

◆ FDAUTH

#define FDAUTH   3

Definition at line 53 of file qmail-smtpd.c.

◆ FDIN

#define FDIN   0

Definition at line 50 of file qmail-smtpd.c.

◆ FDLOG

#define FDLOG   2

Definition at line 52 of file qmail-smtpd.c.

◆ FDOUT

#define FDOUT   1

Definition at line 51 of file qmail-smtpd.c.

◆ LOADER_LEN

#define LOADER_LEN   5

Definition at line 48 of file qmail-smtpd.c.

◆ MAXHOPS

#define MAXHOPS   100

Definition at line 56 of file qmail-smtpd.c.

◆ MIMETYPE_LEN

#define MIMETYPE_LEN   9

Definition at line 47 of file qmail-smtpd.c.

◆ PAM111421

#define PAM111421

Definition at line 43 of file qmail-smtpd.c.

◆ PORT_SMTPS

#define PORT_SMTPS   "465"

Definition at line 45 of file qmail-smtpd.c.

Function Documentation

◆ acceptmessage()

void acceptmessage ( unsigned long  qp)

Definition at line 1355 of file qmail-smtpd.c.

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

◆ addrallowed()

int addrallowed ( char *  arg)

Definition at line 756 of file qmail-smtpd.c.

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

◆ addrparse()

int addrparse ( char *  arg)

Definition at line 537 of file qmail-smtpd.c.

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

◆ auth_cram()

int auth_cram ( )

Definition at line 1565 of file qmail-smtpd.c.

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

◆ auth_info()

void auth_info ( char *  method)

Definition at line 462 of file qmail-smtpd.c.

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

◆ auth_login()

int auth_login ( char *  arg)

Definition at line 1515 of file qmail-smtpd.c.

Here is the call graph for this function:

◆ auth_plain()

int auth_plain ( char *  arg)

Definition at line 1540 of file qmail-smtpd.c.

Here is the call graph for this function:

◆ authenticate()

int authenticate ( void  )

Definition at line 1474 of file qmail-smtpd.c.

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

◆ authgetl()

int authgetl ( void  )

Definition at line 1454 of file qmail-smtpd.c.

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

◆ bhelocheck()

int bhelocheck ( void  )

Definition at line 602 of file qmail-smtpd.c.

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

◆ blast()

void blast ( int hops)

Definition at line 1288 of file qmail-smtpd.c.

Here is the call graph for this function:

◆ bmfcheck()

int bmfcheck ( )

Definition at line 630 of file qmail-smtpd.c.

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

◆ brtcheck()

int brtcheck ( )

Definition at line 719 of file qmail-smtpd.c.

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

◆ dnsq()

int dnsq ( char *  arg,
char  type 
)

Definition at line 99 of file qmail-smtpd.c.

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

◆ dohelo()

void dohelo ( char *  helo)

Definition at line 173 of file qmail-smtpd.c.

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

◆ flush()

void flush ( )

Definition at line 89 of file qmail-smtpd.c.

Here is the caller graph for this function:

◆ localaddr()

int localaddr ( char *  mf)

Definition at line 777 of file qmail-smtpd.c.

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

◆ mailfrom_auth()

void mailfrom_auth ( char *  arg,
int  len 
)

Definition at line 871 of file qmail-smtpd.c.

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

◆ mailfrom_parms()

void mailfrom_parms ( char *  arg)

Definition at line 904 of file qmail-smtpd.c.

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

◆ mailfrom_size()

int mailfrom_size ( char *  arg)

Definition at line 860 of file qmail-smtpd.c.

Here is the caller graph for this function:

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 1700 of file qmail-smtpd.c.

Here is the call graph for this function:

◆ modssl_info()

int modssl_info ( )

Definition at line 474 of file qmail-smtpd.c.

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

◆ out()

void out ( char *  s)

Definition at line 90 of file qmail-smtpd.c.

◆ postgrey_scanner()

int postgrey_scanner ( )

Definition at line 1025 of file qmail-smtpd.c.

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

◆ rcptallowed()

int rcptallowed ( )

Definition at line 764 of file qmail-smtpd.c.

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

◆ saferead()

ssize_t saferead ( int  fd,
char *  buf,
int  len 
)

Definition at line 70 of file qmail-smtpd.c.

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

◆ safewrite()

ssize_t safewrite ( int  fd,
char *  buf,
int  len 
)

Definition at line 62 of file qmail-smtpd.c.

Here is the call graph for this function:

◆ setup()

void setup ( )

Definition at line 274 of file qmail-smtpd.c.

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

◆ smtp_auth()

void smtp_auth ( char *  arg)

Definition at line 1614 of file qmail-smtpd.c.

Here is the call graph for this function:

◆ smtp_data()

void smtp_data ( )

Definition at line 1368 of file qmail-smtpd.c.

Here is the call graph for this function:

◆ smtp_ehlo()

void smtp_ehlo ( char *  arg)

Definition at line 933 of file qmail-smtpd.c.

Here is the call graph for this function:

◆ smtp_greet()

void smtp_greet ( char *  code)

Definition at line 138 of file qmail-smtpd.c.

Here is the caller graph for this function:

◆ smtp_helo()

void smtp_helo ( char *  arg)

Definition at line 926 of file qmail-smtpd.c.

Here is the call graph for this function:

◆ smtp_help()

void smtp_help ( )

Definition at line 143 of file qmail-smtpd.c.

◆ smtp_mail()

void smtp_mail ( char *  arg)

Definition at line 988 of file qmail-smtpd.c.

Here is the call graph for this function:

◆ smtp_quit()

void smtp_quit ( )

Definition at line 147 of file qmail-smtpd.c.

Here is the call graph for this function:

◆ smtp_rcpt()

void smtp_rcpt ( char *  arg)

Definition at line 1049 of file qmail-smtpd.c.

Here is the call graph for this function:

◆ smtp_rset()

void smtp_rset ( void  )

Definition at line 955 of file qmail-smtpd.c.

Here is the call graph for this function:

◆ smtp_starttls()

void smtp_starttls ( )

Definition at line 964 of file qmail-smtpd.c.

Here is the call graph for this function:

◆ spf_check()

int spf_check ( int  flag6)

Definition at line 807 of file qmail-smtpd.c.

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

Variable Documentation

◆ accept_buf

char accept_buf[FMT_ULONG]

Definition at line 1353 of file qmail-smtpd.c.

◆ addr

stralloc addr = {0}

Definition at line 521 of file qmail-smtpd.c.

◆ auth

char* auth

Definition at line 249 of file qmail-smtpd.c.

◆ authbuf

char authbuf[512]

Definition at line 1451 of file qmail-smtpd.c.

◆ authcmds

struct authcmd authcmds[]
Initial value:
= {
{ "login", auth_login }
, { "plain", auth_plain }
, { "cram-md5", auth_cram }
, { 0, err_noauth }
}
int auth_login(char *arg)
Definition: qmail-smtpd.c:1515
int auth_plain(char *arg)
Definition: qmail-smtpd.c:1540
int auth_cram()
Definition: qmail-smtpd.c:1565
int err_noauth(void)
Definition: smtpdlog.c:149

◆ authmethod

stralloc authmethod = {0}

Definition at line 252 of file qmail-smtpd.c.

◆ ba

buffer ba = BUFFER_INIT(safewrite,FDAUTH,authbuf,sizeof(authbuf))

Definition at line 1452 of file qmail-smtpd.c.

◆ badhelo

stralloc badhelo = {0}

Definition at line 216 of file qmail-smtpd.c.

◆ badhelocond

char* badhelocond

Definition at line 171 of file qmail-smtpd.c.

◆ badhelook

int badhelook = 0

Definition at line 215 of file qmail-smtpd.c.

◆ badloaderinit

char* badloaderinit

Definition at line 228 of file qmail-smtpd.c.

◆ badloadertype

stralloc badloadertype = {0}

Definition at line 1209 of file qmail-smtpd.c.

◆ badmailcond

char* badmailcond

Definition at line 170 of file qmail-smtpd.c.

◆ badmimeinit

char* badmimeinit

Definition at line 224 of file qmail-smtpd.c.

◆ badmimetype

stralloc badmimetype = {0}

Definition at line 1208 of file qmail-smtpd.c.

◆ base64

char* base64

Definition at line 237 of file qmail-smtpd.c.

◆ base64types

stralloc base64types = {0}

Definition at line 1207 of file qmail-smtpd.c.

◆ bi

buffer bi = BUFFER_INIT(saferead,FDIN,inbuf,sizeof(inbuf))

Definition at line 81 of file qmail-smtpd.c.

◆ bl

buffer bl = BUFFER_INIT(write,FDLOG,logbuf,sizeof(logbuf))

Definition at line 87 of file qmail-smtpd.c.

◆ bmf

stralloc bmf = {0}

Definition at line 208 of file qmail-smtpd.c.

◆ bmfok

int bmfok = 0

Definition at line 207 of file qmail-smtpd.c.

◆ bo

buffer bo = BUFFER_INIT(safewrite,FDOUT,outbuf,sizeof(outbuf))

Definition at line 84 of file qmail-smtpd.c.

◆ brt

stralloc brt = {0}

Definition at line 212 of file qmail-smtpd.c.

◆ brtok

int brtok = 0

Definition at line 211 of file qmail-smtpd.c.

◆ bytestooverflow

unsigned long bytestooverflow = 0

Definition at line 1204 of file qmail-smtpd.c.

◆ childargs

char** childargs

Definition at line 1450 of file qmail-smtpd.c.

◆ cipher

char* cipher

Definition at line 258 of file qmail-smtpd.c.

◆ cipherperm

char* cipherperm

Definition at line 259 of file qmail-smtpd.c.

◆ cipherused

char* cipherused

Definition at line 260 of file qmail-smtpd.c.

◆ clientcn

char* clientcn

Definition at line 262 of file qmail-smtpd.c.

◆ clientdn

char* clientdn

Definition at line 261 of file qmail-smtpd.c.

◆ databytes

unsigned long databytes = 0

Definition at line 57 of file qmail-smtpd.c.

◆ delivermailto

char* delivermailto

Definition at line 267 of file qmail-smtpd.c.

◆ deliverto

stralloc deliverto = {0}

Definition at line 266 of file qmail-smtpd.c.

◆ dnemail

char* dnemail

Definition at line 263 of file qmail-smtpd.c.

◆ eddr

stralloc eddr = {0}

Definition at line 522 of file qmail-smtpd.c.

◆ fakehelo

char* fakehelo

Definition at line 162 of file qmail-smtpd.c.

◆ flagaddr

int flagaddr

Definition at line 531 of file qmail-smtpd.c.

◆ flagb64

unsigned int flagb64 = 0

Definition at line 1212 of file qmail-smtpd.c.

◆ flagbadhelo

int flagbadhelo

Definition at line 166 of file qmail-smtpd.c.

◆ flagbase

unsigned int flagbase = 0

Definition at line 1213 of file qmail-smtpd.c.

◆ flagblank

unsigned int flagblank = 0

Definition at line 1214 of file qmail-smtpd.c.

◆ flagdnshelo

int flagdnshelo

Definition at line 167 of file qmail-smtpd.c.

◆ flagdnsmf

int flagdnsmf = 0

Definition at line 533 of file qmail-smtpd.c.

◆ flagerrcpts

int flagerrcpts = 0

Definition at line 240 of file qmail-smtpd.c.

◆ flagloadertype

int flagloadertype = 0

Definition at line 227 of file qmail-smtpd.c.

◆ flagmav

int flagmav = 0

Definition at line 231 of file qmail-smtpd.c.

◆ flagmimetype

int flagmimetype = 0

Definition at line 223 of file qmail-smtpd.c.

◆ flagnotorious

int flagnotorious = 0

Definition at line 241 of file qmail-smtpd.c.

◆ flagrcpt

int flagrcpt

Definition at line 532 of file qmail-smtpd.c.

◆ flagsize

int flagsize

Definition at line 534 of file qmail-smtpd.c.

◆ flagspf

int flagspf = 0

Definition at line 271 of file qmail-smtpd.c.

◆ flagutf8

int flagutf8 = 0

Definition at line 158 of file qmail-smtpd.c.

◆ fuser

stralloc fuser = {0}

Definition at line 527 of file qmail-smtpd.c.

◆ greylist

int greylist = 0

Definition at line 246 of file qmail-smtpd.c.

◆ helocheck

char* helocheck

Definition at line 165 of file qmail-smtpd.c.

◆ helohost

stralloc helohost = {0}

Definition at line 161 of file qmail-smtpd.c.

◆ ia

ipalloc ia = {0}

Definition at line 93 of file qmail-smtpd.c.

◆ inbuf

char inbuf[BUFFER_SIZE]

Definition at line 80 of file qmail-smtpd.c.

◆ line

stralloc line = {0}

Definition at line 1206 of file qmail-smtpd.c.

◆ liphost

stralloc liphost = {0}

Definition at line 205 of file qmail-smtpd.c.

◆ liphostok

int liphostok = 0

Definition at line 204 of file qmail-smtpd.c.

◆ local

char* local

Definition at line 155 of file qmail-smtpd.c.

◆ localmf

int localmf = 0

Definition at line 232 of file qmail-smtpd.c.

◆ localmfcheck

char* localmfcheck

Definition at line 233 of file qmail-smtpd.c.

◆ localport

char* localport

Definition at line 156 of file qmail-smtpd.c.

◆ logbuf

char logbuf[256]

Definition at line 86 of file qmail-smtpd.c.

◆ mailfrom

stralloc mailfrom = {0}

Definition at line 524 of file qmail-smtpd.c.

◆ mailto

stralloc mailto = {0}

Definition at line 265 of file qmail-smtpd.c.

◆ mapbhlo

struct constmap mapbhlo

Definition at line 217 of file qmail-smtpd.c.

◆ mapbmf

struct constmap mapbmf

Definition at line 209 of file qmail-smtpd.c.

◆ mapbrt

struct constmap mapbrt

Definition at line 213 of file qmail-smtpd.c.

◆ maxrcptcount

int maxrcptcount = 0

Definition at line 239 of file qmail-smtpd.c.

◆ mfdnscheck

char* mfdnscheck

Definition at line 235 of file qmail-smtpd.c.

◆ mfparms

stralloc mfparms = {0}

Definition at line 528 of file qmail-smtpd.c.

◆ nolines

unsigned int nolines = 0

Definition at line 1211 of file qmail-smtpd.c.

◆ outbuf

char outbuf[BUFFER_SIZE/2]

Definition at line 83 of file qmail-smtpd.c.

◆ pgbind

stralloc pgbind = {0}

Definition at line 247 of file qmail-smtpd.c.

◆ protocol

stralloc protocol = {0}

Definition at line 160 of file qmail-smtpd.c.

◆ qhpsi

char* qhpsi

Definition at line 236 of file qmail-smtpd.c.

◆ qqt

struct qmail qqt

Definition at line 1203 of file qmail-smtpd.c.

◆ rblinfo

stralloc rblinfo = {0}

Definition at line 268 of file qmail-smtpd.c.

◆ rblsmtpd

char* rblsmtpd

Definition at line 269 of file qmail-smtpd.c.

◆ rcptcount

int rcptcount = 0

Definition at line 535 of file qmail-smtpd.c.

◆ rcptto

stralloc rcptto = {0}

Definition at line 525 of file qmail-smtpd.c.

◆ rddr

stralloc rddr = {0}

Definition at line 523 of file qmail-smtpd.c.

◆ relayclient

char* relayclient

Definition at line 157 of file qmail-smtpd.c.

◆ remotehost

char* remotehost

Definition at line 153 of file qmail-smtpd.c.

◆ remoteinfo

char* remoteinfo

Definition at line 154 of file qmail-smtpd.c.

◆ remoteip

char* remoteip

Definition at line 152 of file qmail-smtpd.c.

◆ sa

stralloc sa = {0}

Definition at line 92 of file qmail-smtpd.c.

◆ seenauth

int seenauth = 0

Definition at line 251 of file qmail-smtpd.c.

◆ seenhelo

int seenhelo = 0

Definition at line 168 of file qmail-smtpd.c.

◆ seenmail

int seenmail = 0

Definition at line 530 of file qmail-smtpd.c.

◆ seentls

int seentls = 0

Definition at line 255 of file qmail-smtpd.c.

◆ smtpauth

int smtpauth = 0

Definition at line 250 of file qmail-smtpd.c.

◆ smtpcommands

struct commands smtpcommands[]
Initial value:
= {
{ "rcpt", smtp_rcpt, 0 }
, { "mail", smtp_mail, 0 }
, { "data", smtp_data, flush }
, { "auth", smtp_auth, flush }
, { "quit", smtp_quit, flush }
, { "helo", smtp_helo, flush }
, { "ehlo", smtp_ehlo, flush }
, { "rset", smtp_rset, flush }
, { "help", smtp_help, flush }
, { "noop", err_noop, flush }
, { "vrfy", err_vrfy, flush }
, { "starttls", smtp_starttls, flush }
, { 0, err_unimpl, flush }
}
void smtp_auth()
Definition: qmail-remote.c:795
void smtp_help()
Definition: qmail-smtpd.c:143
void smtp_ehlo(char *arg)
Definition: qmail-smtpd.c:933
void smtp_helo(char *arg)
Definition: qmail-smtpd.c:926
void smtp_mail(char *arg)
Definition: qmail-smtpd.c:988
void smtp_rcpt(char *arg)
Definition: qmail-smtpd.c:1049
void smtp_rset(void)
Definition: qmail-smtpd.c:955
void smtp_quit()
Definition: qmail-smtpd.c:147
void flush()
Definition: qmail-smtpd.c:89
void smtp_starttls()
Definition: qmail-smtpd.c:964
void smtp_data()
Definition: qmail-smtpd.c:1368
void err_unimpl(void)
Definition: qmail-pop3d.c:73
void err_vrfy(void)
Definition: smtpdlog.c:73
void err_noop(void)
Definition: smtpdlog.c:72

Definition at line 1684 of file qmail-smtpd.c.

◆ starttls

int starttls = 0

Definition at line 254 of file qmail-smtpd.c.

◆ tarpitcount

int tarpitcount = 0

Definition at line 243 of file qmail-smtpd.c.

◆ tarpitdelay

int tarpitdelay = 0

Definition at line 244 of file qmail-smtpd.c.

◆ timeout

int timeout = 1200

Definition at line 58 of file qmail-smtpd.c.

◆ tlsinfo

stralloc tlsinfo = {0}

Definition at line 163 of file qmail-smtpd.c.

◆ tlsversion

char* tlsversion

Definition at line 257 of file qmail-smtpd.c.

◆ ucspitls

char* ucspitls = 0

Definition at line 256 of file qmail-smtpd.c.

◆ unique

char unique[FMT_ULONG+FMT_ULONG+3]

Definition at line 1443 of file qmail-smtpd.c.

◆ user

stralloc user = {0}

Definition at line 526 of file qmail-smtpd.c.