Removed the 'master user' feature ... if we still need this we'll find another way
[citadel.git] / citadel / modules / nntp / serv_nntp.c
index a7f2aecb72ba6ace066bd161e785e01c611da390..14f75db6ce32328f38133dec8e5a044648707270 100644 (file)
@@ -1,7 +1,7 @@
 //
 // NNTP server module (RFC 3977)
 //
-// Copyright (c) 2014 by the citadel.org team
+// Copyright (c) 2014-2018 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.
@@ -200,7 +200,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 +238,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");
@@ -278,13 +278,13 @@ void nntp_cleanup(void)
 //
 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 +686,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 +771,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;
        }
 
@@ -976,7 +977,7 @@ void nntp_xover_backend(long msgnum, void *userdata) {
        if (msgnum < lr->lo) return;
        if ((lr->hi != 0) && (msgnum > lr->hi)) return;
 
-       struct CtdlMessage *msg = CtdlFetchMessage(msgnum, 0);
+       struct CtdlMessage *msg = CtdlFetchMessage(msgnum, 0, 1);
        if (msg == NULL) {
                return;
        }
@@ -1171,12 +1172,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,12 +1186,12 @@ 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);