summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/src/deliver.c45
-rw-r--r--src/src/exim.c2
-rw-r--r--src/src/smtp_in.c41
-rw-r--r--src/src/spool_in.c6
-rw-r--r--src/src/string.c2
-rw-r--r--src/src/tlscert-gnu.c2
-rw-r--r--src/src/tlscert-openssl.c2
-rw-r--r--src/src/transports/smtp.c10
8 files changed, 54 insertions, 56 deletions
diff --git a/src/src/deliver.c b/src/src/deliver.c
index 27a4344c5..2c0524e35 100644
--- a/src/src/deliver.c
+++ b/src/src/deliver.c
@@ -6660,14 +6660,13 @@ if (addr_senddsn != NULL)
FILE *f = fdopen(fd, "wb");
/* header only as required by RFC. only failure DSN needs to honor RET=FULL */
int topt = topt_add_return_path | topt_no_body;
- uschar boundaryStr[64];
+ uschar * bound;
DEBUG(D_deliver) debug_printf("sending error message to: %s\n", sender_address);
/* build unique id for MIME boundary */
- snprintf(boundaryStr, sizeof(boundaryStr)-1, TIME_T_FMT "-eximdsn-%d",
- time(NULL), rand());
- DEBUG(D_deliver) debug_printf("DSN: MIME boundary: %s\n", boundaryStr);
+ bound = string_sprintf(TIME_T_FMT "-eximdsn-%d", time(NULL), rand());
+ DEBUG(D_deliver) debug_printf("DSN: MIME boundary: %s\n", bound);
if (errors_reply_to)
fprintf(f, "Reply-To: %s\n", errors_reply_to);
@@ -6684,7 +6683,7 @@ if (addr_senddsn != NULL)
"This message was created automatically by mail delivery software.\n"
" ----- The following addresses had successful delivery notifications -----\n",
- qualify_domain_sender, sender_address, boundaryStr, boundaryStr);
+ qualify_domain_sender, sender_address, bound, bound);
addr_dsntmp = addr_senddsn;
while(addr_dsntmp)
@@ -6702,7 +6701,7 @@ if (addr_senddsn != NULL)
fprintf(f, "--%s\n"
"Content-type: message/delivery-status\n\n"
"Reporting-MTA: dns; %s\n",
- boundaryStr, smtp_active_hostname);
+ bound, smtp_active_hostname);
if (dsn_envid != NULL) {
/* must be decoded from xtext: see RFC 3461:6.3a */
@@ -6735,7 +6734,7 @@ if (addr_senddsn != NULL)
fputc('\n', f);
}
- fprintf(f, "--%s\nContent-type: text/rfc822-headers\n\n", boundaryStr);
+ fprintf(f, "--%s\nContent-type: text/rfc822-headers\n\n", bound);
fflush(f);
transport_filter_argv = NULL; /* Just in case */
@@ -6746,7 +6745,7 @@ if (addr_senddsn != NULL)
fflush(f);
fprintf(f,"\n");
- fprintf(f,"--%s--\n", boundaryStr);
+ fprintf(f,"--%s--\n", bound);
fflush(f);
fclose(f);
@@ -6871,7 +6870,7 @@ while (addr_failed != NULL)
int max = (bounce_return_size_limit/DELIVER_IN_BUFFER_SIZE + 1) *
DELIVER_IN_BUFFER_SIZE;
#ifdef EXPERIMENTAL_DSN
- uschar boundaryStr[64];
+ uschar * bound;
uschar *dsnlimitmsg;
uschar *dsnnotifyhdr;
int topt;
@@ -6931,13 +6930,12 @@ while (addr_failed != NULL)
#ifdef EXPERIMENTAL_DSN
/* generate boundary string and output MIME-Headers */
- snprintf(boundaryStr, sizeof(boundaryStr)-1, TIME_T_FMT "-eximdsn-%d",
- time(NULL), rand());
+ bound = string_sprintf(TIME_T_FMT "-eximdsn-%d", time(NULL), rand());
fprintf(f, "Content-Type: multipart/report;"
" report-type=delivery-status; boundary=%s\n"
"MIME-Version: 1.0\n",
- boundaryStr);
+ bound);
#endif
/* Open a template file if one is provided. Log failure to open, but
@@ -6967,7 +6965,7 @@ while (addr_failed != NULL)
/* output human readable part as text/plain section */
fprintf(f, "--%s\n"
"Content-type: text/plain; charset=us-ascii\n\n",
- boundaryStr);
+ bound);
#endif
if ((emf_text = next_emf(emf, US"intro")))
@@ -7100,7 +7098,7 @@ wording. */
fprintf(f, "--%s\n"
"Content-type: message/delivery-status\n\n"
"Reporting-MTA: dns; %s\n",
- boundaryStr, smtp_active_hostname);
+ bound, smtp_active_hostname);
if (dsn_envid)
{
@@ -7202,7 +7200,7 @@ wording. */
bounce_return_size_limit is always honored.
*/
- fprintf(f, "\n--%s\n", boundaryStr);
+ fprintf(f, "\n--%s\n", bound);
dsnlimitmsg = US"X-Exim-DSN-Information: Due to administrative limits only headers are returned";
dsnnotifyhdr = NULL;
@@ -7247,7 +7245,7 @@ wording. */
if (emf)
(void)fclose(emf);
- fprintf(f, "\n--%s--\n", boundaryStr);
+ fprintf(f, "\n--%s--\n", bound);
#endif /*EXPERIMENTAL_DSN*/
/* Close the file, which should send an EOF to the child process
@@ -7553,7 +7551,7 @@ else if (addr_defer != (address_item *)(+1))
FILE *wmf = NULL;
FILE *f = fdopen(fd, "wb");
#ifdef EXPERIMENTAL_DSN
- uschar boundaryStr[64];
+ uschar * bound;
#endif
if (warn_message_file)
@@ -7577,13 +7575,12 @@ else if (addr_defer != (address_item *)(+1))
#ifdef EXPERIMENTAL_DSN
/* generated boundary string and output MIME-Headers */
- snprintf(boundaryStr, sizeof(boundaryStr)-1,
- TIME_T_FMT "-eximdsn-%d", time(NULL), rand());
+ bound = string_sprintf(TIME_T_FMT "-eximdsn-%d", time(NULL), rand());
fprintf(f, "Content-Type: multipart/report;"
" report-type=delivery-status; boundary=%s\n"
"MIME-Version: 1.0\n",
- boundaryStr);
+ bound);
#endif
if ((wmf_text = next_emf(wmf, US"header")))
@@ -7596,7 +7593,7 @@ else if (addr_defer != (address_item *)(+1))
/* output human readable part as text/plain section */
fprintf(f, "--%s\n"
"Content-type: text/plain; charset=us-ascii\n\n",
- boundaryStr);
+ bound);
#endif
if ((wmf_text = next_emf(wmf, US"intro")))
@@ -7673,7 +7670,7 @@ else if (addr_defer != (address_item *)(+1))
fprintf(f, "\n--%s\n"
"Content-type: message/delivery-status\n\n"
"Reporting-MTA: dns; %s\n",
- boundaryStr,
+ bound,
smtp_active_hostname);
@@ -7704,7 +7701,7 @@ else if (addr_defer != (address_item *)(+1))
fprintf(f, "\n--%s\n"
"Content-type: text/rfc822-headers\n\n",
- boundaryStr);
+ bound);
fflush(f);
/* header only as required by RFC. only failure DSN needs to honor RET=FULL */
@@ -7715,7 +7712,7 @@ else if (addr_defer != (address_item *)(+1))
transport_write_message(NULL, fileno(f), topt, 0, NULL, NULL, NULL, NULL, NULL, 0);
fflush(f);
- fprintf(f,"\n--%s--\n", boundaryStr);
+ fprintf(f,"\n--%s--\n", bound);
fflush(f);
#endif /*EXPERIMENTAL_DSN*/
diff --git a/src/src/exim.c b/src/src/exim.c
index 102d8504c..32139bd33 100644
--- a/src/src/exim.c
+++ b/src/src/exim.c
@@ -2683,7 +2683,7 @@ for (i = 1; i < argc; i++)
#ifdef EXPERIMENTAL_DSN
/* -MCD: set the smtp_use_dsn flag; this indicates that the host
that exim is connected to supports the esmtp extension DSN */
- else if (strcmp(argrest, "CD") == 0)
+ else if (Ustrcmp(argrest, "CD") == 0)
{
smtp_use_dsn = TRUE;
break;
diff --git a/src/src/smtp_in.c b/src/src/smtp_in.c
index dbaa3280c..54dcaa5e5 100644
--- a/src/src/smtp_in.c
+++ b/src/src/smtp_in.c
@@ -4169,18 +4169,16 @@ while (done <= 0)
if (esmtp) for(;;)
{
- uschar *name, *value, *end;
- int size;
+ uschar *name, *value;
if (!extract_option(&name, &value))
- {
break;
- }
if (dsn_advertised && strcmpic(name, US"ORCPT") == 0)
{
/* Check whether orcpt has been already set */
- if (orcpt != NULL) {
+ if (orcpt)
+ {
synprot_error(L_smtp_syntax_error, 501, NULL,
US"ORCPT can be specified once only");
goto COMMAND_LOOP;
@@ -4192,32 +4190,39 @@ while (done <= 0)
else if (dsn_advertised && strcmpic(name, US"NOTIFY") == 0)
{
/* Check if the notify flags have been already set */
- if (flags > 0) {
+ if (flags > 0)
+ {
synprot_error(L_smtp_syntax_error, 501, NULL,
US"NOTIFY can be specified once only");
goto COMMAND_LOOP;
}
- if (strcmpic(value, US"NEVER") == 0) flags |= rf_notify_never; else
+ if (strcmpic(value, US"NEVER") == 0)
+ flags |= rf_notify_never;
+ else
{
uschar *p = value;
while (*p != 0)
{
uschar *pp = p;
while (*pp != 0 && *pp != ',') pp++;
- if (*pp == ',') *pp++ = 0;
- if (strcmpic(p, US"SUCCESS") == 0) {
- DEBUG(D_receive) debug_printf("DSN: Setting notify success\n");
- flags |= rf_notify_success;
+ if (*pp == ',') *pp++ = 0;
+ if (strcmpic(p, US"SUCCESS") == 0)
+ {
+ DEBUG(D_receive) debug_printf("DSN: Setting notify success\n");
+ flags |= rf_notify_success;
}
- else if (strcmpic(p, US"FAILURE") == 0) {
- DEBUG(D_receive) debug_printf("DSN: Setting notify failure\n");
- flags |= rf_notify_failure;
+ else if (strcmpic(p, US"FAILURE") == 0)
+ {
+ DEBUG(D_receive) debug_printf("DSN: Setting notify failure\n");
+ flags |= rf_notify_failure;
}
- else if (strcmpic(p, US"DELAY") == 0) {
- DEBUG(D_receive) debug_printf("DSN: Setting notify delay\n");
- flags |= rf_notify_delay;
+ else if (strcmpic(p, US"DELAY") == 0)
+ {
+ DEBUG(D_receive) debug_printf("DSN: Setting notify delay\n");
+ flags |= rf_notify_delay;
}
- else {
+ else
+ {
/* Catch any strange values */
synprot_error(L_smtp_syntax_error, 501, NULL,
US"Invalid value for NOTIFY parameter");
diff --git a/src/src/spool_in.c b/src/src/spool_in.c
index 77d1321ec..bd8f094d3 100644
--- a/src/src/spool_in.c
+++ b/src/src/spool_in.c
@@ -496,13 +496,9 @@ for (;;)
#ifdef EXPERIMENTAL_DSN
/* Check if the dsn flags have been set in the header file */
else if (Ustrncmp(p, "sn_ret", 6) == 0)
- {
- dsn_ret= atoi(big_buffer + 8);
- }
+ dsn_ret= atoi(CS big_buffer + 8);
else if (Ustrncmp(p, "sn_envid", 8) == 0)
- {
dsn_envid = string_copy(big_buffer + 11);
- }
#endif
break;
diff --git a/src/src/string.c b/src/src/string.c
index 0f657dcca..775709dc6 100644
--- a/src/src/string.c
+++ b/src/src/string.c
@@ -165,7 +165,7 @@ Returns: pointer to the buffer
uschar *
string_format_size(int size, uschar *buffer)
{
-if (size == 0) Ustrcpy(CS buffer, " ");
+if (size == 0) Ustrcpy(buffer, " ");
else if (size < 1024) sprintf(CS buffer, "%5d", size);
else if (size < 10*1024)
sprintf(CS buffer, "%4.1fK", (double)size / 1024.0);
diff --git a/src/src/tlscert-gnu.c b/src/src/tlscert-gnu.c
index c0ca7c935..ffe958892 100644
--- a/src/src/tlscert-gnu.c
+++ b/src/src/tlscert-gnu.c
@@ -106,7 +106,7 @@ if (mod && Ustrcmp(mod, "int") == 0)
cp = store_get(len);
if (timestamps_utc)
{
- char * tz = to_tz("GMT0");
+ uschar * tz = to_tz(US"GMT0");
len = strftime(CS cp, len, "%b %e %T %Y %Z", gmtime(&t));
restore_tz(tz);
}
diff --git a/src/src/tlscert-openssl.c b/src/src/tlscert-openssl.c
index 8f0fb4d91..de6979a18 100644
--- a/src/src/tlscert-openssl.c
+++ b/src/src/tlscert-openssl.c
@@ -121,7 +121,7 @@ else
struct tm tm;
struct tm * tm_p = &tm;
BOOL mod_tz;
- char * tz = to_tz("GMT0"); /* need to call strptime with baseline TZ */
+ uschar * tz = to_tz(US"GMT0"); /* need to call strptime with baseline TZ */
/* Parse OpenSSL ASN1_TIME_print output. A shame there seems to
be no other interface for the times.
diff --git a/src/src/transports/smtp.c b/src/src/transports/smtp.c
index 12ae6e14d..b932a87c4 100644
--- a/src/src/transports/smtp.c
+++ b/src/src/transports/smtp.c
@@ -277,7 +277,7 @@ smtp_transport_options_block smtp_transport_option_defaults = {
static int rf_list[] = {rf_notify_never, rf_notify_success,
rf_notify_failure, rf_notify_delay };
-static uschar *rf_names[] = { "NEVER", "SUCCESS", "FAILURE", "DELAY" };
+static uschar *rf_names[] = { US"NEVER", US"SUCCESS", US"FAILURE", US"DELAY" };
#endif
@@ -1871,12 +1871,12 @@ if ((smtp_use_dsn) && (dsn_all_lasthop == FALSE))
{
if (dsn_ret == dsn_ret_hdrs)
{
- strcpy(p, " RET=HDRS");
+ Ustrcpy(p, " RET=HDRS");
while (*p) p++;
}
else if (dsn_ret == dsn_ret_full)
{
- strcpy(p, " RET=FULL");
+ Ustrcpy(p, " RET=FULL");
while (*p) p++;
}
if (dsn_envid != NULL)
@@ -1973,14 +1973,14 @@ for (addr = first_addr;
{
int i;
BOOL first = TRUE;
- strcpy(p, " NOTIFY=");
+ Ustrcpy(p, " NOTIFY=");
while (*p) p++;
for (i = 0; i < 4; i++)
if ((addr->dsn_flags & rf_list[i]) != 0)
{
if (!first) *p++ = ',';
first = FALSE;
- strcpy(p, rf_names[i]);
+ Ustrcpy(p, rf_names[i]);
while (*p) p++;
}
}