[exim-cvs] Tidying: readability defines

Top Page
Delete this message
Reply to this message
Author: Exim Git Commits Mailing List
Date:  
To: exim-cvs
Subject: [exim-cvs] Tidying: readability defines
Gitweb: https://git.exim.org/exim.git/commitdiff/2e930f258a070b0c6f2aaf36bed85c39c89f8ce6
Commit:     2e930f258a070b0c6f2aaf36bed85c39c89f8ce6
Parent:     c8e898fed3ffa60f8b6ac511216358e80e3e9ecb
Author:     Jeremy Harris <jgh146exb@???>
AuthorDate: Sat Oct 14 22:27:41 2023 +0100
Committer:  Jeremy Harris <jgh146exb@???>
CommitDate: Sat Oct 14 22:27:41 2023 +0100


    Tidying: readability defines
---
 src/src/auths/get_data.c      |   2 +-
 src/src/auths/get_no64_data.c |   2 +-
 src/src/daemon.c              |  12 ++--
 src/src/macros.h              |   8 +++
 src/src/receive.c             |  20 +++---
 src/src/smtp_in.c             | 148 +++++++++++++++++++++---------------------
 src/src/tls-gnu.c             |   4 +-
 src/src/tls-openssl.c         |   4 +-
 8 files changed, 104 insertions(+), 96 deletions(-)


diff --git a/src/src/auths/get_data.c b/src/src/auths/get_data.c
index 4a35ed064..b52de6aba 100644
--- a/src/src/auths/get_data.c
+++ b/src/src/auths/get_data.c
@@ -77,7 +77,7 @@ auth_get_data(uschar ** aptr, const uschar * challenge, int challen)
{
int c;
int p = 0;
-smtp_printf("334 %s\r\n", FALSE, b64encode(challenge, challen));
+smtp_printf("334 %s\r\n", SP_NO_MORE, b64encode(challenge, challen));
while ((c = receive_getc(GETC_BUFFER_UNLIMITED)) != '\n' && c != EOF)
{
if (p >= big_buffer_size - 1) return BAD64;
diff --git a/src/src/auths/get_no64_data.c b/src/src/auths/get_no64_data.c
index e2cadfbc6..ae11ae5dc 100644
--- a/src/src/auths/get_no64_data.c
+++ b/src/src/auths/get_no64_data.c
@@ -32,7 +32,7 @@ auth_get_no64_data(uschar **aptr, uschar *challenge)
{
int c;
int p = 0;
-smtp_printf("334 %s\r\n", FALSE, challenge);
+smtp_printf("334 %s\r\n", SP_NO_MORE, challenge);
while ((c = receive_getc(GETC_BUFFER_UNLIMITED)) != '\n' && c != EOF)
{
if (p >= big_buffer_size - 1) return BAD64;
diff --git a/src/src/daemon.c b/src/src/daemon.c
index 028626c0e..b0938cbaa 100644
--- a/src/src/daemon.c
+++ b/src/src/daemon.c
@@ -128,7 +128,7 @@ never_error(uschar *log_msg, uschar *smtp_msg, int was_errno)
uschar *emsg = was_errno <= 0
? US"" : string_sprintf(": %s", strerror(was_errno));
log_write(0, LOG_MAIN|LOG_PANIC, "%s%s", log_msg, emsg);
-if (smtp_out) smtp_printf("421 %s\r\n", FALSE, smtp_msg);
+if (smtp_out) smtp_printf("421 %s\r\n", SP_NO_MORE, smtp_msg);
}


@@ -233,7 +233,7 @@ if (getsockname(accept_socket, (struct sockaddr *)(&interface_sockaddr),
   {
   log_write(0, LOG_MAIN | ((errno == ECONNRESET)? 0 : LOG_PANIC),
     "getsockname() failed: %s", strerror(errno));
-  smtp_printf("421 Local problem: getsockname() failed; please try again later\r\n", FALSE);
+  smtp_printf("421 Local problem: getsockname() failed; please try again later\r\n", SP_NO_MORE);
   goto ERROR_RETURN;
   }


@@ -263,7 +263,7 @@ if (smtp_accept_max > 0 && smtp_accept_count >= smtp_accept_max)
   DEBUG(D_any) debug_printf("rejecting SMTP connection: count=%d max=%d\n",
     smtp_accept_count, smtp_accept_max);
   smtp_printf("421 Too many concurrent SMTP connections; "
-    "please try again later.\r\n", FALSE);
+    "please try again later.\r\n", SP_NO_MORE);
   log_write(L_connection_reject,
             LOG_MAIN, "Connection from %Y refused: too many connections",
     whofrom);
@@ -282,7 +282,7 @@ if (smtp_load_reserve >= 0)
     {
     DEBUG(D_any) debug_printf("rejecting SMTP connection: load average = %.2f\n",
       (double)load_average/1000.0);
-    smtp_printf("421 Too much load; please try again later.\r\n", FALSE);
+    smtp_printf("421 Too much load; please try again later.\r\n", SP_NO_MORE);
     log_write(L_connection_reject,
               LOG_MAIN, "Connection from %Y refused: load average = %.2f",
       whofrom, (double)load_average/1000.0);
@@ -351,7 +351,7 @@ if (max_for_this_host > 0 && smtp_accept_count >= max_for_this_host)
       "IP address: count=%d max=%d\n",
       host_accept_count, max_for_this_host);
     smtp_printf("421 Too many concurrent SMTP connections "
-      "from this IP address; please try again later.\r\n", FALSE);
+      "from this IP address; please try again later.\r\n", SP_NO_MORE);
     log_write(L_connection_reject,
               LOG_MAIN, "Connection from %Y refused: too many connections "
       "from that IP address", whofrom);
@@ -445,7 +445,7 @@ if (pid == 0)
           "(smtp_active_hostname): %s", raw_active_hostname,
           expand_string_message);
         smtp_printf("421 Local configuration error; "
-          "please try again later.\r\n", FALSE);
+          "please try again later.\r\n", SP_NO_MORE);
         mac_smtp_fflush();
         search_tidyup();
         exim_underbar_exit(EXIT_FAILURE);
diff --git a/src/src/macros.h b/src/src/macros.h
index 47d75044b..250858ab4 100644
--- a/src/src/macros.h
+++ b/src/src/macros.h
@@ -1159,4 +1159,12 @@ typedef unsigned mcs_flags;
 #define TSUC_ALLOW_TAINTED_ARGS    BIT(1)
 #define TSUC_ALLOW_RECIPIENTS    BIT(2)


+/* Flags for smtp_printf */
+#define SP_MORE        TRUE
+#define SP_NO_MORE    FALSE
+
+/* Flags for smtp_respond */
+#define SR_FINAL    TRUE
+#define SR_NOT_FINAL    FALSE
+
 /* End of macros.h */
diff --git a/src/src/receive.c b/src/src/receive.c
index 3c139b3af..3318ee4d2 100644
--- a/src/src/receive.c
+++ b/src/src/receive.c
@@ -570,7 +570,7 @@ smtp_user_msg(uschar *code, uschar *user_msg)
 {
 int len = 3;
 smtp_message_code(&code, &len, &user_msg, NULL, TRUE);
-smtp_respond(code, len, TRUE, user_msg);
+smtp_respond(code, len, SR_FINAL, user_msg);
 }
 #endif


@@ -1457,7 +1457,7 @@ if (!(mbox_file = spool_mbox(&mbox_size, NULL, &mbox_filename)))
 #ifdef EXPERIMENTAL_DCC
   dcc_ok = 0;
 #endif
-  smtp_respond(US"451", 3, TRUE, US"temporary local problem");
+  smtp_respond(US"451", 3, SR_FINAL, US"temporary local problem");
   message_id[0] = 0;            /* Indicate no message accepted */
   *smtp_reply_ptr = US"";       /* Indicate reply already sent */
   return FALSE;                 /* Indicate skip to end of receive function */
@@ -2309,7 +2309,7 @@ OVERSIZE:
       sender_address,
       sender_fullhost ? " H=" : "", sender_fullhost ? sender_fullhost : US"",
       sender_ident ? " U=" : "",    sender_ident ? sender_ident : US"");
