From 020d5916106d51d5e08b15e4103aa7027bb4230c Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Tue, 15 Jul 2003 14:54:09 +0000 Subject: [PATCH] * Killed off CtdlGetDynamicSymbol() and just put all the symbols in server.h --- citadel/ChangeLog | 4 +++- citadel/citserver.c | 10 ---------- citadel/citserver.h | 1 - citadel/serv_calendar.c | 4 ---- citadel/serv_calendar.h | 2 -- citadel/serv_imap.c | 3 --- citadel/serv_imap.h | 2 -- citadel/serv_network.c | 9 +-------- citadel/serv_pop3.c | 3 --- citadel/serv_smtp.c | 5 ----- citadel/serv_vcard.c | 2 -- citadel/server.h | 20 ++++++++++++++------ citadel/server_main.c | 2 +- 13 files changed, 19 insertions(+), 48 deletions(-) diff --git a/citadel/ChangeLog b/citadel/ChangeLog index 5cfb57025..2dbd29db2 100644 --- a/citadel/ChangeLog +++ b/citadel/ChangeLog @@ -1,4 +1,7 @@ $Log$ + Revision 608.1 2003/07/15 14:54:09 ajc + * Killed off CtdlGetDynamicSymbol() and just put all the symbols in server.h + Revision 608.0 2003/07/15 04:12:52 ajc * THIS IS 6.08 @@ -4868,4 +4871,3 @@ Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant Fri Jul 10 1998 Art Cancro * Initial CVS import - diff --git a/citadel/citserver.c b/citadel/citserver.c index b2c364198..0fb7e7a28 100644 --- a/citadel/citserver.c +++ b/citadel/citserver.c @@ -249,16 +249,6 @@ void RemoveContext (struct CitContext *con) -/* - * Get a dynamic symbol number for per-session user data. - * This API call should be made only ONCE per symbol per citserver run. - */ -int CtdlGetDynamicSymbol() -{ - static unsigned int next_symbol = SYM_MAX; - return ++next_symbol; -} - /* diff --git a/citadel/citserver.h b/citadel/citserver.h index 45c80754a..9c817087c 100644 --- a/citadel/citserver.h +++ b/citadel/citserver.h @@ -33,7 +33,6 @@ void deallocate_user_data(struct CitContext *con); void *CtdlGetUserData(unsigned long requested_sym); void CtdlAllocUserData(unsigned long requested_sym, size_t num_bytes); void CtdlReallocUserData(unsigned long requested_sym, size_t num_bytes); -int CtdlGetDynamicSymbol(void); void do_command_loop(void); void begin_session(struct CitContext *con); void citproto_begin_session(void); diff --git a/citadel/serv_calendar.c b/citadel/serv_calendar.c index 849eacb70..a92138ec8 100644 --- a/citadel/serv_calendar.c +++ b/citadel/serv_calendar.c @@ -42,9 +42,6 @@ struct ical_respond_data { icalcomponent *cal; }; -/* Session-local data for calendaring. */ -long SYM_CIT_ICAL; - /* * Utility function to create a new VCALENDAR component with some of the @@ -1745,7 +1742,6 @@ void ical_session_startup(void) { char *serv_calendar_init(void) { #ifdef CITADEL_WITH_CALENDAR_SERVICE - SYM_CIT_ICAL = CtdlGetDynamicSymbol(); CtdlRegisterMessageHook(ical_obj_beforesave, EVT_BEFORESAVE); CtdlRegisterMessageHook(ical_obj_aftersave, EVT_AFTERSAVE); CtdlRegisterSessionHook(ical_create_room, EVT_LOGIN); diff --git a/citadel/serv_calendar.h b/citadel/serv_calendar.h index 1ad136c08..f82bba58f 100644 --- a/citadel/serv_calendar.h +++ b/citadel/serv_calendar.h @@ -5,8 +5,6 @@ * */ -extern long SYM_CIT_ICAL; - struct cit_ical { int avoid_sending_invitations; }; diff --git a/citadel/serv_imap.c b/citadel/serv_imap.c index 07c289219..43f56f978 100644 --- a/citadel/serv_imap.c +++ b/citadel/serv_imap.c @@ -85,8 +85,6 @@ struct irlparms { struct irl **irl; }; -long SYM_IMAP; - /* * If there is a message ID map in memory, free it @@ -1345,7 +1343,6 @@ void imap_command_loop(void) { */ char *serv_imap_init(void) { - SYM_IMAP = CtdlGetDynamicSymbol(); CtdlRegisterServiceHook(config.c_imap_port, NULL, imap_greeting, diff --git a/citadel/serv_imap.h b/citadel/serv_imap.h index 8f37c1b4e..b5a536129 100644 --- a/citadel/serv_imap.h +++ b/citadel/serv_imap.h @@ -1,8 +1,6 @@ /* $Id$ */ -extern long SYM_IMAP; - void imap_cleanup_function(void); void imap_greeting(void); diff --git a/citadel/serv_network.c b/citadel/serv_network.c index a60e73cf5..3088de2de 100644 --- a/citadel/serv_network.c +++ b/citadel/serv_network.c @@ -693,7 +693,6 @@ void network_spoolout_room(char *room_to_spool) { int skipthisline = 0; int i; - lprintf(7, "Spooling <%s>\n", room_to_spool); if (getroom(&CC->room, room_to_spool) != 0) { lprintf(1, "ERROR: cannot load <%s>\n", room_to_spool); return; @@ -707,14 +706,11 @@ void network_spoolout_room(char *room_to_spool) { fp = fopen(filename, "r"); if (fp == NULL) { - lprintf(7, "Outbound batch processing skipped for <%s>\n", - CC->room.QRname); end_critical_section(S_NETCONFIGS); return; } - lprintf(5, "Outbound batch processing started for <%s>\n", - CC->room.QRname); + lprintf(5, "Networking started for <%s>\n", CC->room.QRname); while (fgets(buf, sizeof buf, fp) != NULL) { buf[strlen(buf)-1] = 0; @@ -843,9 +839,6 @@ void network_spoolout_room(char *room_to_spool) { fclose(fp); } end_critical_section(S_NETCONFIGS); - - lprintf(5, "Outbound batch processing finished for <%s>\n", - CC->room.QRname); } diff --git a/citadel/serv_pop3.c b/citadel/serv_pop3.c index 26851523b..e0adfa0a4 100644 --- a/citadel/serv_pop3.c +++ b/citadel/serv_pop3.c @@ -59,8 +59,6 @@ #include "serv_pop3.h" #include "md5.h" -long SYM_POP3; - /* * This cleanup function blows away the temporary memory and files used by @@ -618,7 +616,6 @@ void pop3_command_loop(void) { char *serv_pop3_init(void) { - SYM_POP3 = CtdlGetDynamicSymbol(); CtdlRegisterServiceHook(config.c_pop3_port, NULL, pop3_greeting, diff --git a/citadel/serv_smtp.c b/citadel/serv_smtp.c index 28a2ec015..8ea505e3d 100644 --- a/citadel/serv_smtp.c +++ b/citadel/serv_smtp.c @@ -88,9 +88,6 @@ enum { /* Delivery modes */ #define SMTP_RECPS ((char *)CtdlGetUserData(SYM_SMTP_RECPS)) #define SMTP_ROOMS ((char *)CtdlGetUserData(SYM_SMTP_ROOMS)) -long SYM_SMTP; -long SYM_SMTP_RECPS; -long SYM_SMTP_ROOMS; int run_queue_now = 0; /* Set to 1 to ignore SMTP send retry times */ @@ -1433,8 +1430,6 @@ void smtp_init_spoolout(void) { char *serv_smtp_init(void) { - SYM_SMTP = CtdlGetDynamicSymbol(); - CtdlRegisterServiceHook(config.c_smtp_port, /* On the net... */ NULL, smtp_greeting, diff --git a/citadel/serv_vcard.c b/citadel/serv_vcard.c index b3bb09b1e..08d128016 100644 --- a/citadel/serv_vcard.c +++ b/citadel/serv_vcard.c @@ -69,7 +69,6 @@ struct vcard_internal_info { }; /* Message number symbol used internally by these functions */ -unsigned long SYM_VCARD; #define VC ((struct vcard_internal_info *)CtdlGetUserData(SYM_VCARD)) @@ -784,7 +783,6 @@ void vcard_session_login_hook(void) { char *serv_vcard_init(void) { - SYM_VCARD = CtdlGetDynamicSymbol(); CtdlRegisterSessionHook(vcard_session_startup_hook, EVT_START); CtdlRegisterSessionHook(vcard_session_login_hook, EVT_LOGIN); CtdlRegisterMessageHook(vcard_upload_beforesave, EVT_BEFORESAVE); diff --git a/citadel/server.h b/citadel/server.h index cd2502e9d..e8cebf98d 100644 --- a/citadel/server.h +++ b/citadel/server.h @@ -5,9 +5,6 @@ */ /* #define DEBUG_MEMORY_LEAKS */ -/* - * New format for a message in memory - */ #ifndef SERVER_H #define SERVER_H @@ -23,15 +20,18 @@ #include #endif -#define CTDLMESSAGE_MAGIC 0x159d +/* + * New format for a message in memory + */ struct CtdlMessage { - int cm_magic; /* Self-check */ + int cm_magic; /* Self-check (NOT SAVED TO DISK) */ char cm_anon_type; /* Anonymous or author-visible */ char cm_format_type; /* Format type */ char *cm_fields[256]; /* Data fields */ unsigned int cm_flags; /* How to handle (NOT SAVED TO DISK) */ }; +#define CTDLMESSAGE_MAGIC 0x159d #define CM_SKIP_HOOKS 0x01 /* Don't run server-side handlers */ @@ -45,12 +45,20 @@ struct CtdlSessData { }; /* - * Static user data symbol types + * Static user data symbol types. Server extensions can ask for dynamic + * extensions to per-session data, but the symbol ID has to be listed here. */ enum { SYM_DESIRED_SECTION, /* Used by the MIME parser */ SYM_MA_INFO, /* Handles multipart/alternative */ SYM_REPL, /* Used for replication checking */ + SYM_CIT_ICAL, /* Used by the calendar service */ + SYM_IMAP, /* Used by the IMAP service */ + SYM_POP3, /* Used by the POP3 service */ + SYM_SMTP, /* Used by the SMTP service */ + SYM_SMTP_RECPS, + SYM_SMTP_ROOMS, + SYM_VCARD, /* vCard handling requires this */ SYM_MAX }; diff --git a/citadel/server_main.c b/citadel/server_main.c index 4e574bb64..014c68b4a 100644 --- a/citadel/server_main.c +++ b/citadel/server_main.c @@ -82,7 +82,7 @@ int main(int argc, char **argv) /* -t specifies where to log trace messages to */ if (!strncmp(argv[a], "-t", 2)) { - strcpy(tracefile, argv[a]); + safestrncpy(tracefile, argv[a], sizeof tracefile); strcpy(tracefile, &tracefile[2]); freopen(tracefile, "r", stdin); freopen(tracefile, "w", stdout); -- 2.30.2