]> code.citadel.org Git - citadel.git/blobdiff - citadel/citserver.c
* Renamed "dynloader" to "serv_extensions" globally. We don't want people
[citadel.git] / citadel / citserver.c
index 42201f7bb2eba17fcd697d44228dbe4fdc239faa..783111760904df414778ea93da65c9febace1ff3 100644 (file)
@@ -40,7 +40,7 @@
 #include <arpa/inet.h>
 #include "citadel.h"
 #include "server.h"
-#include "dynloader.h"
+#include "serv_extensions.h"
 #include "sysdep_decls.h"
 #include "citserver.h"
 #include "config.h"
@@ -72,10 +72,11 @@ time_t server_startup_time;
  */
 void master_startup(void) {
        struct timeval tv;
-       
-       time(&server_startup_time);
+       struct quickroom qrbuf;
        
        lprintf(9, "master_startup() started\n");
+       time(&server_startup_time);
+
        lprintf(7, "Opening databases\n");
        open_databases();
 
@@ -91,6 +92,13 @@ void master_startup(void) {
        create_room(SYSCONFIGROOM,      3, "", 0, 1, 0);
        create_room(config.c_twitroom,  0, "", 0, 1, 0);
 
+       /* The "Local System Configuration" room doesn't need to be visible */
+        if (lgetroom(&qrbuf, SYSCONFIGROOM) == 0) {
+                qrbuf.QRflags2 |= QR2_SYSTEM;
+                lputroom(&qrbuf);
+        }
+
+
        lprintf(7, "Seeding the pseudo-random number generator...\n");
        gettimeofday(&tv, NULL);
        srand(tv.tv_usec);
@@ -210,11 +218,6 @@ void RemoveContext (struct CitContext *con)
        
        syslog(LOG_NOTICE,"session %d: ended", con->cs_pid);
 
-       /* If we have a message in cache, free it */
-       if (CC->cached_msg != NULL) {
-               phree(CC->cached_msg);
-       }
-       
        /* Deallocate any user-data attached to this session */
        deallocate_user_data(con);
 
@@ -1263,6 +1266,10 @@ void do_command_loop(void) {
                cmd_view(&cmdbuf[5]);
        }
 
+       else if (!strncasecmp(cmdbuf, "ISME", 4)) {
+               cmd_isme(&cmdbuf[5]);
+       }
+
 #ifdef DEBUG_MEMORY_LEAKS
        else if (!strncasecmp(cmdbuf, "LEAK", 4)) {
                dump_tracked();