-    smtp_printf("552 Message header not CRLF terminated\r\n", FALSE);
+    smtp_printf("552 Message header not CRLF terminated\r\n", SP_NO_MORE);
     bdat_flush_data();
     smtp_reply = US"";
     goto TIDYUP;                             /* Skip to end of function */
@@ -3597,7 +3597,7 @@ else
       int all_pass = OK;
       int all_fail = FAIL;


-      smtp_printf("353 PRDR content analysis beginning\r\n", TRUE);
+      smtp_printf("353 PRDR content analysis beginning\r\n", SP_MORE);
       /* Loop through recipients, responses must be in same order received */
       for (unsigned int c = 0; recipients_count > c; c++)
         {
@@ -3922,7 +3922,7 @@ else
   if (smtp_input)
     if (!smtp_batched_input)
       {
-      smtp_respond(smtp_code, 3, TRUE, errmsg);
+      smtp_respond(smtp_code, 3, SR_FINAL, errmsg);
       smtp_reply = US"";            /* Indicate reply already sent */
       goto NOT_ACCEPTED;            /* Skip to end of function */
       }
@@ -4434,7 +4434,7 @@ if (smtp_input)
       {
       if (fake_response != OK)
         smtp_respond(fake_response == DEFER ? US"450" : US"550",
-      3, TRUE, fake_response_text);
+      3, SR_FINAL, fake_response_text);


       /* An OK response is required; use "message" text if present. */


@@ -4443,7 +4443,7 @@ if (smtp_input)
         uschar *code = US"250";
         int len = 3;
         smtp_message_code(&code, &len, &user_msg, NULL, TRUE);
-        smtp_respond(code, len, TRUE, user_msg);
+        smtp_respond(code, len, SR_FINAL, user_msg);
         }


       /* Default OK response */
