Hi, On 11/02/01(15:18) you "Peter Bauer" <pnucqbdyi-mykgh42xjblw.ml@delegate.org> wrote in <_A1389@delegate-en.ML_> |I think I discovered a "Bug", or better: a protocol violation, when |using delegate as a SMTP-to-SMTP gateway. | |The outgoing SMTP data stream appends the delegate version to the |HELO command, which seems not to be valid. For example, after connect- |ing to a mail relay, SMTP-delegate greets with: | | HELO my.host.name SMTP-DeleGate/7.5.3 Adding DeleGate's version was a trial to inform the client side software to help shooting delivery trouble ... At that time I did not know a SMTP implementation which cause a troble with the extra argument in HELO command. |and receives the error | | 500 Multiple parameters to HELO not allowed | |This was checked and confirmed for the largest german internet |provider, T-online. Thank you for your helpful information. I'll remove the version information. |Making appropriate changes on src/smtp.c fixed |the problem. |Please verify that you are still with RFC1123, Section 5.2.5. |Attached to this mail find my smtp.c i used to fix the problem. To make it complete, also generated EHLO must be modified like so, as the enclosed patch does. Cheers, Yutaka -- @ @ Yutaka Sato <pfqcabdyi-mykgh42xjblw.ml@delegate.org> http://www.delegate.org/y.sato/ ( - ) National Institute of Advanced Industrial Science and Technology (AIST) _< >_ 1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan *** ../delegate7.5.4/src/smtp.c Mon Jul 9 15:44:25 2001 --- smtp.c Fri Nov 2 16:16:56 2001 *************** *** 224,232 **** getFQDN(myhost,myhost); if( auth ){ ! SMTP_putserv(log,fs,ts,resp,"EHLO %s %s\r\n",myhost,myver); }else ! SMTP_putserv(log,fs,ts,resp,"HELO %s %s\r\n",myhost,myver); if( from ){ SMTPpath(from,xfrom,sizeof(xfrom)); --- 224,232 ---- getFQDN(myhost,myhost); if( auth ){ ! SMTP_putserv(log,fs,ts,resp,"EHLO %s\r\n",myhost); }else ! SMTP_putserv(log,fs,ts,resp,"HELO %s\r\n",myhost); if( from ){ SMTPpath(from,xfrom,sizeof(xfrom)); *************** *** 488,495 **** xreq[0] = 0; if( strcasecmp(com,"HELO") == 0 ){ ! sprintf(xreq,"HELO %s SMTP-DeleGate/%s%s",arg, ! DELEGATE_ver(),CRLF); }else if( strcasecmp(com,"RCPT") == 0 ){ if( SMTP_mount_rcpt(Conn,tc,req,xreq) < 0 ) --- 488,494 ---- xreq[0] = 0; if( strcasecmp(com,"HELO") == 0 ){ ! sprintf(xreq,"HELO %s%s",arg,CRLF); }else if( strcasecmp(com,"RCPT") == 0 ){ if( SMTP_mount_rcpt(Conn,tc,req,xreq) < 0 )