Qsmtp
0.30dev
|
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 <sys/time.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... | |
int | smtp_data (void) |
Variables | |
size_t | maxbytes |
static char | datebuf [35] = ">; " |
static unsigned long | msgsize |
receive and queue message data
#define WRITE | ( | buf, | |
len | |||
) |
#define WRITE | ( | buf, | |
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 |