@@ -4471,10 +4471,10 @@ if (smtp_input)


     else if (smtp_reply[0] != 0)
       if (fake_response != OK && smtp_reply[0] == '2')
-        smtp_respond(fake_response == DEFER ? US"450" : US"550", 3, TRUE,
-          fake_response_text);
+        smtp_respond(fake_response == DEFER ? US"450" : US"550",
+              3, SR_FINAL, fake_response_text);
       else
-        smtp_printf("%.1024s\r\n", FALSE, smtp_reply);
+        smtp_printf("%.1024s\r\n", SP_NO_MORE, smtp_reply);


     switch (cutthrough_done)
       {
diff --git a/src/src/smtp_in.c b/src/src/smtp_in.c
index 18cde79b1..1a66e1835 100644
--- a/src/src/smtp_in.c
+++ b/src/src/smtp_in.c
@@ -764,7 +764,7 @@ for(;;)
     return EOD;
     }


- smtp_printf("250 %u byte chunk received\r\n", FALSE, chunking_datasize);
+ smtp_printf("250 %u byte chunk received\r\n", SP_NO_MORE, chunking_datasize);
chunking_state = CHUNKING_OFFERED;
DEBUG(D_receive) debug_printf("chunking state %d\n", (int)chunking_state);

@@ -802,7 +802,7 @@ next_cmd:

     case NOOP_CMD:
       HAD(SCH_NOOP);
-      smtp_printf("250 OK\r\n", FALSE);
+      smtp_printf("250 OK\r\n", SP_NO_MORE);
       goto next_cmd;


     case BDAT_CMD:
@@ -1298,7 +1298,7 @@ smtp_closedown(uschar * message)
 {
 if (!smtp_in || smtp_batched_input) return;
 receive_swallow_smtp();
-smtp_printf("421 %s\r\n", FALSE, message);
+smtp_printf("421 %s\r\n", SP_NO_MORE, message);


for (;;) switch(smtp_read_command(FALSE, GETC_BUFFER_UNLIMITED))
{
@@ -1307,16 +1307,16 @@ for (;;) switch(smtp_read_command(FALSE, GETC_BUFFER_UNLIMITED))

   case QUIT_CMD:
     f.smtp_in_quit = TRUE;
-    smtp_printf("221 %s closing connection\r\n", FALSE, smtp_active_hostname);
+    smtp_printf("221 %s closing connection\r\n", SP_NO_MORE, smtp_active_hostname);
     mac_smtp_fflush();
     return;


   case RSET_CMD:
-    smtp_printf("250 Reset OK\r\n", FALSE);
+    smtp_printf("250 Reset OK\r\n", SP_NO_MORE);
     break;


   default:
-    smtp_printf("421 %s\r\n", FALSE, message);
+    smtp_printf("421 %s\r\n", SP_NO_MORE, message);
     break;
   }
 }
@@ -2266,7 +2266,7 @@ if (!f.sender_host_unknown)
         {
         log_write(0, LOG_MAIN, "getsockopt() failed from %s: %s",
           host_and_ident(FALSE), strerror(errno));
-        smtp_printf("451 SMTP service not available\r\n", FALSE);
+        smtp_printf("451 SMTP service not available\r\n", SP_NO_MORE);
         return FALSE;
         }
       }
@@ -2370,7 +2370,7 @@ if (!f.sender_host_unknown)
       log_write(0, LOG_MAIN|LOG_REJECT,
         "connection from %s refused (IP options)", host_and_ident(FALSE));


-      smtp_printf("554 SMTP service not available\r\n", FALSE);
+      smtp_printf("554 SMTP service not available\r\n", SP_NO_MORE);
       return FALSE;
       }


@@ -2425,7 +2425,7 @@ if (!f.sender_host_unknown)
 #ifndef DISABLE_TLS
     if (!tls_in.on_connect)
 #endif
-      smtp_printf("554 SMTP service not available\r\n", FALSE);
+      smtp_printf("554 SMTP service not available\r\n", SP_NO_MORE);
     return FALSE;
     }


@@ -2456,7 +2456,7 @@ if (!f.sender_host_unknown)
       log_write(L_connection_reject,
                 LOG_MAIN|LOG_REJECT, "refused connection from %s "
                 "(tcp wrappers)", host_and_ident(FALSE));
-      smtp_printf("554 SMTP service not available\r\n", FALSE);
+      smtp_printf("554 SMTP service not available\r\n", SP_NO_MORE);
       }
     else
       {
@@ -2466,7 +2466,7 @@ if (!f.sender_host_unknown)
       log_write(L_connection_reject,
                 LOG_MAIN|LOG_REJECT, "temporarily refused connection from %s "
                 "(tcp wrappers errno=%d)", host_and_ident(FALSE), save_errno);
-      smtp_printf("451 Temporary local problem - please try later\r\n", FALSE);
+      smtp_printf("451 Temporary local problem - please try later\r\n", SP_NO_MORE);
       }
     return FALSE;
     }
