]> code.citadel.org Git - citadel.git/blobdiff - citadel/server_main.c
Give the user contained within masterCC a name.
[citadel.git] / citadel / server_main.c
index 61eec859a81288214917f8b935a7a2591446a6cc..37c77ddcd4fa8068ba0b16436d089f3d5d21900d 100644 (file)
@@ -54,6 +54,7 @@
 #include "database.h"
 #include "user_ops.h"
 #include "housekeeping.h"
+#include "svn_revision.h"
 #include "citadel_dirs.c"
 
 #include "modules_init.h"
@@ -70,8 +71,10 @@ const char *CitadelServiceUDS="citadel-UDS";
 const char *CitadelServiceTCP="citadel-TCP";
 
 
-void go_threading(void);
+extern struct CitContext masterCC;
+
 
+void go_threading(void);
 
 /*
  * Here's where it all begins.
@@ -198,13 +201,11 @@ int main(int argc, char **argv)
        CtdlLogPrintf(CTDL_NOTICE, "\n");
        CtdlLogPrintf(CTDL_NOTICE, "\n");
        CtdlLogPrintf(CTDL_NOTICE,
-               "*** Citadel server engine v%d.%02d ***\n",
-               (REV_LEVEL/100), (REV_LEVEL%100));
-       CtdlLogPrintf(CTDL_NOTICE,
-               "Copyright (C) 1987-2008 by the Citadel development team.\n");
-       CtdlLogPrintf(CTDL_NOTICE,
-               "This program is distributed under the terms of the GNU "
-               "General Public License.\n");
+               "*** Citadel server engine v%d.%02d (build %s) ***\n",
+               (REV_LEVEL/100), (REV_LEVEL%100), svn_revision());
+       CtdlLogPrintf(CTDL_NOTICE, "Copyright (C) 1987-2008 by the Citadel development team.\n");
+       CtdlLogPrintf(CTDL_NOTICE, "This program is distributed under the terms of the GNU "
+                                       "General Public License.\n");
        CtdlLogPrintf(CTDL_NOTICE, "\n");
        CtdlLogPrintf(CTDL_DEBUG, "Called as: %s\n", argv[0]);
        CtdlLogPrintf(CTDL_INFO, "%s\n", libcitadel_version_string());
@@ -246,6 +247,20 @@ int main(int argc, char **argv)
        CtdlLogPrintf(CTDL_INFO, "Acquiring control record\n");
        get_control();
 
+       
+/**
+ * Initialise the user 0 to have a name. It would be nice to do it in InitializeMasterCC
+ * since it is contained within the MasterCC but we can't because the DB isn't available
+ * at that time so we do it seperate.
+ */
+       /** Give user 0 a name and create them if necessary */
+       if (getuser(&masterCC.user, "Citadel"))
+       {
+               getuserbynumber(&masterCC.user, 0);
+               strcpy (masterCC.user.fullname, "Citadel");
+               putuser(&masterCC.user);
+       }
+       
        /*
         * Bind the server to a Unix-domain socket.
         */