diff options
Diffstat (limited to 'qmail-smtpd.c')
-rw-r--r-- | qmail-smtpd.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/qmail-smtpd.c b/qmail-smtpd.c index b545760..4a35fa1 100644 --- a/qmail-smtpd.c +++ b/qmail-smtpd.c @@ -310,11 +310,22 @@ void smtp_ehlo(arg) char *arg; struct stat st; #endif smtp_greet("250-"); + out("\r\n"); #ifdef TLS - if (!ssl && (stat("control/servercert.pem",&st) == 0)) - out("\r\n250-STARTTLS"); + if (!ssl && (stat("control/servercert.pem", &st) == 0)) + out("250-STARTTLS\r\n"); +#endif + if (hostname && childargs) { +#ifdef AUTHCRAM + out("250-AUTH LOGIN CRAM-MD5 PLAIN\r\n"); + out("250-AUTH=LOGIN CRAM-MD5 PLAIN\r\n"); +#else + out("250-AUTH LOGIN PLAIN\r\n"); + out("250-AUTH=LOGIN PLAIN\r\n"); #endif - out("\r\n250-PIPELINING\r\n250 8BITMIME\r\n"); + } + out("250-PIPELINING\r\n"); + out("250 8BITMIME\r\n"); /* last one has a space, not a dash */ seenmail = 0; dohelo(arg); } void smtp_rset(arg) char *arg; @@ -473,7 +484,7 @@ void smtp_data(arg) char *arg; { if (qmail_open(&qqt) == -1) { err_qqt(); return; } qp = qmail_qp(&qqt); out("354 go ahead\r\n"); - + received(&qqt,protocol,local,remoteip,remotehost,remoteinfo,fakehelo); blast(&hops); hops = (hops >= MAXHOPS); |