@@ -2486,7 +2486,7 @@ if (!f.sender_host_unknown)
         host_and_ident(FALSE), smtp_accept_count - 1, smtp_accept_max,
         smtp_accept_reserve, (rc == DEFER)? " (lookup deferred)" : "");
       smtp_printf("421 %s: Too many concurrent SMTP connections; "
-        "please try again later\r\n", FALSE, smtp_active_hostname);
+        "please try again later\r\n", SP_NO_MORE, smtp_active_hostname);
       return FALSE;
       }
     reserved_host = TRUE;
@@ -2507,7 +2507,7 @@ if (!f.sender_host_unknown)
       LOG_MAIN, "temporarily refused connection from %s: not in "
       "reserve list and load average = %.2f", host_and_ident(FALSE),
       (double)load_average/1000.0);
-    smtp_printf("421 %s: Too much load; please try again later\r\n", FALSE,
+    smtp_printf("421 %s: Too much load; please try again later\r\n", SP_NO_MORE,
       smtp_active_hostname);
     return FALSE;
     }
@@ -2681,7 +2681,7 @@ if (!check_sync())
       "synchronization error (input sent without waiting for greeting): "
       "rejected connection from %s input=\"%s\"", host_and_ident(TRUE),
       string_printing(string_copyn(smtp_inptr, n)));
-    smtp_printf("554 SMTP synchronization error\r\n", FALSE);
+    smtp_printf("554 SMTP synchronization error\r\n", SP_NO_MORE);
     return FALSE;
     }


@@ -2692,7 +2692,7 @@ smtp_printf("%Y",
#ifndef DISABLE_PIPE_CONNECT
fl.pipe_connect_acceptable && pipeline_connect_sends(),
#else
- FALSE,
+ SP_NO_MORE,
#endif
ss);

