X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fnntp%2Fserv_nntp.c;h=20fc17e84e939567bc994ca063ae84d8209a6738;hb=7a9b0685e406cc83597171cc39d008c7e5459ca8;hp=a7f2aecb72ba6ace066bd161e785e01c611da390;hpb=dfbffd165c0acd70375e1dee0c5ac79c911ed694;p=citadel.git diff --git a/citadel/modules/nntp/serv_nntp.c b/citadel/modules/nntp/serv_nntp.c index a7f2aecb7..20fc17e84 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,10 +163,6 @@ 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. // @@ -200,7 +182,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")); } @@ -238,7 +220,7 @@ void nntp_starttls(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"); @@ -264,27 +246,18 @@ void nntp_quit(void) } -// -// 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); + 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); @@ -686,7 +659,8 @@ void nntp_mode(const char *cmd) { extract_token(which_mode, cmd, 1, ' ', sizeof which_mode); if (!strcasecmp(which_mode, "reader")) { - cprintf("201 Reader mode FIXME implement posting and change to 200\r\n"); + // FIXME implement posting and change to 200 + cprintf("201 Reader mode activated\r\n"); } else { cprintf("501 unknown mode\r\n"); @@ -770,7 +744,7 @@ void nntp_article(const char *cmd) { // We don't know how to do that yet. else if ( (lb != NULL) && (rb != NULL) && (lb < rb) ) { must_change_currently_selected_article = 0; - cprintf("500 FIXME I don't know how to fetch by message-id yet.\r\n"); + cprintf("500 I don't know how to fetch by message-id yet.\r\n"); // FIXME return; } @@ -1171,12 +1145,13 @@ void nntp_cleanup_function(void) } const char *CitadelServiceNNTP="NNTP"; +const char *CitadelServiceNNTPS="NNTPS"; CTDL_MODULE_INIT(nntp) { if (!threading) { - CtdlRegisterServiceHook(119, // FIXME config.c_nntp_port, + CtdlRegisterServiceHook(CtdlGetConfigInt("c_nntp_port"), NULL, nntp_greeting, nntp_command_loop, @@ -1184,15 +1159,14 @@ CTDL_MODULE_INIT(nntp) CitadelServiceNNTP); #ifdef HAVE_OPENSSL - CtdlRegisterServiceHook(563, // FIXME config.c_nntps_port, + CtdlRegisterServiceHook(CtdlGetConfigInt("c_nntps_port"), NULL, nntps_greeting, nntp_command_loop, NULL, - CitadelServiceNNTP); + CitadelServiceNNTPS); #endif - CtdlRegisterCleanupHook(nntp_cleanup); CtdlRegisterSessionHook(nntp_cleanup_function, EVT_STOP, PRIO_STOP + 250); }