}
-
//
// Convert a Citadel room name to a valid newsgroup name
//
return;
}
- // Note: the FQDN *must* appear as the first thing after the 220 code.
- // Some clients (including citmail.c) depend on it being there.
- //
+ // Display the standard greeting
cprintf("200 %s NNTP Citadel server is not finished yet\r\n", config.c_fqdn);
}
}
-
//
// implements the STARTTLS command
//
}
-
//
// Implements the AUTHINFO USER command (RFC 4643)
//
}
-
//
// Implements the AUTHINFO extension (RFC 4643) in USER/PASS mode
//
}
-
-//
-// Various output formats for the LIST commands
-//
-enum {
- NNTP_LIST_ACTIVE,
- NNTP_LIST_ACTIVE_TIMES,
- NNTP_LIST_DISTRIB_PATS,
- NNTP_LIST_HEADERS,
- NNTP_LIST_NEWSGROUPS,
- NNTP_LIST_OVERVIEW_FMT
-};
-
-
//
// Output a room name (newsgroup name) in formats required for LIST and NEWGROUPS command
//
}
-
//
// Called once per room by nntp_newgroups() to qualify and possibly output a single room
//
}
-
//
// Implements the ARTICLE, HEAD, BODY, and STAT commands.
// (These commands all accept the same parameters; they differ only in how they output the retrieved message.)
};
-
typedef struct _citnntp { // Information about the current session
long current_article_number;
} citnntp;
+
+//
+// Various output formats for the LIST commands
+//
+enum {
+ NNTP_LIST_ACTIVE,
+ NNTP_LIST_ACTIVE_TIMES,
+ NNTP_LIST_DISTRIB_PATS,
+ NNTP_LIST_HEADERS,
+ NNTP_LIST_NEWSGROUPS,
+ NNTP_LIST_OVERVIEW_FMT
+};
+
+
int wildmat(const char *text, const char *p);