Hi there!

I got the following problem:
There are some big exim-servers, which do not take mails from my
ezmlm-idx mailinglists.

It took me a while, but i figured it out:
There is character used in the AUTH-tag, which causes exim to refuse
the mail: '='.


Details:
- ezmlm-idx/qmail-ldap produce something like this:
  "MAIL FROM: <[EMAIL PROTECTED]> SIZE=123 AUTH=<[EMAIL PROTECTED]>"
- You will get this mail back:
  "Remote host said: 501 <[EMAIL PROTECTED]> SIZE=123 AUTH=<[EMAIL PROTECTED]>: 
malformed address: SIZE=123 AUTH=<list-return-1- may not follow <[EMAIL PROTECTED]>"


Reproduce:
If want to check it, than you should know the following:
exim checks the AUTH-tag only if he has offered AUTH. So you have to
do a "starttls" first. But you can do a "starttls" only, if he has
already offered it. ;)
So, that's why you have to patch openssl... :-/

Search for s_client and do something like this:
--- s_client.c.orig     2004-07-13 12:46:10.226183456 +0200
+++ s_client.c  2004-07-12 18:06:13.372657944 +0200
@@ -588,6 +588,8 @@
        if (starttls_proto == 1)
                {
                BIO_read(sbio,mbuf,BUFSIZZ);
+               BIO_printf(sbio,"EHLO gwdg.de\r\n");
+               BIO_read(sbio,mbuf,BUFSIZZ);
                BIO_printf(sbio,"STARTTLS\r\n");
                BIO_read(sbio,sbuf,BUFSIZZ);
                }
Now, you can mess around with mailer.gwdg.de. :-)

./openssl s_client -starttls smtp -connect mailer.gwdg.de:25
[...]
EHLO gwdg.de
[...]
MAIL FROM: <[EMAIL PROTECTED]> SIZE=123 AUTH=<[EMAIL PROTECTED]>


RFC2554:
'=' is not allowed. There is an example, which looks like this:
MAIL FROM:<[EMAIL PROTECTED]> [EMAIL PROTECTED]
The '=' gets converted to +3D (hex).


Solution:
Donnow, since qmail-remote.c uses the sender for the AUTH-field it's
probably its duty to convert the stuff?!
But this is up to you. :-P


Bis denne,
        Aiko
-- 
354 go ahead punk, make my day
  --qmail

Attachment: pgpDKcmm2inS5.pgp
Description: PGP signature

Reply via email to