sync code with last fixes and improvements from OpenBSD

This commit is contained in:
purplerain 2023-06-12 17:03:20 +00:00
parent 8f31919cdb
commit 25f3a6cfac
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
76 changed files with 1289 additions and 694 deletions

View file

@ -1338,25 +1338,25 @@ smtp_command(struct smtp_session *s, char *line)
*/
case CMD_QUIT:
if (!smtp_check_noparam(s, args))
break;
break;
smtp_filter_phase(FILTER_QUIT, s, NULL);
break;
case CMD_NOOP:
if (!smtp_check_noparam(s, args))
break;
break;
smtp_filter_phase(FILTER_NOOP, s, NULL);
break;
case CMD_HELP:
if (!smtp_check_noparam(s, args))
break;
break;
smtp_proceed_help(s, NULL);
break;
case CMD_WIZ:
if (!smtp_check_noparam(s, args))
break;
break;
smtp_proceed_wiz(s, NULL);
break;
@ -1527,7 +1527,7 @@ smtp_check_mail_from(struct smtp_session *s, const char *args)
struct mailaddr sender;
(void)strlcpy(tmp, args, sizeof tmp);
copy = tmp;
copy = tmp;
if (s->helo[0] == '\0' || s->tx) {
smtp_reply(s, "503 %s %s: Command not allowed at this point.",
@ -1579,7 +1579,7 @@ smtp_check_rcpt_to(struct smtp_session *s, const char *args)
char tmp[SMTP_LINE_MAX];
(void)strlcpy(tmp, args, sizeof tmp);
copy = tmp;
copy = tmp;
if (s->tx == NULL) {
smtp_reply(s, "503 %s %s: Command not allowed at this point.",
@ -1831,7 +1831,7 @@ smtp_proceed_mail_from(struct smtp_session *s, const char *args)
char tmp[SMTP_LINE_MAX];
(void)strlcpy(tmp, args, sizeof tmp);
copy = tmp;
copy = tmp;
if (!smtp_tx(s)) {
smtp_reply(s, "421 %s Temporary Error",
@ -2340,7 +2340,7 @@ smtp_tx_mail_from(struct smtp_tx *tx, const char *line)
char tmp[SMTP_LINE_MAX];
(void)strlcpy(tmp, line, sizeof tmp);
copy = tmp;
copy = tmp;
if (smtp_mailaddr(&tx->evp.sender, copy, 1, &copy,
tx->session->smtpname) == 0) {
@ -2421,7 +2421,7 @@ smtp_tx_rcpt_to(struct smtp_tx *tx, const char *line)
char tmp[SMTP_LINE_MAX];
(void)strlcpy(tmp, line, sizeof tmp);
copy = tmp;
copy = tmp;
if (tx->rcptcount >= env->sc_session_max_rcpt) {
smtp_reply(tx->session, "451 %s %s: Too many recipients",
@ -2745,8 +2745,8 @@ smtp_message_begin(struct smtp_tx *tx)
log_debug("smtp: %p: message begin", s);
smtp_reply(s, "354 Enter mail, end with \".\""
" on a line by itself");
" on a line by itself");
if (s->junk || (s->tx && s->tx->junk))
m_printf(tx, "X-Spam: Yes\n");
@ -2809,7 +2809,7 @@ smtp_message_end(struct smtp_tx *tx)
switch(tx->error) {
case TX_OK:
smtp_tx_commit(tx);
return;
return;
case TX_ERROR_SIZE:
smtp_reply(s, "554 %s %s: Transaction failed, message too big",