@@ -2751,10 +2751,10 @@ if (++synprot_error_count > smtp_max_synprot_errors)

 if (code > 0)
   {
-  smtp_printf("%d%c%s%s%s\r\n", FALSE, code, yield == 1 ? '-' : ' ',
+  smtp_printf("%d%c%s%s%s\r\n", SP_NO_MORE, code, yield == 1 ? '-' : ' ',
     data ? data : US"", data ? US": " : US"", errmess);
   if (yield == 1)
-    smtp_printf("%d Too many syntax or protocol errors\r\n", FALSE, code);
+    smtp_printf("%d Too many syntax or protocol errors\r\n", SP_NO_MORE, code);
   }


 return yield;
@@ -2781,7 +2781,7 @@ Returns:        nothing
 */


 void
-smtp_respond(uschar* code, int codelen, BOOL final, uschar *msg)
+smtp_respond(uschar * code, int codelen, BOOL final, uschar * msg)
 {
 int esclen = 0;
 uschar *esc = US"";
@@ -2830,7 +2830,7 @@ for (;;)
     }
   else
     {
-    smtp_printf("%.3s-%.*s%.*s\r\n", TRUE, code, esclen, esc, (int)(nl - msg), msg);
+    smtp_printf("%.3s-%.*s%.*s\r\n", SP_MORE, code, esclen, esc, (int)(nl - msg), msg);
     msg = nl + 1;
     Uskip_whitespace(&msg);
     }
@@ -3022,7 +3022,7 @@ if (sender_verified_failed &&
       string_sprintf(": %s", sender_verified_failed->message));


   if (rc == FAIL && sender_verified_failed->user_message)
-    smtp_respond(smtp_code, codelen, FALSE, string_sprintf(
+    smtp_respond(smtp_code, codelen, SR_NOT_FINAL, string_sprintf(
         testflag(sender_verified_failed, af_verify_pmfail)?
           "Postmaster verification failed while checking <%s>\n%s\n"
           "Several RFCs state that you are required to have a postmaster\n"
@@ -3054,7 +3054,7 @@ always a 5xx one - see comments at the start of this function. If the original
 rc was FAIL_DROP we drop the connection and yield 2. */


 if (rc == FAIL)
-  smtp_respond(smtp_code, codelen, TRUE,
+  smtp_respond(smtp_code, codelen, SR_FINAL,
     user_msg ? user_msg : US"Administrative prohibition");


 /* Send temporary failure response to the command. Don't give any details,
@@ -3072,12 +3072,12 @@ else
        && sender_verified_failed
        && sender_verified_failed->message
        )
-      smtp_respond(smtp_code, codelen, FALSE, sender_verified_failed->message);
+      smtp_respond(smtp_code, codelen, SR_NOT_FINAL, sender_verified_failed->message);


-    smtp_respond(smtp_code, codelen, TRUE, user_msg);
+    smtp_respond(smtp_code, codelen, SR_FINAL, user_msg);
     }
   else
-    smtp_respond(smtp_code, codelen, TRUE,
+    smtp_respond(smtp_code, codelen, SR_FINAL,
       US"Temporary local problem - please try later");


 /* Log the incident to the logs that are specified by log_reject_target
@@ -3194,7 +3194,7 @@ responses are all internal, they should be reasonable size. */
 if (code && defaultrespond)
   {
   if (user_msg)
-    smtp_respond(code, 3, TRUE, user_msg);
+    smtp_respond(code, 3, SR_FINAL, user_msg);
   else
     {
     gstring * g;
@@ -3203,7 +3203,7 @@ if (code && defaultrespond)
     va_start(ap, defaultrespond);
     g = string_vformat(NULL, SVFMT_EXTEND|SVFMT_REBUFFER, CS defaultrespond, ap);
     va_end(ap);
-    smtp_printf("%s %Y\r\n", FALSE, code, g);
+    smtp_printf("%s %Y\r\n", SP_NO_MORE, code, g);
     }
   mac_smtp_fflush();
   }
@@ -3360,7 +3360,7 @@ smtp_user_msg(uschar *code, uschar *user_msg)
 {
 int len = 3;
 smtp_message_code(&code, &len, &user_msg, NULL, TRUE);
-smtp_respond(code, len, TRUE, user_msg);
+smtp_respond(code, len, SR_FINAL, user_msg);
 }



@@ -3495,7 +3495,7 @@ if (f.allow_unqualified_recipient || strcmpic(*recipient, US"postmaster") == 0)
*recipient = US rewrite_address_qualify(*recipient, TRUE);
return rd;
}
-smtp_printf("501 %s: recipient address must contain a domain\r\n", FALSE,
+smtp_printf("501 %s: recipient address must contain a domain\r\n", SP_NO_MORE,
smtp_cmd_data);
log_write(L_smtp_syntax_error,
LOG_MAIN|LOG_REJECT, "unqualified %s rejected: <%s> %s%s",
@@ -3523,9 +3523,9 @@ if ( acl_smtp_quit
#endif

if (*user_msgp)
- smtp_respond(US"221", 3, TRUE, *user_msgp);
+ smtp_respond(US"221", 3, SR_FINAL, *user_msgp);
else
- smtp_printf("221 %s closing connection\r\n", FALSE, smtp_active_hostname);
+ smtp_printf("221 %s closing connection\r\n", SP_NO_MORE, smtp_active_hostname);

 #ifdef SERVERSIDE_CLOSE_NOWAIT
 # ifndef DISABLE_TLS
@@ -3554,7 +3554,7 @@ smtp_rset_handler(void)
 {
 HAD(SCH_RSET);
 incomplete_transaction_log(US"RSET");
-smtp_printf("250 Reset OK\r\n", FALSE);
+smtp_printf("250 Reset OK\r\n", SP_NO_MORE);
 cmd_list[CL_RSET].is_mail_cmd = FALSE;
 if (chunking_state > CHUNKING_OFFERED)
   chunking_state = CHUNKING_OFFERED;
@@ -3809,7 +3809,7 @@ while (done <= 0)
       {
       int rc = smtp_in_auth(au, &smtp_resp, &errmsg);


-      smtp_printf("%s\r\n", FALSE, smtp_resp);
+      smtp_printf("%s\r\n", SP_NO_MORE, smtp_resp);
       if (rc != OK)
         {
         uschar * logmsg = NULL;
@@ -3870,7 +3870,7 @@ while (done <= 0)


       if (!check_helo(smtp_cmd_data))
     {
-    smtp_printf("501 Syntactically invalid %s argument(s)\r\n", FALSE, hello);
+    smtp_printf("501 Syntactically invalid %s argument(s)\r\n", SP_NO_MORE, hello);


     log_write(0, LOG_MAIN|LOG_REJECT, "rejected %s from %s: syntactically "
       "invalid argument(s): %s", hello, host_and_ident(FALSE),
@@ -3935,7 +3935,7 @@ while (done <= 0)
         {
         if (fl.helo_verify_required)
           {
-          smtp_printf("%d %s argument does not match calling host\r\n", FALSE,
+          smtp_printf("%d %s argument does not match calling host\r\n", SP_NO_MORE,
         tempfail? 451 : 550, hello);
           log_write(0, LOG_MAIN|LOG_REJECT, "%srejected \"%s %s\" from %s",
         tempfail? "temporarily " : "",
@@ -4288,7 +4288,7 @@ while (done <= 0)
       done = synprot_error(L_smtp_syntax_error, resp, NULL, errmsg);
     else
       {
-      smtp_printf("%d %s\r\n", FALSE, resp, errmsg);
+      smtp_printf("%d %s\r\n", SP_NO_MORE, resp, errmsg);
       log_write(0, LOG_MAIN|LOG_REJECT, "rejected XCLIENT from %s: %s",
         host_and_ident(FALSE), errmsg);
       }
@@ -4302,7 +4302,7 @@ while (done <= 0)
     We require that we do; the following HELO/EHLO handling will set
     sender_helo_name as normal. */


-    smtp_printf("%s XCLIENT success\r\n", FALSE, smtp_code);
+    smtp_printf("%s XCLIENT success\r\n", SP_NO_MORE, smtp_code);
     }
       break; /* XCLIENT */
       }
@@ -4326,7 +4326,7 @@ while (done <= 0)
     if (  fl.helo_verify_required
        || verify_check_host(&hosts_require_helo) == OK)
       {
-      smtp_printf("503 HELO or EHLO required\r\n", FALSE);
+      smtp_printf("503 HELO or EHLO required\r\n", SP_NO_MORE);
       log_write(0, LOG_MAIN|LOG_REJECT, "rejected MAIL from %s: no "
         "HELO/EHLO given", host_and_ident(FALSE));
       break;
@@ -4353,7 +4353,7 @@ while (done <= 0)


       if (smtp_mailcmd_max > 0 && smtp_mailcmd_count > smtp_mailcmd_max)
     {
-    smtp_printf("421 too many messages in this connection\r\n", FALSE);
+    smtp_printf("421 too many messages in this connection\r\n", SP_NO_MORE);
     log_write(0, LOG_MAIN|LOG_REJECT, "rejected MAIL command %s: too many "
       "messages in one connection", host_and_ident(TRUE));
     break;
@@ -4626,7 +4626,7 @@ while (done <= 0)


       if (thismessage_size_limit > 0 && message_size > thismessage_size_limit)
     {
-    smtp_printf("552 Message size exceeds maximum permitted\r\n", FALSE);
+    smtp_printf("552 Message size exceeds maximum permitted\r\n", SP_NO_MORE);
     log_write(L_size_reject,
         LOG_MAIN|LOG_REJECT, "rejected MAIL FROM:<%s> %s: "
         "message too big: size%s=%d max=%d",
@@ -4651,7 +4651,7 @@ while (done <= 0)
        smtp_check_spool_space && message_size >= 0
           ? message_size + 5000 : 0))
     {
-    smtp_printf("452 Space shortage, please try later\r\n", FALSE);
+    smtp_printf("452 Space shortage, please try later\r\n", SP_NO_MORE);
     sender_address = NULL;
     break;
     }
@@ -4673,7 +4673,7 @@ while (done <= 0)
       }
     else
       {
-      smtp_printf("501 %s: sender address must contain a domain\r\n", FALSE,
+      smtp_printf("501 %s: sender address must contain a domain\r\n", SP_NO_MORE,
         smtp_cmd_data);
       log_write(L_smtp_syntax_error,
         LOG_MAIN|LOG_REJECT,
@@ -4753,7 +4753,7 @@ while (done <= 0)
     {
     if (f.smtp_in_pipelining_advertised && last_was_rej_mail)
       {
-      smtp_printf("503 sender not yet given\r\n", FALSE);
+      smtp_printf("503 sender not yet given\r\n", SP_NO_MORE);
       was_rej_mail = TRUE;
       }
     else
@@ -4902,7 +4902,7 @@ while (done <= 0)
     if (recipients_max_reject)
       {
       rcpt_fail_count++;
-      smtp_printf("552 too many recipients\r\n", FALSE);
+      smtp_printf("552 too many recipients\r\n", SP_NO_MORE);
       if (!toomany)
         log_write(0, LOG_MAIN|LOG_REJECT, "too many recipients: message "
           "rejected: sender=<%s> %s", sender_address, host_and_ident(TRUE));
@@ -4910,7 +4910,7 @@ while (done <= 0)
     else
       {
       rcpt_defer_count++;
-      smtp_printf("452 too many recipients\r\n", FALSE);
+      smtp_printf("452 too many recipients\r\n", SP_NO_MORE);
       if (!toomany)
         log_write(0, LOG_MAIN|LOG_REJECT, "too many recipients: excess "
           "temporarily rejected: sender=<%s> %s", sender_address,
@@ -4976,7 +4976,7 @@ while (done <= 0)
     if (user_msg)
       smtp_user_msg(US"250", user_msg);
     else
-      smtp_printf("250 Accepted\r\n", FALSE);
+      smtp_printf("250 Accepted\r\n", SP_NO_MORE);
     rcpt_fail_count++;
     discarded = TRUE;
     log_write(0, LOG_MAIN|LOG_REJECT, "%s F=<%s> RCPT %s: "
@@ -5063,15 +5063,15 @@ while (done <= 0)
       {
       uschar *code = US"503";
       int len = Ustrlen(rcpt_smtp_response);
-      smtp_respond(code, 3, FALSE, US"All RCPT commands were rejected with "
+      smtp_respond(code, 3, SR_NOT_FINAL, US"All RCPT commands were rejected with "
         "this error:");
       /* Responses from smtp_printf() will have \r\n on the end */
       if (len > 2 && rcpt_smtp_response[len-2] == '\r')
         rcpt_smtp_response[len-2] = 0;
-      smtp_respond(code, 3, FALSE, rcpt_smtp_response);
+      smtp_respond(code, 3, SR_NOT_FINAL, rcpt_smtp_response);
       }
     if (f.smtp_in_pipelining_advertised && last_was_rcpt)
-      smtp_printf("503 Valid RCPT command must precede %s\r\n", FALSE,
+      smtp_printf("503 Valid RCPT command must precede %s\r\n", SP_NO_MORE,
         smtp_names[smtp_connection_had[SMTP_HBUFF_PREV(smtp_ch_index)]]);
     else
       done = synprot_error(L_smtp_protocol_error, 503, NULL,
@@ -5091,7 +5091,7 @@ while (done <= 0)
     {
     sender_address = NULL;  /* This will allow a new MAIL without RSET */
     sender_address_unrewritten = NULL;
-    smtp_printf("554 Too many recipients\r\n", FALSE);
+    smtp_printf("554 Too many recipients\r\n", SP_NO_MORE);


     if (chunking_state > CHUNKING_OFFERED)
       {
@@ -5132,7 +5132,7 @@ while (done <= 0)
       smtp_user_msg(US"354", user_msg);
     else
       smtp_printf(
-        "354 Enter message, ending with \".\" on a line by itself\r\n", FALSE);
+        "354 Enter message, ending with \".\" on a line by itself\r\n", SP_NO_MORE);
     }


       if (f.bdat_readers_wanted)
@@ -5158,7 +5158,7 @@ while (done <= 0)
       if (!(address = parse_extract_address(smtp_cmd_data, &errmess,
             &start, &end, &recipient_domain, FALSE)))
     {
-    smtp_printf("501 %s\r\n", FALSE, errmess);
+    smtp_printf("501 %s\r\n", SP_NO_MORE, errmess);
     break;
     }


@@ -5197,7 +5197,7 @@ while (done <= 0)
         break;
       }


-    smtp_printf("%s\r\n", FALSE, s);
+    smtp_printf("%s\r\n", SP_NO_MORE, s);
     }
       break;
       }
@@ -5325,7 +5325,7 @@ while (done <= 0)


       if (rc == DEFER)
     {
-    smtp_printf("454 TLS currently unavailable\r\n", FALSE);
+    smtp_printf("454 TLS currently unavailable\r\n", SP_NO_MORE);
     break;
     }


@@ -5358,15 +5358,15 @@ while (done <= 0)
           log_write(0, LOG_MAIN|LOG_PANIC, "ACL for QUIT returned ERROR: %s",
         log_msg);
       if (user_msg)
-        smtp_respond(US"221", 3, TRUE, user_msg);
+        smtp_respond(US"221", 3, SR_FINAL, user_msg);
       else
-        smtp_printf("221 %s closing connection\r\n", FALSE, smtp_active_hostname);
+        smtp_printf("221 %s closing connection\r\n", SP_NO_MORE, smtp_active_hostname);
       log_close_event(US"by QUIT");
       done = 2;
       break;


     default:
-      smtp_printf("554 Security failure\r\n", FALSE);
+      smtp_printf("554 Security failure\r\n", SP_NO_MORE);
       break;
     }
       tls_close(NULL, TLS_SHUTDOWN_NOWAIT);
@@ -5394,7 +5394,7 @@ while (done <= 0)


     case NOOP_CMD:
       HAD(SCH_NOOP);
-      smtp_printf("250 OK\r\n", FALSE);
+      smtp_printf("250 OK\r\n", SP_NO_MORE);
       break;



@@ -5405,23 +5405,23 @@ while (done <= 0)

     case HELP_CMD:
       HAD(SCH_HELP);
-      smtp_printf("214-Commands supported:\r\n214", TRUE);
-      smtp_printf(" AUTH", TRUE);
+      smtp_printf("214-Commands supported:\r\n214", SP_MORE);
+      smtp_printf(" AUTH", SP_MORE);
 #ifndef DISABLE_TLS
       if (tls_in.active.sock < 0 &&
       verify_check_host(&tls_advertise_hosts) != FAIL)
-    smtp_printf(" STARTTLS", TRUE);
+    smtp_printf(" STARTTLS", SP_MORE);
 #endif
-      smtp_printf(" HELO EHLO MAIL RCPT DATA BDAT", TRUE);
-      smtp_printf(" NOOP QUIT RSET HELP", TRUE);
-      if (acl_smtp_etrn) smtp_printf(" ETRN", TRUE);
-      if (acl_smtp_expn) smtp_printf(" EXPN", TRUE);
-      if (acl_smtp_vrfy) smtp_printf(" VRFY", TRUE);
+      smtp_printf(" HELO EHLO MAIL RCPT DATA BDAT", SP_MORE);
+      smtp_printf(" NOOP QUIT RSET HELP", SP_MORE);
+      if (acl_smtp_etrn) smtp_printf(" ETRN", SP_MORE);
+      if (acl_smtp_expn) smtp_printf(" EXPN", SP_MORE);
+      if (acl_smtp_vrfy) smtp_printf(" VRFY", SP_MORE);
 #ifdef EXPERIMENTAL_XCLIENT
       if (proxy_session || verify_check_host(&hosts_xclient) != FAIL)
-    smtp_printf(" XCLIENT", TRUE);
+    smtp_printf(" XCLIENT", SP_MORE);
 #endif
-      smtp_printf("\r\n", FALSE);
+      smtp_printf("\r\n", SP_NO_MORE);
       break;



@@ -5500,7 +5500,7 @@ while (done <= 0)
       {
       log_write(0, LOG_MAIN|LOG_PANIC, "failed to set up ETRN command: %s",
         error);
-      smtp_printf("458 Internal failure\r\n", FALSE);
+      smtp_printf("458 Internal failure\r\n", SP_NO_MORE);
       break;
       }
     }
@@ -5531,7 +5531,7 @@ while (done <= 0)
       debug_printf("ETRN command is: %s\n", etrn_command);
       debug_printf("ETRN command execution skipped\n");
       }
-    if (user_msg == NULL) smtp_printf("250 OK\r\n", FALSE);
+    if (user_msg == NULL) smtp_printf("250 OK\r\n", SP_NO_MORE);
       else smtp_user_msg(US"250", user_msg);
     break;
     }
@@ -5542,7 +5542,7 @@ while (done <= 0)


       if (smtp_etrn_serialize && !enq_start(etrn_serialize_key, 1))
     {
-    smtp_printf("458 Already processing %s\r\n", FALSE, smtp_cmd_data);
+    smtp_printf("458 Already processing %s\r\n", SP_NO_MORE, smtp_cmd_data);
     break;
     }


@@ -5607,12 +5607,12 @@ while (done <= 0)
     {
     log_write(0, LOG_MAIN|LOG_PANIC, "fork of process for ETRN failed: %s",
       strerror(errno));
-    smtp_printf("458 Unable to fork process\r\n", FALSE);
+    smtp_printf("458 Unable to fork process\r\n", SP_NO_MORE);
     if (smtp_etrn_serialize) enq_end(etrn_serialize_key);
     }
       else
     if (!user_msg)
-      smtp_printf("250 OK\r\n", FALSE);
+      smtp_printf("250 OK\r\n", SP_NO_MORE);
     else
       smtp_user_msg(US"250", user_msg);


@@ -5632,7 +5632,7 @@ while (done <= 0)
       done = synprot_error(L_smtp_syntax_error, 0, NULL,       /* Just logs */
     US"NUL character(s) present (shown as '?')");
       smtp_printf("501 NUL characters are not allowed in SMTP commands\r\n",
-          FALSE);
+          SP_NO_MORE);
       break;



@@ -5669,7 +5669,7 @@ while (done <= 0)

 #ifdef SUPPORT_PROXY
     case PROXY_FAIL_IGNORE_CMD:
-      smtp_printf("503 Command refused, required Proxy negotiation failed\r\n", FALSE);
+      smtp_printf("503 Command refused, required Proxy negotiation failed\r\n", SP_NO_MORE);
       break;
 #endif


diff --git a/src/src/tls-gnu.c b/src/src/tls-gnu.c
index e706b6386..afb59c33f 100644
--- a/src/src/tls-gnu.c
+++ b/src/src/tls-gnu.c
@@ -3000,7 +3000,7 @@ exim_gnutls_state_st * state = NULL;
if (tls_in.active.sock >= 0)
{
tls_error(US"STARTTLS received after TLS started", US "", NULL, errstr);
- smtp_printf("554 Already in TLS\r\n", FALSE);
+ smtp_printf("554 Already in TLS\r\n", SP_NO_MORE);
return FAIL;
}

@@ -3079,7 +3079,7 @@ mode, the fflush() happens when smtp_getc() is called. */

if (!state->tlsp->on_connect)
{
- smtp_printf("220 TLS go ahead\r\n", FALSE);
+ smtp_printf("220 TLS go ahead\r\n", SP_NO_MORE);
fflush(smtp_out);
}

diff --git a/src/src/tls-openssl.c b/src/src/tls-openssl.c
index 2e537a160..a5e782ef7 100644
--- a/src/src/tls-openssl.c
+++ b/src/src/tls-openssl.c
@@ -3504,7 +3504,7 @@ static uschar peerdn[256];
if (tls_in.active.sock >= 0)
{
tls_error(US"STARTTLS received after TLS started", NULL, US"", errstr);
- smtp_printf("554 Already in TLS\r\n", FALSE);
+ smtp_printf("554 Already in TLS\r\n", SP_NO_MORE);
return FAIL;
}

@@ -3624,7 +3624,7 @@ mode, the fflush() happens when smtp_getc() is called. */
SSL_set_session_id_context(ssl, sid_ctx, Ustrlen(sid_ctx));
if (!tls_in.on_connect)
{
- smtp_printf("220 TLS go ahead\r\n", FALSE);
+ smtp_printf("220 TLS go ahead\r\n", SP_NO_MORE);
fflush(smtp_out);
}


--
## subscription configuration (requires account):
## https://lists.exim.org/mailman3/postorius/lists/exim-cvs.lists.exim.org/
## unsubscribe (doesn't require an account):
## exim-cvs-unsubscribe@???
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/