QMAIL a mail from <>
Ondrej Sury
sury.ondrej na globe.cz
Středa Listopad 20 14:33:09 CET 2002
Radim Roženek <rozenek na vos.cz> writes:
> Bohuzel jsem tento mailserver neinstaloval ja, ale muj predchudce, ktery byl
> odejden. Krome patche na overovani pres MySQL by nemel byt Q nijak
> patchovan, ale zpetne to tezko zjistim...
>
> Nemate nekdo potuchu v cem by mohl byt problem?
> Co muze toto zpusobit krome badmailfrom a relayingovych pravidel?
Toto vidim na chybu nekde v tom patchi... neco vam ukazu:
void err_wantmail() { out("503 MAIL first (#5.5.1)\r\n"); }
toto se pousti pri zadani MAIL FROM:
(povsimnete si seenmail = 1)
void smtp_mail(arg) char *arg;
{
if (!addrparse(arg)) { err_syntax(); return; }
flagbarf = bmfcheck();
seenmail = 1;
if (!stralloc_copys(&rcptto,"")) die_nomem();
if (!stralloc_copys(&mailfrom,addr.s)) die_nomem();
if (!stralloc_0(&mailfrom)) die_nomem();
out("250 ok\r\n");
}
toto se pousti pri RCPT TO:
void smtp_rcpt(arg) char *arg; {
if (!seenmail) { err_wantmail(); return; }
if (!addrparse(arg)) { err_syntax(); return; }
if (flagbarf) { err_bmf(); return; }
if (relayclient) {
--addr.len;
if (!stralloc_cats(&addr,relayclient)) die_nomem();
if (!stralloc_0(&addr)) die_nomem();
}
else
if (!addrallowed()) { err_nogateway(); return; }
if (!stralloc_cats(&rcptto,"T")) die_nomem();
if (!stralloc_cats(&rcptto,addr.s)) die_nomem();
if (!stralloc_0(&rcptto)) die_nomem();
out("250 ok\r\n");
}
toto se pousti pri DATA
void smtp_data() {
int hops;
unsigned long qp;
char *qqx;
if (!seenmail) { err_wantmail(); return; }
if (!rcptto.len) { err_wantrcpt(); return; }
seenmail = 0;
[...]
}
Takze pokud mate zdrojaky toho opeceneho qmailu, tak zkuste zkontrolovat,
jestli nekde v smtp_mail() nebo smtp_rcpt() a funkcich jimi volanych se
nenastavuje seenmail na 0.
O.
--
Ondrej Sury - CIO Globe Internet s.r.o. http://globe.cz/
Tel: +420(2)35365000 Fax: +420(2)35365009 Planickova 1, 162 00 Praha 6
Další informace o konferenci Sendmail