citadel
About: Citadel is an advanced messaging and collaboration system for groupware and BBS applications (preferred OS: Linux).
  Fossies Dox: citadel.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

Loading...
Searching...
No Matches
serv_nntp.c File Reference
#include "../../sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <termios.h>
#include <fcntl.h>
#include <signal.h>
#include <pwd.h>
#include <errno.h>
#include <sys/types.h>
#include <syslog.h>
#include <time.h>
#include <sys/wait.h>
#include <ctype.h>
#include <string.h>
#include <limits.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <libcitadel.h>
#include "../../citadel.h"
#include "../../server.h"
#include "../../citserver.h"
#include "../../support.h"
#include "../../config.h"
#include "../../control.h"
#include "../../user_ops.h"
#include "../../room_ops.h"
#include "../../database.h"
#include "../../msgbase.h"
#include "../../internet_addressing.h"
#include "../../genstamp.h"
#include "../../domain.h"
#include "../../clientsocket.h"
#include "../../locate_host.h"
#include "../../citadel_dirs.h"
#include "../../ctdl_module.h"
#include "serv_nntp.h"
Include dependency graph for serv_nntp.c:

Go to the source code of this file.

Functions

int is_valid_newsgroup_name (char *name)
 
void room_to_newsgroup (char *target, char *source, size_t target_size)
 
void newsgroup_to_room (char *target, char *source, size_t target_size)
 
void nntp_greeting (void)
 
void nntps_greeting (void)
 
void nntp_starttls (void)
 
void nntp_capabilities (void)
 
void nntp_quit (void)
 
void nntp_authinfo_user (const char *username)
 
void nntp_authinfo_pass (const char *buf)
 
void nntp_authinfo (const char *cmd)
 
struct nntp_msglist nntp_fetch_msglist (struct ctdlroom *qrbuf)
 
void output_roomname_in_list_format (struct ctdlroom *qrbuf, int which_format, char *wildmat_pattern)
 
void nntp_newgroups_backend (struct ctdlroom *qrbuf, void *data)
 
void nntp_newgroups (const char *cmd)
 
void nntp_list_backend (struct ctdlroom *qrbuf, void *data)
 
void nntp_list (const char *cmd)
 
void nntp_help (void)
 
void nntp_date (void)
 
void nntp_listgroup_backend (long msgnum, void *userdata)
 
void nntp_group (const char *cmd)
 
void nntp_mode (const char *cmd)
 
void nntp_article (const char *cmd)
 
char * message_id_from_msgnum (long msgnum)
 
void nntp_last_next (const char *cmd)
 
void nntp_xover_backend (long msgnum, void *userdata)
 
void nntp_xover (const char *cmd)
 
void nntp_command_loop (void)
 
void nntp_cleanup_function (void)
 
char * ctdl_module_init_nntp (void)
 

Variables

long timezone
 
const char * CitadelServiceNNTP ="NNTP"
 
const char * CitadelServiceNNTPS ="NNTPS"
 

Function Documentation

◆ ctdl_module_init_nntp()

◆ is_valid_newsgroup_name()

int is_valid_newsgroup_name ( char *  name)

Definition at line 62 of file serv_nntp.c.

Referenced by room_to_newsgroup().

◆ message_id_from_msgnum()

char * message_id_from_msgnum ( long  msgnum)

Definition at line 813 of file serv_nntp.c.

References CC, CtdlOutputMsg(), HEADERS_FAST, MT_RFC822, and SIZ.

◆ newsgroup_to_room()

void newsgroup_to_room ( char *  target,
char *  source,
size_t  target_size 
)

Definition at line 136 of file serv_nntp.c.

Referenced by nntp_group().

◆ nntp_article()

void nntp_article ( const char *  cmd)

Definition at line 673 of file serv_nntp.c.

References ac_logged_in_or_guest, CC, and CtdlAccessCheck().

Referenced by nntp_command_loop().

◆ nntp_authinfo()

void nntp_authinfo ( const char *  cmd)

Definition at line 299 of file serv_nntp.c.

References cprintf(), nntp_authinfo_pass(), and nntp_authinfo_user().

