![]() |
s/qmail 4.3.23
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"#include "qmail.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 | TCP_TIMEOUT 60 |
| #define | SMTP_TIMEOUT 1200 |
| #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, size_t len) |
| ssize_t | safewrite (int fd, char *buf, size_t len) |
| void | get (char *ch) |
| unsigned long | smtpcode () |
| void | outsmtptext () |
| void | quit (char *prepend, char *append) |
| void | tls_init () |
| int | ehlo_starttls () |
| 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 *const *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 |
| unsigned long | timeoutconnect = TCP_TIMEOUT |
| unsigned long | timeout = SMTP_TIMEOUT |
| int | smtpfd |
| char | outbuf [BUFSIZE_LINE] |
| buffer | bo = BUFFER_INIT(safewrite,-1,outbuf,sizeof(outbuf)) |
| char | frombuf [BUFFER_SMALL] |
| 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 43 of file qmail-smtpam.c.
| #define HUGESMTPTEXT 5000 |
Definition at line 39 of file qmail-smtpam.c.
| #define MAX_SIZE 200000000 |
Definition at line 38 of file qmail-smtpam.c.
| #define PORT_SMTP 25 /* silly rabbit, /etc/services is for users */ |
Definition at line 40 of file qmail-smtpam.c.
| #define PORT_SMTPS 465 |
Definition at line 41 of file qmail-smtpam.c.
| #define SMTP_TIMEOUT 1200 |
Definition at line 45 of file qmail-smtpam.c.
| #define TCP_TIMEOUT 60 |
Definition at line 44 of file qmail-smtpam.c.
| #define VERIFYDEPTH 1 |
Definition at line 42 of file qmail-smtpam.c.
| #define WHO "qmail-smtpam" |
Definition at line 47 of file qmail-smtpam.c.
| void dropped | ( | ) |
Definition at line 183 of file qmail-smtpam.c.


| int ehlo_starttls | ( | ) |
| 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 62 of file qmail-smtpam.c.
| void get | ( | char * | ch | ) |
Definition at line 220 of file qmail-smtpam.c.


| void getcontrols | ( | void | ) |
Definition at line 484 of file qmail-smtpam.c.


| void out | ( | char * | s | ) |
| void outhost | ( | ) |
Definition at line 167 of file qmail-smtpam.c.


| void outsafe | ( | stralloc * | sa | ) |
Definition at line 92 of file qmail-smtpam.c.


| void outsmtptext | ( | ) |
Definition at line 251 of file qmail-smtpam.c.


| void perm_dns | ( | ) |
Definition at line 160 of file qmail-smtpam.c.


| void perm_usage | ( | ) |
Definition at line 155 of file qmail-smtpam.c.


| void quit | ( | char * | prepend, |
| char * | append ) |
Definition at line 263 of file qmail-smtpam.c.


| ssize_t saferead | ( | int | fd, |
| char * | buf, | ||
| size_t | len ) |
| ssize_t safewrite | ( | int | fd, |
| char * | buf, | ||
| size_t | len ) |
| void smtp | ( | ) |
Definition at line 442 of file qmail-smtpam.c.


| void smtp_greeting | ( | ) |
Definition at line 410 of file qmail-smtpam.c.


| void smtp_starttls | ( | ) |
Definition at line 428 of file qmail-smtpam.c.


| unsigned long smtpcode | ( | ) |
Definition at line 228 of file qmail-smtpam.c.


| void temp_chdir | ( | ) |
Definition at line 145 of file qmail-smtpam.c.


| void temp_control | ( | ) |
Definition at line 150 of file qmail-smtpam.c.


| void temp_dns | ( | ) |
Definition at line 138 of file qmail-smtpam.c.


| void temp_dnscanon | ( | ) |
Definition at line 131 of file qmail-smtpam.c.


| void temp_noconn | ( | ) |
Definition at line 126 of file qmail-smtpam.c.


| void temp_noip | ( | ) |
Definition at line 104 of file qmail-smtpam.c.


| void temp_nomem | ( | void | ) |
Definition at line 109 of file qmail-smtpam.c.


| void temp_oserr | ( | ) |
Definition at line 114 of file qmail-smtpam.c.


| void temp_osip | ( | ) |
Definition at line 119 of file qmail-smtpam.c.


| void tls_init | ( | ) |
Definition at line 296 of file qmail-smtpam.c.


| void tls_peercheck | ( | ) |
Definition at line 340 of file qmail-smtpam.c.


| void zero | ( | ) |
Definition at line 90 of file qmail-smtpam.c.


| void zerodie | ( | void | ) |
Definition at line 91 of file qmail-smtpam.c.


