else
safestrncpy(relhome, &argv[a][2],
sizeof relhome);
- home_specified = 1;
home=1;
}
CtdlLogPrintf(CTDL_INFO, "Loading citadel.config\n");
get_config();
config.c_ipgm_secret = rand();
+
+ /* get_control() MUST MUST MUST be called BEFORE the databases are opened!! */
+ CtdlLogPrintf(CTDL_INFO, "Acquiring control record\n");
+ get_control();
+
put_config();
#ifdef HAVE_RUN_DIR
*/
master_startup();
- CtdlLogPrintf(CTDL_INFO, "Acquiring control record\n");
- get_control();
-
+ /*
+ * Check that the control record is correct and place sensible values if it isn't
+ */
+ check_control();
+
+ /*
+ * Run any upgrade entry points
+ */
+ CtdlLogPrintf(CTDL_INFO, "Upgrading modules.\n");
+ upgrade_modules();
/**
- * 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.
+ * Load the user for the masterCC or create them if they don't exist
*/
- /** Give user 0 a name and create them if necessary */
- if (getuser(&masterCC.user, "Citadel"))
+ if (getuser(&masterCC.user, "SYS_Citadel"))
{
- getuserbynumber(&masterCC.user, 0);
- strcpy (masterCC.user.fullname, "Citadel");
+ /** User doesn't exist. We can't use create user here as the user number needs to be 0 */
+ strcpy (masterCC.user.fullname, "SYS_Citadel") ;
putuser(&masterCC.user);
+ getuser(&masterCC.user, "SYS_Citadel"); /** Just to be safe */
}
/*
CitadelServiceTCP);
- /*
- * Run any upgrade entry points
- */
- CtdlLogPrintf(CTDL_INFO, "Upgrading modules.\n");
- upgrade_modules();
/*