s/qmail 4.2.29a
Next generation secure email transport
|
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include "sig.h"
#include "genalloc.h"
#include "stralloc.h"
#include "buffer.h"
#include "scan.h"
#include "case.h"
#include "byte.h"
#include "error.h"
#include "auto_qmail.h"
#include "control.h"
#include "dns.h"
#include "alloc.h"
#include "quote.h"
#include "ip.h"
#include "ipalloc.h"
#include "ipme.h"
#include "str.h"
#include "now.h"
#include "exit.h"
#include "constmap.h"
#include "tcpto.h"
#include "socket_if.h"
#include "ucspissl.h"
#include "timeout.h"
#include "timeoutconn.h"
#include "tls_remote.h"
#include "tls_errors.h"
#include "tls_timeoutio.h"
#include "uint_t.h"
Go to the source code of this file.
Macros | |
#define | MAX_SIZE 200000000 |
#define | HUGESMTPTEXT 5000 |
#define | PORT_SMTP 25 /* silly rabbit, /etc/services is for users */ |
#define | PORT_SMTPS 465 |
#define | VERIFYDEPTH 1 |
#define | FDPAM 3 |
#define | WHO "qmail-smtpam" |
Functions | |
GEN_ALLOC_typedef (GEN_ALLOC_readyplus(saa, GEN_ALLOC_readyplus(stralloc, GEN_ALLOC_readyplus(sa, GEN_ALLOC_readyplus(len, GEN_ALLOC_readyplus(a) | |
void | out (char *s) |
void | zero () |
void | zerodie () |
void | outsafe (stralloc *sa) |
void | temp_noip () |
void | temp_nomem () |
void | temp_oserr () |
void | temp_osip () |
void | temp_noconn () |
void | temp_dnscanon () |
void | temp_dns () |
void | temp_chdir () |
void | temp_control () |
void | perm_usage () |
void | perm_dns () |
void | outhost () |
void | dropped () |
ssize_t | saferead (int fd, char *buf, int len) |
ssize_t | safewrite (int fd, char *buf, int len) |
void | get (char *ch) |
unsigned long | smtpcode () |
void | outsmtptext () |
void | quit (char *prepend, char *append) |
void | tls_init () |
int | starttls_peer () |
void | tls_peercheck () |
int | utf8flag (unsigned char *ch, int len) |
void | smtp_greeting () |
void | smtp_starttls () |
void | smtp () |
void | getcontrols () |
int | main (int argc, char **argv) |
Variables | |
int | flagauth = 0 |
int | flagsmtps = 0 |
int | flagtls = 0 |
int | flagverify = 0 |
int | flagutf8mail = 0 |
unsigned long | port = PORT_SMTP |
stralloc | host = {0} |
stralloc | ports = {0} |
stralloc | remotehost = {0} |
stralloc | sender = {0} |
stralloc | canonhost = {0} |
stralloc | canonbox = {0} |
stralloc | sendip = {0} |
stralloc | recipient = {0} |
stralloc | domainips = {0} |
struct constmap | mapdomainips |
char | ip4 [4] |
char | ip6 [16] |
uint32 | ifidx = 0 |
stralloc | routes = {0} |
struct constmap | maproutes |
struct ip_mx | partner |
SSL * | ssl |
SSL_CTX * | ctx |
int | flagcritical = 0 |
int | timeoutconnect = 60 |
int | smtpfd |
int | timeout = 1200 |
char | outbuf [1450] |
buffer | bo = BUFFER_INIT(safewrite,-1,outbuf,sizeof(outbuf)) |
char | frombuf [128] |
buffer | bi = BUFFER_INIT(saferead,-1,frombuf,sizeof(frombuf)) |
stralloc | smtptext = {0} |
stralloc | recip = {0} |
stralloc | cafile = {0} |
stralloc | cadir = {0} |
stralloc | certfile = {0} |
stralloc | keyfile = {0} |
stralloc | keypwd = {0} |
stralloc | ciphers = {0} |
stralloc | tlsdest = {0} |
char * | tlsdestinfo = 0 |
char * | tlsdomaininfo = 0 |
stralloc | domaincerts = {0} |
struct constmap | mapdomaincerts |
stralloc | tlsdestinations = {0} |
struct constmap | maptlsdestinations |
unsigned long | verifydepth = VERIFYDEPTH |
unsigned long | code |
char | up [513] |
int | uplen |
-- TLS enabled SMTP PAM to check mailbox at remote MX
Definition in file qmail-smtpam.c.
#define FDPAM 3 |
Definition at line 42 of file qmail-smtpam.c.
#define HUGESMTPTEXT 5000 |
Definition at line 38 of file qmail-smtpam.c.
#define MAX_SIZE 200000000 |
Definition at line 37 of file qmail-smtpam.c.
#define PORT_SMTP 25 /* silly rabbit, /etc/services is for users */ |
Definition at line 39 of file qmail-smtpam.c.
#define PORT_SMTPS 465 |
Definition at line 40 of file qmail-smtpam.c.
#define VERIFYDEPTH 1 |
Definition at line 41 of file qmail-smtpam.c.
#define WHO "qmail-smtpam" |
Definition at line 44 of file qmail-smtpam.c.
void dropped | ( | ) |
Definition at line 180 of file qmail-smtpam.c.
GEN_ALLOC_typedef | ( | GEN_ALLOC_readyplus( | saa, |
GEN_ALLOC_readyplus( | stralloc, | ||
GEN_ALLOC_readyplus( | sa, | ||
GEN_ALLOC_readyplus( | len, | ||
GEN_ALLOC_readyplus( | a | ||
) |
Definition at line 59 of file qmail-smtpam.c.
void get | ( | char * | ch | ) |
Definition at line 217 of file qmail-smtpam.c.
void getcontrols | ( | void | ) |
Definition at line 455 of file qmail-smtpam.c.
void out | ( | char * | s | ) |
void outhost | ( | ) |
Definition at line 164 of file qmail-smtpam.c.
void outsafe | ( | stralloc * | sa | ) |
Definition at line 89 of file qmail-smtpam.c.
void outsmtptext | ( | ) |
Definition at line 248 of file qmail-smtpam.c.
void perm_dns | ( | ) |
Definition at line 157 of file qmail-smtpam.c.
void perm_usage | ( | ) |
Definition at line 152 of file qmail-smtpam.c.
void quit | ( | char * | prepend, |
char * | append | ||
) |
Definition at line 260 of file qmail-smtpam.c.
void smtp | ( | ) |
Definition at line 413 of file qmail-smtpam.c.
void smtp_greeting | ( | ) |
Definition at line 381 of file qmail-smtpam.c.
void smtp_starttls | ( | ) |
Definition at line 399 of file qmail-smtpam.c.
unsigned long smtpcode | ( | ) |
Definition at line 225 of file qmail-smtpam.c.
int starttls_peer | ( | ) |
void temp_chdir | ( | ) |
Definition at line 142 of file qmail-smtpam.c.
void temp_control | ( | ) |
Definition at line 147 of file qmail-smtpam.c.
void temp_dns | ( | ) |
Definition at line 135 of file qmail-smtpam.c.
void temp_dnscanon | ( | ) |
Definition at line 128 of file qmail-smtpam.c.
void temp_noconn | ( | ) |
Definition at line 123 of file qmail-smtpam.c.
void temp_noip | ( | ) |
Definition at line 101 of file qmail-smtpam.c.
void temp_nomem | ( | void | ) |
Definition at line 106 of file qmail-smtpam.c.
void temp_oserr | ( | ) |
Definition at line 111 of file qmail-smtpam.c.
void temp_osip | ( | ) |
Definition at line 116 of file qmail-smtpam.c.
void tls_init | ( | ) |
Definition at line 293 of file qmail-smtpam.c.
void tls_peercheck | ( | ) |
Definition at line 336 of file qmail-smtpam.c.
void zero | ( | ) |
Definition at line 87 of file qmail-smtpam.c.
void zerodie | ( | void | ) |
Definition at line 88 of file qmail-smtpam.c.
Definition at line 213 of file qmail-smtpam.c.
Definition at line 211 of file qmail-smtpam.c.
stralloc cadir = {0} |
Definition at line 277 of file qmail-smtpam.c.
stralloc cafile = {0} |
Definition at line 276 of file qmail-smtpam.c.
stralloc canonbox = {0} |
Definition at line 68 of file qmail-smtpam.c.
stralloc canonhost = {0} |
Definition at line 67 of file qmail-smtpam.c.
stralloc certfile = {0} |
Definition at line 278 of file qmail-smtpam.c.
stralloc ciphers = {0} |
Definition at line 281 of file qmail-smtpam.c.
unsigned long code |
Definition at line 379 of file qmail-smtpam.c.
SSL_CTX* ctx |
Definition at line 84 of file qmail-smtpam.c.
stralloc domaincerts = {0} |
Definition at line 287 of file qmail-smtpam.c.
stralloc domainips = {0} |
Definition at line 72 of file qmail-smtpam.c.
int flagauth = 0 |
Definition at line 49 of file qmail-smtpam.c.
int flagcritical = 0 |
Definition at line 178 of file qmail-smtpam.c.
int flagsmtps = 0 |
Definition at line 50 of file qmail-smtpam.c.
int flagtls = 0 |
Definition at line 51 of file qmail-smtpam.c.
int flagutf8mail = 0 |
Definition at line 55 of file qmail-smtpam.c.
int flagverify = 0 |
Definition at line 54 of file qmail-smtpam.c.
char frombuf[128] |
Definition at line 212 of file qmail-smtpam.c.
stralloc host = {0} |
Definition at line 63 of file qmail-smtpam.c.
uint32 ifidx = 0 |
Definition at line 76 of file qmail-smtpam.c.
char ip4[4] |
Definition at line 74 of file qmail-smtpam.c.
char ip6[16] |
Definition at line 75 of file qmail-smtpam.c.
stralloc keyfile = {0} |
Definition at line 279 of file qmail-smtpam.c.
stralloc keypwd = {0} |
Definition at line 280 of file qmail-smtpam.c.
struct constmap mapdomaincerts |
Definition at line 288 of file qmail-smtpam.c.
struct constmap mapdomainips |
Definition at line 73 of file qmail-smtpam.c.
struct constmap maproutes |
Definition at line 79 of file qmail-smtpam.c.
struct constmap maptlsdestinations |
Definition at line 290 of file qmail-smtpam.c.
char outbuf[1450] |
Definition at line 210 of file qmail-smtpam.c.
struct ip_mx partner |
Definition at line 81 of file qmail-smtpam.c.
unsigned long port = PORT_SMTP |
Definition at line 57 of file qmail-smtpam.c.
stralloc ports = {0} |
Definition at line 64 of file qmail-smtpam.c.
stralloc recip = {0} |
Definition at line 272 of file qmail-smtpam.c.
stralloc recipient = {0} |
Definition at line 70 of file qmail-smtpam.c.
stralloc remotehost = {0} |
Definition at line 65 of file qmail-smtpam.c.
stralloc routes = {0} |
Definition at line 78 of file qmail-smtpam.c.
stralloc sender = {0} |
Definition at line 66 of file qmail-smtpam.c.
stralloc sendip = {0} |
Definition at line 69 of file qmail-smtpam.c.
int smtpfd |
Definition at line 191 of file qmail-smtpam.c.
stralloc smtptext = {0} |
Definition at line 215 of file qmail-smtpam.c.
SSL* ssl |
Definition at line 83 of file qmail-smtpam.c.
int timeout = 1200 |
Definition at line 192 of file qmail-smtpam.c.
int timeoutconnect = 60 |
Definition at line 190 of file qmail-smtpam.c.
stralloc tlsdest = {0} |
Definition at line 282 of file qmail-smtpam.c.
stralloc tlsdestinations = {0} |
Definition at line 289 of file qmail-smtpam.c.
char* tlsdestinfo = 0 |
Definition at line 284 of file qmail-smtpam.c.
char* tlsdomaininfo = 0 |
Definition at line 285 of file qmail-smtpam.c.
char up[513] |
Definition at line 476 of file qmail-smtpam.c.
int uplen |
Definition at line 477 of file qmail-smtpam.c.
unsigned long verifydepth = VERIFYDEPTH |
Definition at line 291 of file qmail-smtpam.c.