Greg Banks wrote:
G'day,
I've been told I should do reviews more openly. Ok, here goes.
commit "rename: ensure user owns both source and dest for Bug #3586 workaround"
Ok, but why?
commit "nntpd: use defaultdomain in conjunction with newspostuser to create Reply-To
header addresses"
Looks good
commit "nntpd: when adding newsgroup "post" addresses to Reply-To, check for
"poster""
commit "nntpd: fix handling of Followup-To:poster when using From: header"
I find the add_header() function really confusing, and hard to work
out what it's supposed to do. Is there any chance of a comment
and/or some tests?
Most of this code was already in savemsg() and pulled out into a
separate function (with some forward ported fixes from 2.4). I can
certainly add comments.
In add_header(), the variable sep could be a const char *.
This code
+ newdest = buf_release(&buf);
will leak the string, as newdest is never free()d (and indeed in some other
branches
of the logic, cannot be). A better solution would be
const char *newdest = NULL;
...
newdest = buf_cstring(&buf);
...
buf_free(&buf);
}
I thought the same thing when I looked as what was already in master
when I began my forward port:
replyto = buf_release(&buf);
if (body) {
/* replace the existing header */
spool_replace_header(xstrdup("Reply-To"), replyto,
m->hdrcache);
} else {
/* add the new header to the cache */
spool_cache_header(xstrdup("Reply-To"), replyto,
m->hdrcache);
}
} else {
/* no newspostuser, use original replyto */
replyto = (char *) body[0];
}
Was this also incorrect?
Otherwise, looks good. I'm a little surprised we didn't explicitly handle
"Followup-To: poster", it's been around since RFC1036.
I'm not sure anyone really uses that code. I wrote it when at my old
employer. It only came up again when we did the RSS stuff at CMU.
commit "nntpd: added 'newsaddheaders' option..."
The documentation doesn't describe what happens if the incoming message
already contains the To: or Reply-To: header fields. From reading the code, I
think they're passed through untouched, perhaps it would be nice to document
the intended semantics.
Otherwise, looks good.
--
Kenneth Murchison
Principal Systems Software Engineer
Carnegie Mellon University