INN commit: trunk/innd (nc.c)
INN Commit
Russ_Allbery at isc.org
Sat Aug 23 20:50:57 UTC 2008
Date: Saturday, August 23, 2008 @ 13:50:57
Author: iulius
Revision: 7957
In transit mode, return "401 MODE-READER" if a command only
available in reader mode is received. If readers are not
allowed, return "502 Permission denied".
Modified:
trunk/innd/nc.c
------+
nc.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
Modified: nc.c
===================================================================
--- nc.c 2008-08-23 19:23:24 UTC (rev 7956)
+++ nc.c 2008-08-23 20:50:57 UTC (rev 7957)
@@ -68,13 +68,17 @@
COMMAND("body", NC_reader),
COMMAND("date", NC_reader),
COMMAND("group", NC_reader),
+ COMMAND("hdr", NC_reader),
COMMAND("last", NC_reader),
COMMAND("listgroup", NC_reader),
COMMAND("newgroups", NC_reader),
COMMAND("newnews", NC_reader),
COMMAND("next", NC_reader),
+ COMMAND("over", NC_reader),
COMMAND("post", NC_reader),
+#ifdef HAVE_SSL
COMMAND("starttls", NC_reader),
+#endif
COMMAND("xgtitle", NC_reader),
COMMAND("xhdr", NC_reader),
COMMAND("xover", NC_reader),
@@ -698,8 +702,17 @@
static void
NC_reader(CHANNEL *cp)
{
+ char buff[SMBUF];
+
cp->Start = cp->Next;
- NCwritereply(cp, NNTP_ACCESS);
+ if ((innconf->noreader)
+ || (NNRPReason != NULL && !innconf->readerswhenstopped))
+ snprintf(buff, sizeof(buff), "%d Permission denied\r\n",
+ NNTP_ERR_ACCESS);
+ else
+ snprintf(buff, sizeof(buff), "%d MODE-READER",
+ NNTP_FAIL_WRONG_MODE);
+ NCwritereply(cp, buff);
}
More information about the inn-committers
mailing list