#include "database.h"
#include "user_ops.h"
#include "housekeeping.h"
+#include "svn_revision.h"
#include "citadel_dirs.c"
#include "modules_init.h"
const char *CitadelServiceTCP="citadel-TCP";
-void go_threading(void);
+extern struct CitContext masterCC;
+
+void go_threading(void);
/*
* Here's where it all begins.
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());
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.
*/