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