X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fnntp%2Fserv_nntp.c;h=c629fcc41856a0a839bbec8713666df7afb95dee;hb=fa2dd842abb5feedea3e2253255722fcaecc3c6f;hp=b5b91db791b8d02a1bb98212088a60005266633d;hpb=489820aa544023dba04463b8474a22ff78ced029;p=citadel.git diff --git a/citadel/modules/nntp/serv_nntp.c b/citadel/modules/nntp/serv_nntp.c index b5b91db79..c629fcc41 100644 --- a/citadel/modules/nntp/serv_nntp.c +++ b/citadel/modules/nntp/serv_nntp.c @@ -1,7 +1,7 @@ // // NNTP server module (RFC 3977) // -// Copyright (c) 2014 by the citadel.org team +// Copyright (c) 2014-2020 by the citadel.org team // // This program is open source software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 3. @@ -23,18 +23,7 @@ #include #include #include - -#if TIME_WITH_SYS_TIME -# include -# include -#else -# if HAVE_SYS_TIME_H -# include -# else -# include -# endif -#endif - +#include #include #include #include @@ -64,9 +53,6 @@ extern long timezone; -// ***************** BEGIN UTILITY FUNCTIONS THAT COULD BE MOVED ELSEWHERE LATER ************** - - // // Tests whether the supplied string is a valid newsgroup name // Returns true (nonzero) or false (0) @@ -177,15 +163,10 @@ void newsgroup_to_room(char *target, char *source, size_t target_size) { } -// ***************** END UTILITY FUNCTIONS THAT COULD BE MOVED ELSEWHERE LATER ************** - - - // // Here's where our NNTP session begins its happy day. // -void nntp_greeting(void) -{ +void nntp_greeting(void) { strcpy(CC->cs_clientname, "NNTP session"); CC->cs_flags |= CS_STEALTH; @@ -200,7 +181,7 @@ void nntp_greeting(void) } // Display the standard greeting - cprintf("200 %s NNTP Citadel server is not finished yet\r\n", config.c_fqdn); + cprintf("200 %s NNTP Citadel server is not finished yet\r\n", CtdlGetConfigStr("c_fqdn")); } @@ -219,8 +200,7 @@ void nntps_greeting(void) { // // implements the STARTTLS command // -void nntp_starttls(void) -{ +void nntp_starttls(void) { char ok_response[SIZ]; char nosup_response[SIZ]; char error_response[SIZ]; @@ -235,10 +215,9 @@ void nntp_starttls(void) // // Implements the CAPABILITY command // -void nntp_capabilities(void) -{ +void nntp_capabilities(void) { cprintf("101 Capability list:\r\n"); - cprintf("IMPLEMENTATION Citadel v%d.%02d\r\n", (REV_LEVEL/100), (REV_LEVEL%100)); + cprintf("IMPLEMENTATION Citadel %d\r\n", REV_LEVEL); cprintf("VERSION 2\r\n"); cprintf("READER\r\n"); cprintf("MODE-READER\r\n"); @@ -257,34 +236,23 @@ void nntp_capabilities(void) // // Implements the QUIT command // -void nntp_quit(void) -{ +void nntp_quit(void) { cprintf("221 Goodbye...\r\n"); CC->kill_me = KILLME_CLIENT_LOGGED_OUT; } -// -// Cleanup hook for this module -// -void nntp_cleanup(void) -{ - /* nothing here yet */ -} - - // // Implements the AUTHINFO USER command (RFC 4643) // -void nntp_authinfo_user(const char *username) -{ - int a = CtdlLoginExistingUser(NULL, username); +void nntp_authinfo_user(const char *username) { + int a = CtdlLoginExistingUser(username); switch (a) { case login_already_logged_in: cprintf("482 Already logged in\r\n"); return; case login_too_many_users: - cprintf("481 Too many users are already online (maximum is %d)\r\n", config.c_maxsessions); + cprintf("481 Too many users are already online (maximum is %d)\r\n", CtdlGetConfigInt("c_maxsessions")); return; case login_ok: cprintf("381 Password required for %s\r\n", CC->curr_user); @@ -301,8 +269,7 @@ void nntp_authinfo_user(const char *username) // // Implements the AUTHINFO PASS command (RFC 4643) // -void nntp_authinfo_pass(const char *buf) -{ +void nntp_authinfo_pass(const char *buf) { int a; a = CtdlTryPassword(buf, strlen(buf)); @@ -408,8 +375,7 @@ void output_roomname_in_list_format(struct ctdlroom *qrbuf, int which_format, ch // // Called once per room by nntp_newgroups() to qualify and possibly output a single room // -void nntp_newgroups_backend(struct ctdlroom *qrbuf, void *data) -{ +void nntp_newgroups_backend(struct ctdlroom *qrbuf, void *data) { int ra; int view; time_t thetime = *(time_t *)data; @@ -476,8 +442,7 @@ void nntp_newgroups(const char *cmd) { // // Called once per room by nntp_list() to qualify and possibly output a single room // -void nntp_list_backend(struct ctdlroom *qrbuf, void *data) -{ +void nntp_list_backend(struct ctdlroom *qrbuf, void *data) { int ra; int view; struct nntp_list_data *nld = (struct nntp_list_data *)data; @@ -840,7 +805,6 @@ void nntp_article(const char *cmd) { // The memory for the returned string is pwnz0red by the caller. // char *message_id_from_msgnum(long msgnum) { - char *fetched_message_id = NULL; CC->redirect_buffer = NewStrBufPlain(NULL, SIZ); CtdlOutputMsg(msgnum, @@ -1054,8 +1018,7 @@ void nntp_xover(const char *cmd) { // // Main command loop for NNTP server sessions. // -void nntp_command_loop(void) -{ +void nntp_command_loop(void) { StrBuf *Cmd = NewStrBuf(); char cmdname[16]; @@ -1158,8 +1121,7 @@ void nntp_command_loop(void) // This cleanup function blows away the temporary memory used by // the NNTP server. // -void nntp_cleanup_function(void) -{ +void nntp_cleanup_function(void) { /* Don't do this stuff if this is not an NNTP session! */ if (CC->h_command_function != nntp_command_loop) return; @@ -1178,7 +1140,7 @@ CTDL_MODULE_INIT(nntp) { if (!threading) { - CtdlRegisterServiceHook(config.c_nntp_port, + CtdlRegisterServiceHook(CtdlGetConfigInt("c_nntp_port"), NULL, nntp_greeting, nntp_command_loop, @@ -1186,7 +1148,7 @@ CTDL_MODULE_INIT(nntp) CitadelServiceNNTP); #ifdef HAVE_OPENSSL - CtdlRegisterServiceHook(config.c_nntps_port, + CtdlRegisterServiceHook(CtdlGetConfigInt("c_nntps_port"), NULL, nntps_greeting, nntp_command_loop, @@ -1194,7 +1156,6 @@ CTDL_MODULE_INIT(nntp) CitadelServiceNNTPS); #endif - CtdlRegisterCleanupHook(nntp_cleanup); CtdlRegisterSessionHook(nntp_cleanup_function, EVT_STOP, PRIO_STOP + 250); }