I started writing a qmail version who use a new SMTP syntax to start a
QMTP conversation over a SMTP protocol:

S> 220 ready
C> HELO mail.test
S> 250 mail.test
C> PROTO QMTP

After this command, a standard smtp server returns a 5xx reply:
sendmail:> 500 Command unrecognized: "PROTO QMTP"
qmail:> 502 Unimplemented

My qmail-smtpd start a patched qmail-qmtpd (responding "421 failure"
if exec fail); qmail-qmtpd then reply

S> 220 switching to QMTP

and then start the new protocol.

I identified the sources to patch:
qmail-smtpd.c, qmail-qmtpd.c, and qmail-remote.c .

The patch for qmail-smtpd.c is trivial: a new smtpcommands[] entry, a new
procedure smtp_proto who check the argument and execute "bin/qmail-qmtpd"
(and print 421 if exec fails).

I then tried to patch qmail-qmtpd adding only an option to send the 220
reply, but qmail-qmtpd does not implement some useful features that must
be present on a public mail exchanger (i.e. no relay control ...).

May be it's a good idea, but the task is too big for me.
Someone interested?


--
Tullio Andreatta
Logicom S.r.l. (Gruppo Finmatica) http://www.logicom.it/
Sede operativa:  Via Vergnano, 2 - I-25100 Brescia ITALY

Reply via email to