int internal_pgm; /* authenticated as internal program */
char temp[32]; /* temp file name */
int nologin; /* not allowed to log in */
+ int is_local_socket; /* set to 1 if client is on unix domain sock */
char net_node[32]; /* Is the client another Citadel server? */
int client_socket;
char dl_is_net;
char upload_type;
+ /* Redirect this session's output to somewhere else? */
+ FILE *redirect_fp;
+ int redirect_sock;
+
+ /* A linked list of all express messages sent to us. */
struct ExpressMessage *FirstExpressMessage;
+ /* Masquerade... */
char fake_username[32]; /* Fake username <bc> */
char fake_postname[32]; /* Fake postname <bc> */
char fake_hostname[25]; /* Name of the fake hostname <bc> */
char fake_roomname[ROOMNAMELEN]; /* Name of the fake room <bc> */
- int FloorBeingSearched; /* This is used by cmd_lrms() etc. */
-
- struct CtdlSessData *FirstSessData; /* Allocated session data */
- char buffer1[256]; /* General-purpose workspace */
- char buffer2[256]; /* General-purpose workspace */
+ /* Dynamically allocated session data */
+ struct CtdlSessData *FirstSessData;
};
typedef struct CitContext t_context;
S_NETDB,
S_SUPPMSGMAIN,
S_I_WANNA_SELECT,
+ S_CONFIG,
MAX_SEMAPHORES
};
#define EVT_RWHO 7 /* An RWHO command is being executed */
-
-
+#define EVT_TIMER 50 /* Timer events are called once per minute
+ and are not tied to any session */
/*
* UserFunctionHook extensions are used for any type of hook which implements
struct ServiceFunctionHook {
struct ServiceFunctionHook *next;
int tcp_port;
+ char *sockpath;
void (*h_greeting_function) (void) ;
void (*h_command_function) (void) ;
int msock;
/* Preferred field order */
-/* ********* Important fields */
-/* **************** Semi-important fields */
+/* ********** Important fields */
+/* *************** Semi-important fields */
/* * Message text (MUST be last) */
-#define FORDER "IPTAONHRDBCEFGJKLQSUVWXYZM"
+#define FORDER "IPTAFONHRDBCEGJKLQSUVWXYZM"