diff options
-rw-r--r-- | src/src/deliver.c | 45 | ||||
-rw-r--r-- | src/src/exim.c | 2 | ||||
-rw-r--r-- | src/src/smtp_in.c | 41 | ||||
-rw-r--r-- | src/src/spool_in.c | 6 | ||||
-rw-r--r-- | src/src/string.c | 2 | ||||
-rw-r--r-- | src/src/tlscert-gnu.c | 2 | ||||
-rw-r--r-- | src/src/tlscert-openssl.c | 2 | ||||
-rw-r--r-- | src/src/transports/smtp.c | 10 |
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++; } } |