Definition at line 216 of file qmail-smtpam.c.
Definition at line 214 of file qmail-smtpam.c.
| stralloc cadir = {0} |
Definition at line 280 of file qmail-smtpam.c.
| stralloc cafile = {0} |
Definition at line 279 of file qmail-smtpam.c.
| stralloc canonbox = {0} |
Definition at line 71 of file qmail-smtpam.c.
| stralloc canonhost = {0} |
Definition at line 70 of file qmail-smtpam.c.
| stralloc certfile = {0} |
Definition at line 281 of file qmail-smtpam.c.
| stralloc ciphers = {0} |
Definition at line 284 of file qmail-smtpam.c.
| unsigned long code |
Definition at line 408 of file qmail-smtpam.c.
| SSL_CTX* ctx |
Definition at line 87 of file qmail-smtpam.c.
| stralloc domaincerts = {0} |
Definition at line 290 of file qmail-smtpam.c.
| stralloc domainips = {0} |
Definition at line 75 of file qmail-smtpam.c.
| int flagauth = 0 |
Definition at line 52 of file qmail-smtpam.c.
| int flagcritical = 0 |
Definition at line 181 of file qmail-smtpam.c.
| int flagsmtps = 0 |
Definition at line 53 of file qmail-smtpam.c.
| int flagtls = 0 |
Definition at line 54 of file qmail-smtpam.c.
| int flagutf8mail = 0 |
Definition at line 58 of file qmail-smtpam.c.
| int flagverify = 0 |
Definition at line 57 of file qmail-smtpam.c.
| char frombuf[BUFFER_SMALL] |
Definition at line 215 of file qmail-smtpam.c.
| stralloc host = {0} |
Definition at line 66 of file qmail-smtpam.c.
| uint32 ifidx = 0 |
Definition at line 79 of file qmail-smtpam.c.
| char ip4[4] |
Definition at line 77 of file qmail-smtpam.c.
| char ip6[16] |
Definition at line 78 of file qmail-smtpam.c.
| stralloc keyfile = {0} |
Definition at line 282 of file qmail-smtpam.c.
| stralloc keypwd = {0} |
Definition at line 283 of file qmail-smtpam.c.
| struct constmap mapdomaincerts |
Definition at line 291 of file qmail-smtpam.c.
| struct constmap mapdomainips |
Definition at line 76 of file qmail-smtpam.c.
| struct constmap maproutes |
Definition at line 82 of file qmail-smtpam.c.
| struct constmap maptlsdestinations |
Definition at line 293 of file qmail-smtpam.c.
| char outbuf[BUFSIZE_LINE] |
Definition at line 213 of file qmail-smtpam.c.
| struct ip_mx partner |
Definition at line 84 of file qmail-smtpam.c.
| unsigned long port = PORT_SMTP |
Definition at line 60 of file qmail-smtpam.c.
| stralloc ports = {0} |
Definition at line 67 of file qmail-smtpam.c.
| stralloc recip = {0} |
Definition at line 275 of file qmail-smtpam.c.
| stralloc recipient = {0} |
Definition at line 73 of file qmail-smtpam.c.
| stralloc remotehost = {0} |
Definition at line 68 of file qmail-smtpam.c.
| stralloc routes = {0} |
Definition at line 81 of file qmail-smtpam.c.
| stralloc sender = {0} |
Definition at line 69 of file qmail-smtpam.c.
| stralloc sendip = {0} |
Definition at line 72 of file qmail-smtpam.c.
| int smtpfd |
Definition at line 195 of file qmail-smtpam.c.
| stralloc smtptext = {0} |
Definition at line 218 of file qmail-smtpam.c.
| SSL* ssl |
Definition at line 86 of file qmail-smtpam.c.
| unsigned long timeout = SMTP_TIMEOUT |
Definition at line 194 of file qmail-smtpam.c.
| unsigned long timeoutconnect = TCP_TIMEOUT |
Definition at line 193 of file qmail-smtpam.c.
| stralloc tlsdest = {0} |
Definition at line 285 of file qmail-smtpam.c.
| stralloc tlsdestinations = {0} |
Definition at line 292 of file qmail-smtpam.c.
| char* tlsdestinfo = 0 |
Definition at line 287 of file qmail-smtpam.c.
| char* tlsdomaininfo = 0 |
Definition at line 288 of file qmail-smtpam.c.
| char up[513] |
Definition at line 505 of file qmail-smtpam.c.
| int uplen |
Definition at line 506 of file qmail-smtpam.c.
| unsigned long verifydepth = VERIFYDEPTH |
Definition at line 294 of file qmail-smtpam.c.