diff -u orig/case_startb.c ./case_startb.c --- orig/case_startb.c 2003-09-25 01:01:48.000000000 -0400 +++ ./case_startb.c 2003-03-06 17:53:59.000000000 -0500 @@ -0,0 +1,21 @@ +#include "case.h" + +int case_startb(s,len,t) +register char *s; +unsigned int len; +register char *t; +{ + register unsigned char x; + register unsigned char y; + + for (;;) { + y = *t++ - 'A'; + if (y <= 'Z' - 'A') y += 'a'; else y += 'A'; + if (!y) return 1; + if (!len) return 0; + --len; + x = *s++ - 'A'; + if (x <= 'Z' - 'A') x += 'a'; else x += 'A'; + if (x != y) return 0; + } +} diff -u orig/qmail-smtpd.c ./qmail-smtpd.c --- orig/qmail-smtpd.c 1998-06-15 06:53:16.000000000 -0400 +++ ./qmail-smtpd.c 2004-03-25 21:53:29.000000000 -0500 @@ -64,8 +64,19 @@ void smtp_greet(code) char *code; { + int i, j; + + for (i = 0, j = 0; i < greeting.len-1; i++) { + if (greeting.s[i] == '\0') { + substdio_put(&ssout,code, str_len(code) - 1); + substdio_puts(&ssout,"-"); + substdio_put(&ssout,greeting.s+j,i-j); + substdio_puts(&ssout,"\r\n"); + j = i + 1; + } + } substdio_puts(&ssout,code); - substdio_put(&ssout,greeting.s,greeting.len); + substdio_put(&ssout,greeting.s+j,greeting.len-1-j); } void smtp_help() { @@ -103,7 +114,7 @@ unsigned long u; if (control_init() == -1) die_control(); - if (control_rldef(&greeting,"control/smtpgreeting",1,(char *) 0) != 1) + if (control_readfile(&greeting,"control/smtpgreeting",1) != 1) die_control(); liphostok = control_rldef(&liphost,"control/localiphost",1,(char *) 0); if (liphostok == -1) die_control(); .