From ce753300e6fdacbfbd5614cf0de30493b8919c9c Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Tue, 4 Feb 2014 14:54:34 -0500 Subject: [PATCH] skeleton nntp_group() --- citadel/modules/nntp/serv_nntp.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/citadel/modules/nntp/serv_nntp.c b/citadel/modules/nntp/serv_nntp.c index 2b094586d..094475ed4 100644 --- a/citadel/modules/nntp/serv_nntp.c +++ b/citadel/modules/nntp/serv_nntp.c @@ -551,6 +551,25 @@ void nntp_help(void) { } +/* + * Implements the GROUP command + */ +void nntp_group(const char *cmd) { + /* + * HACK: this works because the 5XX series error codes from citadel + * protocol will also be considered error codes by an NNTP client + */ + if (CtdlAccessCheck(ac_logged_in_or_guest)) return; + + char requested_group[1024]; + char requested_room[ROOMNAMELEN]; + extract_token(requested_group, cmd, 1, ' ', sizeof requested_group); + newsgroup_to_room(requested_room, requested_group, sizeof requested_room); + + cprintf("599 FIXME screw you and your %s\r\n", requested_room); +} + + /* * Main command loop for NNTP server sessions. */ @@ -601,6 +620,10 @@ void nntp_command_loop(void) nntp_list(ChrPtr(Cmd)); } + else if (!strcasecmp(cmdname, "group")) { + nntp_group(ChrPtr(Cmd)); + } + else { cprintf("500 I'm afraid I can't do that.\r\n"); } -- 2.30.2