* LMTP is like SMTP but with some extra bonus footage added.
*/
void lmtp_greeting(void) {
+ citsmtp *sSMTP;
+
smtp_greeting(0);
+ sSMTP = SMTP;
SMTP->is_lmtp = 1;
}
* We also have an unfiltered LMTP socket that bypasses spam filters.
*/
void lmtp_unfiltered_greeting(void) {
- citsmtp *sSMTP = SMTP;
+ citsmtp *sSMTP;
+
smtp_greeting(0);
+ sSMTP = SMTP;
sSMTP->is_lmtp = 1;
sSMTP->is_unfiltered = 1;
}
nowstamp);
}
}
- body = CtdlReadMessageBody(".", config.c_maxmsglen, body, 1, 0);
+ body = CtdlReadMessageBody(HKEY("."), config.c_maxmsglen, body, 1, 0);
if (body == NULL) {
cprintf("550 Unable to save message: internal error.\r\n");
return;
char cmdbuf[SIZ];
citsmtp *sSMTP = SMTP;
+ if (sSMTP == NULL) {
+ CtdlLogPrintf(CTDL_EMERG, "Session SMTP data is null. WTF? We will crash now.\n");
+ }
+
time(&CC->lastcmd);
memset(cmdbuf, 0, sizeof cmdbuf); /* Clear it, just in case */
if (client_getln(cmdbuf, sizeof cmdbuf) < 1) {
CtdlLogPrintf(CTDL_WARNING, "Possible problem: message did not "
"correctly terminate. (expecting 0x10, got 0x%02x)\n",
buf[msg_size-1]);
+ sock_write(sock, "\r\n", 2);
}
sock_write(sock, ".\r\n", 3);