git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
DANE: move to mainline
[exim.git]
/
src
/
src
/
deliver.c
diff --git
a/src/src/deliver.c
b/src/src/deliver.c
index de552f4cc0931642af59e2c227b878aa51111714..255b4d9c9476db82df36c610fce50e0087e5540a 100644
(file)
--- a/
src/src/deliver.c
+++ b/
src/src/deliver.c
@@
-2,7
+2,7
@@
* Exim - an Internet mail transport agent *
*************************************************/
* Exim - an Internet mail transport agent *
*************************************************/
-/* Copyright (c) University of Cambridge 1995 - 201
7
*/
+/* Copyright (c) University of Cambridge 1995 - 201
8
*/
/* See the file NOTICE for conditions of use and distribution. */
/* The main code for delivering a message. */
/* See the file NOTICE for conditions of use and distribution. */
/* The main code for delivering a message. */
@@
-817,7
+817,7
@@
if (LOGGING(tls_certificate_verified) && addr->cipher)
s = string_append(s, 2, US" CV=",
testflag(addr, af_cert_verified)
?
s = string_append(s, 2, US" CV=",
testflag(addr, af_cert_verified)
?
-#ifdef
EXPERIMENTAL
_DANE
+#ifdef
SUPPORT
_DANE
testflag(addr, af_dane_verified)
? "dane"
:
testflag(addr, af_dane_verified)
? "dane"
:
@@
-1030,10
+1030,8
@@
else
and all parents are not being included, don't add on the top address. First
of all, do a caseless comparison; if this succeeds, do a caseful comparison
on the local parts. */
and all parents are not being included, don't add on the top address. First
of all, do a caseless comparison; if this succeeds, do a caseful comparison
on the local parts. */
- /*XXX dodgy coding. the string at "cmp" might not be nul-terminated if
- we had to extend the allocation! */
- g->s[g->ptr] = '\0';
+ string_from_gstring(g); /* ensure nul-terminated */
if ( strcmpic(cmp, topaddr->address) == 0
&& Ustrncmp(cmp, topaddr->address, Ustrchr(cmp, '@') - cmp) == 0
&& !addr->onetime_parent
if ( strcmpic(cmp, topaddr->address) == 0
&& Ustrncmp(cmp, topaddr->address, Ustrchr(cmp, '@') - cmp) == 0
&& !addr->onetime_parent
@@
-1089,7
+1087,7
@@
if ((diff->tv_usec -= then->tv_usec) < 0)
-
static
uschar *
+uschar *
string_timediff(struct timeval * diff)
{
static uschar buf[sizeof("0.000s")];
string_timediff(struct timeval * diff)
{
static uschar buf[sizeof("0.000s")];
@@
-1621,7
+1619,7
@@
if (result == OK)
tls_out.cipher = addr->cipher;
tls_out.peerdn = addr->peerdn;
tls_out.ocsp = addr->ocsp;
tls_out.cipher = addr->cipher;
tls_out.peerdn = addr->peerdn;
tls_out.ocsp = addr->ocsp;
-# ifdef
EXPERIMENTAL
_DANE
+# ifdef
SUPPORT
_DANE
tls_out.dane_verified = testflag(addr, af_dane_verified);
# endif
#endif
tls_out.dane_verified = testflag(addr, af_dane_verified);
# endif
#endif
@@
-1634,7
+1632,7
@@
if (result == OK)
tls_out.cipher = NULL;
tls_out.peerdn = NULL;
tls_out.ocsp = OCSP_NOT_REQ;
tls_out.cipher = NULL;
tls_out.peerdn = NULL;
tls_out.ocsp = OCSP_NOT_REQ;
-# ifdef
EXPERIMENTAL
_DANE
+# ifdef
SUPPORT
_DANE
tls_out.dane_verified = FALSE;
# endif
#endif
tls_out.dane_verified = FALSE;
# endif
#endif
@@
-4787,7
+4785,7
@@
all pipes, so I do not see a reason to use non-blocking IO here
/* The certificate verification status goes into the flags */
if (tls_out.certificate_verified) setflag(addr, af_cert_verified);
/* The certificate verification status goes into the flags */
if (tls_out.certificate_verified) setflag(addr, af_cert_verified);
-#ifdef
EXPERIMENTAL
_DANE
+#ifdef
SUPPORT
_DANE
if (tls_out.dane_verified) setflag(addr, af_dane_verified);
#endif
if (tls_out.dane_verified) setflag(addr, af_dane_verified);
#endif
@@
-6152,7
+6150,7
@@
if (process_recipients != RECIP_IGNORE)
new->dsn_flags = r->dsn_flags & rf_dsnflags;
new->dsn_orcpt = r->orcpt;
DEBUG(D_deliver) debug_printf("DSN: set orcpt: %s flags: %d\n",
new->dsn_flags = r->dsn_flags & rf_dsnflags;
new->dsn_orcpt = r->orcpt;
DEBUG(D_deliver) debug_printf("DSN: set orcpt: %s flags: %d\n",
- new->dsn_orcpt, new->dsn_flags);
+ new->dsn_orcpt
? new->dsn_orcpt : US""
, new->dsn_flags);
switch (process_recipients)
{
switch (process_recipients)
{
@@
-7221,11
+7219,12
@@
for (addr_dsntmp = addr_succeed; addr_dsntmp; addr_dsntmp = addr_dsntmp->next)
"DSN: envid: %s ret: %d\n"
"DSN: Final recipient: %s\n"
"DSN: Remote SMTP server supports DSN: %d\n",
"DSN: envid: %s ret: %d\n"
"DSN: Final recipient: %s\n"
"DSN: Remote SMTP server supports DSN: %d\n",
- addr_dsntmp->router
->name
,
+ addr_dsntmp->router
? addr_dsntmp->router->name : US"(unknown)"
,
addr_dsntmp->address,
sender_address,
addr_dsntmp->address,
sender_address,
- addr_dsntmp->dsn_orcpt, addr_dsntmp->dsn_flags,
- dsn_envid, dsn_ret,
+ addr_dsntmp->dsn_orcpt ? addr_dsntmp->dsn_orcpt : US"NULL",
+ addr_dsntmp->dsn_flags,
+ dsn_envid ? dsn_envid : US"NULL", dsn_ret,
addr_dsntmp->address,
addr_dsntmp->dsn_aware
);
addr_dsntmp->address,
addr_dsntmp->dsn_aware
);
@@
-7934,8
+7933,7
@@
if (!addr_defer)
/* Log the end of this message, with queue time if requested. */
if (LOGGING(queue_time_overall))
/* Log the end of this message, with queue time if requested. */
if (LOGGING(queue_time_overall))
- log_write(0, LOG_MAIN, "Completed QT=%s",
- string_timesince(&received_time));
+ log_write(0, LOG_MAIN, "Completed QT=%s", string_timesince(&received_time));
else
log_write(0, LOG_MAIN, "Completed");
else
log_write(0, LOG_MAIN, "Completed");