Qsmtp
0.37
|
receive and queue message data More...
#include <qsmtpd/qsdata.h>
#include <fmt.h>
#include <log.h>
#include <netio.h>
#include <qsmtpd/antispam.h>
#include <qsmtpd/qsmtpd.h>
#include <qsmtpd/queue.h>
#include <qsmtpd/syntax.h>
#include <tls.h>
#include <version.h>
#include <errno.h>
#include <openssl/ssl.h>
#include <string.h>
#include <strings.h>
#include <sys/time.h>
#include <sys/uio.h>
#include <syslog.h>
#include <time.h>
#include <unistd.h>
Functions | |
static void | two_digit (char *buf, int num) |
static void | date822 (char *buf) |
static int | write_received (const int chunked) |
write Received header line More... | |
static int | check_rfc822_headers (unsigned int *headerflags, const char **hdrname) |
check if header lines violate RfC822 More... | |
static void | log_recips (const char *reason1, const char *reason2, const char *reason3) |
int | smtp_data (void) |
receive and queue message data
#define WRITE | ( | buf, | |
len | |||
) |
#define WRITE | ( | buf, | |
len | |||
) |
#define WRITEVEC | ( | vec, | |
cnt, | |||
len | |||
) |
|
static |
check if header lines violate RfC822
headerflags | flags which headers were already found |
hdrname | the header found on error |
0 | nothing special found |
1 | a known header was found |
-2 | a duplicate header was found (hdrname is set) |
-8 | unencoded 8 bit data was found |
|
static |
write RfC822 date information to buffer
buf | buffer to store string in, must have at least 32 bytes free |
exactly 31 bytes in buffer are filled, it will not be 0-terminated
int smtp_data | ( | void | ) |
handle DATA command and store data into queue
|
static |
write Received header line
chunked | if message was transferred using BDAT |