Fixes for mbfido

This commit is contained in:
Michiel Broek 2003-01-03 20:51:25 +00:00
parent e5965591bf
commit cdc8e40843
3 changed files with 10 additions and 11 deletions

View File

@ -46,6 +46,7 @@ v0.37.00 26-Dec-2002.
mbfido: mbfido:
Echomail from other zones showed the address of your own zone. Echomail from other zones showed the address of your own zone.
Added logging when other errors are found.
mbsetup: mbsetup:
Removed global flags No-IBN, IFC and ITN from the setup. Removed global flags No-IBN, IFC and ITN from the setup.

View File

@ -156,12 +156,6 @@ int postecho(faddr *p_from, faddr *f, faddr *t, char *orig, char *subj, time_t m
crc = 0xffffffff; crc = 0xffffffff;
echo_in++; echo_in++;
p = xstrcpy(ascfnode(f, 0x1f));
q = xstrcpy(ascfnode(t, 0x1f));
Syslog('m', "postecho %s to %s \"%s\"", p, q, subj);
free(q);
free(p);
/* /*
* p_from is set for tossed echomail, it is NULL for local posted echomail and gated news. * p_from is set for tossed echomail, it is NULL for local posted echomail and gated news.
*/ */
@ -227,13 +221,16 @@ int postecho(faddr *p_from, faddr *f, faddr *t, char *orig, char *subj, time_t m
if (!strncmp(buf, "\001MSGID: ", 8)) { if (!strncmp(buf, "\001MSGID: ", 8)) {
msgid = xstrcpy(buf + 8); msgid = xstrcpy(buf + 8);
/* /*
* Extra test to see if the mail comes from a pointaddress. * Extra test to see if the address is correct.
*/ */
p = strtok(buf, " \n"); p = strtok(buf, " \n");
p = strtok(NULL, " \n"); p = strtok(NULL, " \n");
if ((ta = parsefnode(p))) { if ((ta = parsefnode(p))) {
Syslog('m', "MSGID aka is %d", ascfnode(ta, 0x1f)); if ((ta->zone != f->zone) || (ta->point != f->point) || (ta->node != f->node) || (ta->net != f->net)) {
tidy_faddr(ta); p = xstrcpy(ascfnode(f, 0x1f));
Syslog('!', "ERROR: f=%s, ta=%s", p, ascfnode(ta, 0x1f));
free(p);
}
} }
} }
if (!strncmp(buf, "\001REPLY: ", 8)) if (!strncmp(buf, "\001REPLY: ", 8))

View File

@ -236,8 +236,9 @@ int importmsg(faddr *p_from, faddr *f, faddr *t, char *orig, char *subj, time_t
} /* end of checking kludges */ } /* end of checking kludges */
if (echomail) { if (echomail) {
if (!f->zone) /*
f->zone = p_from->zone; * At this point, the destination zone is not yet set.
*/
if (!t->zone) if (!t->zone)
t->zone = tzone; t->zone = tzone;
rc = postecho(p_from, f, t, orig, subj, mdate, flags, cost, fp, TRUE); rc = postecho(p_from, f, t, orig, subj, mdate, flags, cost, fp, TRUE);