Re: Sendmail et DSN 4.7.0

2018-11-05 Par sujet BERTRAND Joël

Ce n'est pas n'importe quoi comme réponses...

Trois "relay=hotmail-com.olc.protection.outlook.com., dsn=4.0.0, 
stat=Deferred" sont toujours suivis par un message DSN complet 
"relay=hotmail-com.olc.protection.outlook.com. [104.47.34.33], 
dsn=4.0.0, stat=Deferred: 403 4.7.0 TLS handshake failed."


Et ça boucle comme ça. Trois incomplets suivis par un complet...



Re: Sendmail et DSN 4.7.0

2018-11-05 Par sujet BERTRAND Joël
Bon, bon, bon... C'est plus grave que ça. Le patch semble fonctionner. 
En revanche, les codes d'erreur sont tronqués aléatoirement. Sur le même 
message envoyé à un MX en échec, j'ai aléatoirement dans mes logs :


Nov  5 18:00:13 rayleigh sm-mta[31991]: wA5GxrK0031751: to=<...>, 
delay=00:00:19, xdelay=00:00:02, mailer=esmtp, pri=61468, 
relay=mx3.gmf.fr. [195.101.194.3], dsn=4.0.0, stat=Deferred: 403 4.7.0 
TLS handshake failed.
Nov  5 18:09:25 rayleigh sm-mta[7414]: wA5GxrK0031751: 
to=, delay=00:09:31, xdelay=00:00:00, mailer=esmtp, 
pri=151468, relay=mx3.gmf.fr., dsn=4.0.0, stat=Deferred
Nov  5 18:14:50 rayleigh sm-mta[11345]: wA5GxrK0031751: 
to=, delay=00:14:56, xdelay=00:00:00, mailer=esmtp, 
pri=241468, relay=mx3.gmf.fr., dsn=4.0.0, stat=Deferred
Nov  5 18:24:50 rayleigh sm-mta[18795]: wA5GxrK0031751: 
to=, delay=00:24:56, xdelay=00:00:00, mailer=esmtp, 
pri=331468, relay=mx3.gmf.fr., dsn=4.0.0, stat=Deferred
Nov  5 18:25:29 rayleigh sm-mta[20104]: wA5GxrK0031751: 
to=, delay=00:25:35, xdelay=00:00:00, mailer=esmtp, 
pri=421468, relay=mx3.gmf.fr., dsn=4.0.0, stat=Deferred


	Ainsi, lors de la première tentative, le code de retour est bon. Lors 
des tentatives suivantes, le message est tronqué. Il peut tout de même 
apparaître en entier de temps en temps.


Suis-je le seul à observer ce genre de chose ?



Sendmail et DSN 4.7.0

2018-11-05 Par sujet BERTRAND Joël

   Bonjour à tous,

   J'utilise depuis des années un patch à sendmail pour envoyer des 
mails à des serveurs avec une configuration TLS foireuse.


Ce patch est le suivant :

diff -ruN sendmail-8.15.2-/cf/feature/tls_failures.m4 
sendmail-8.15.2/cf/feature
--- sendmail-8.15.2-/cf/feature/tls_failures.m4 1969-12-31 
16:00:00.0 -0
+++ sendmail-8.15.2/cf/feature/tls_failures.m4  2015-07-22 
20:42:56.0 -0

@@ -0,0 +1,17 @@
+divert(-1)
+#
+# Copyright (c) 2015 Proofpoint, Inc. and its suppliers.
+#  All rights reserved.
+#
+# By using this file, you agree to the terms and conditions set
+# forth in the LICENSE file which can be found at the top level of
+# the sendmail distribution.
+#
+#
+
+define(`_TLS_FAILURES_', `1')dnl
+define(`_NEED_MACRO_MAP_', `1')dnl
+define(`_TLS_FAILURES_CNT_', ifelse(len(X`'_ARG_),`1',`5',_ARG_)))dnl
+
+LOCAL_CONFIG
+C{persistentMacros}{saved_verify}
diff -ruN sendmail-8.15.2-/cf/m4/proto.m4 sendmail-8.15.2/cf/m4/proto.m4
--- sendmail-8.15.2-/cf/m4/proto.m4 2015-05-22 06:42:27.0 -0700
+++ sendmail-8.15.2/cf/m4/proto.m4  2015-07-22 20:39:48.0 -0700
@@ -2686,7 +2686,11 @@
 R$*$: $>D <$&{server_name}>   <>
 R$* $: $>A <$&{server_addr}>   <>
 R$* $: <$(access TLS_TRY_TAG`'_TAG_DELIM_ $: ? $)>
-R$* $@ OK
+ifdef(`_TLS_FAILURES_', `dnl
+R$* $:  $&{saved_verify} $| $(arith l $@ 
`'_TLS_F
+R SOFTWARE $| TRUE $| $*$#error $@ 5.7.1 $: "550 do not try TLS 
with " $
+R PROTOCOL $| TRUE $| $*$#error $@ 5.7.1 $: "550 do not try TLS 
with " $

+R$* $@ OK
 ifdef(`_ATMPF_', `dnl tempfail?
 R<$* _ATMPF_>$*$#error $@ 4.3.0 $: "451 Temporary system 
failure. Pleas
 R$*$#error $@ 5.7.1 $: "550 do not try TLS with " 
$&{server

@@ -2769,6 +2773,8 @@
 R$*$: $1 $| $>"Local_tls_server" $1
 R$* $| $#$*$#$2
 R$* $| $*  $: $1', `dnl')
+ifdef(`_TLS_FAILURES_',`dnl
+R$*$: $(macro {saved_verify} $@ $1 $) $1')
 ifdef(`_ACCESS_TABLE_', `dnl
 dnl store name of other side
 R$*$: $(macro {TLS_Name} $@ $&{server_name} $) $1

Jusqu'ici, ça fonctionnait très bien. Rien à dire. J'ai fait 
une mise à jour de mon servuer de mail (debian/testing). Cela m'a mis à

jour sendmail (8.15.2-12). J'ai appliqué à nouveau le patch et... ça
ne fonctionne plus.

J'essaye donc de creuser, mais sans succès. Je n'arrive déjà 
pas à trouver la map macro. Où se trouve-t-elle ? Et comment débugguer la

chose ?

Bien cordialement,

JKB