Referenced by nntp_command_loop().

◆ nntp_authinfo_pass()

void nntp_authinfo_pass ( const char *  buf)

◆ nntp_authinfo_user()

void nntp_authinfo_user ( const char *  username)

◆ nntp_capabilities()

void nntp_capabilities ( void  )

Definition at line 220 of file serv_nntp.c.

References CC, cprintf(), and REV_LEVEL.

Referenced by nntp_command_loop().

◆ nntp_cleanup_function()

void nntp_cleanup_function ( void  )

Definition at line 1130 of file serv_nntp.c.

References CC, free(), and nntp_command_loop().

Referenced by ctdl_module_init_nntp().

◆ nntp_command_loop()

◆ nntp_date()

void nntp_date ( void  )

Definition at line 533 of file serv_nntp.c.

References cprintf().

Referenced by nntp_command_loop().

◆ nntp_fetch_msglist()

struct nntp_msglist nntp_fetch_msglist ( struct ctdlroom qrbuf)

◆ nntp_greeting()

void nntp_greeting ( void  )

◆ nntp_group()

◆ nntp_help()

void nntp_help ( void  )

Definition at line 523 of file serv_nntp.c.

References cprintf().

Referenced by nntp_command_loop().

◆ nntp_last_next()

void nntp_last_next ( const char *  cmd)

Definition at line 838 of file serv_nntp.c.

References ac_logged_in_or_guest, CC, and CtdlAccessCheck().

Referenced by nntp_command_loop().

◆ nntp_list()

◆ nntp_list_backend()

void nntp_list_backend ( struct ctdlroom qrbuf,
void *  data 
)

◆ nntp_listgroup_backend()

void nntp_listgroup_backend ( long  msgnum,
void *  userdata 
)

Definition at line 552 of file serv_nntp.c.

References cprintf(), listgroup_range::hi, and listgroup_range::lo.

Referenced by nntp_group().

◆ nntp_mode()

void nntp_mode ( const char *  cmd)

Definition at line 653 of file serv_nntp.c.

References cprintf().

Referenced by nntp_command_loop().

◆ nntp_newgroups()

void nntp_newgroups ( const char *  cmd)

◆ nntp_newgroups_backend()

void nntp_newgroups_backend ( struct ctdlroom qrbuf,
void *  data 
)

◆ nntp_quit()

void nntp_quit ( void  )

Definition at line 241 of file serv_nntp.c.

References CC, cprintf(), and KILLME_CLIENT_LOGGED_OUT.

Referenced by nntp_command_loop().

◆ nntp_starttls()

void nntp_starttls ( void  )

Definition at line 205 of file serv_nntp.c.

References CtdlModuleStartCryptoMsgs(), and SIZ.

Referenced by nntp_command_loop().

◆ nntp_xover()

◆ nntp_xover_backend()

void nntp_xover_backend ( long  msgnum,
void *  userdata 
)

◆ nntps_greeting()

void nntps_greeting ( void  )

Definition at line 193 of file serv_nntp.c.

References CC, CtdlModuleStartCryptoMsgs(), KILLME_NO_CRYPTO, and nntp_greeting().

Referenced by ctdl_module_init_nntp().

◆ output_roomname_in_list_format()

void output_roomname_in_list_format ( struct ctdlroom qrbuf,
int  which_format,
char *  wildmat_pattern 
)

◆ room_to_newsgroup()

void room_to_newsgroup ( char *  target,
char *  source,
size_t  target_size 
)

Definition at line 98 of file serv_nntp.c.

References is_valid_newsgroup_name().

Referenced by nntp_group(), and output_roomname_in_list_format().

Variable Documentation

◆ CitadelServiceNNTP

const char* CitadelServiceNNTP ="NNTP"

Definition at line 1142 of file serv_nntp.c.

Referenced by ctdl_module_init_nntp().

◆ CitadelServiceNNTPS

const char* CitadelServiceNNTPS ="NNTPS"

Definition at line 1143 of file serv_nntp.c.

Referenced by ctdl_module_init_nntp().

◆ timezone

long timezone
extern