]> code.citadel.org Git - citadel.git/blobdiff - citadel/server_main.c
Removed the 'defrag databases' stub function and command
[citadel.git] / citadel / server_main.c
index 7efb5a6096bc4984f56987f215715bf12118391e..61eec859a81288214917f8b935a7a2591446a6cc 100644 (file)
@@ -99,7 +99,6 @@ int main(int argc, char **argv)
        /* initialise semaphores here. Patch by Matt and davew
         * its called here as they are needed by CtdlLogPrintf for thread safety
         */
-       CtdlInitBase64Table();
        InitialiseSemaphores();
        
        /* initialize the master context */
@@ -139,10 +138,6 @@ int main(int argc, char **argv)
                        freopen(&argv[a][2], "w", stderr);
                }
 
-               else if (!strncmp(argv[a], "-f", 2)) {
-                       do_defrag = 1;
-               }
-
                else if (!strncmp(argv[a], "-D", 2)) {
                        dbg = 1;
                }
@@ -158,7 +153,7 @@ int main(int argc, char **argv)
                        CtdlLogPrintf(CTDL_EMERG,       "citserver: usage: "
                                        "citserver "
                                        "[-lLogFacility] "
-                                       "[-d] [-f] [-D] "
+                                       "[-d] [-D] "
                                        " [-tTraceFile]"
                                        " [-xLogLevel] [-hHomeDir]\n");
                        exit(1);
@@ -181,19 +176,14 @@ int main(int argc, char **argv)
        params.debugLevel = ECRASH_DEBUG_VERBOSE;
        params.dumpAllThreads = TRUE;
        params.useBacktraceSymbols = 1;
-///    BuildSymbolTable(&symbol_table);
-//     params.symbolTable = &symbol_table;
        params.signals[0]=SIGSEGV;
        params.signals[1]=SIGILL;
        params.signals[2]=SIGBUS;
        params.signals[3]=SIGABRT;
-
        eCrash_Init(&params);
-               
        eCrash_RegisterThread("MasterThread", 0);
-
-///    signal(SIGSEGV, cit_panic_backtrace);
 #endif
+
        /* Initialize the syslogger.  Yes, we are really using 0 as the
         * facility, because we are going to bitwise-OR the facility to
         * the severity of each message, allowing us to write to other
@@ -211,7 +201,7 @@ int main(int argc, char **argv)
                "*** Citadel server engine v%d.%02d ***\n",
                (REV_LEVEL/100), (REV_LEVEL%100));
        CtdlLogPrintf(CTDL_NOTICE,
-               "Copyright (C) 1987-2007 by the Citadel development team.\n");
+               "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");
@@ -229,11 +219,15 @@ int main(int argc, char **argv)
        /* on some dists rundir gets purged on startup. so we need to recreate it. */
 
        if (stat(ctdl_run_dir, &filestats)==-1){
+#ifdef HAVE_GETPWUID_R
 #ifdef SOLARIS_GETPWUID
                pwp = getpwuid_r(config.c_ctdluid, &pw, pwbuf, sizeof(pwbuf));
-#else
+#else // SOLARIS_GETPWUID
                getpwuid_r(config.c_ctdluid, &pw, pwbuf, sizeof(pwbuf), &pwp);
-#endif
+#endif // SOLARIS_GETPWUID
+#else // HAVE_GETPWUID_R
+               pwp = NULL;
+#endif // HAVE_GETPWUID_R
                mkdir(ctdl_run_dir, 0755);
                chown(ctdl_run_dir, config.c_ctdluid, (pwp==NULL)?-1:pw.pw_gid);
        }
@@ -293,7 +287,7 @@ int main(int argc, char **argv)
        /*
         * If we need host auth, start our chkpwd daemon.
         */
-       if (config.c_auth_mode == 1) {
+       if (config.c_auth_mode == AUTHMODE_HOST) {
                start_chkpwd_daemon();
        }
 
@@ -304,11 +298,16 @@ int main(int argc, char **argv)
        if (drop_root_perms) {
                cdb_chmod_data();       /* make sure we own our data files */
 
+#ifdef HAVE_GETPWUID_R
 #ifdef SOLARIS_GETPWUID
                pwp = getpwuid_r(config.c_ctdluid, &pw, pwbuf, sizeof(pwbuf));
-#else
+#else // SOLARIS_GETPWUID
                getpwuid_r(config.c_ctdluid, &pw, pwbuf, sizeof(pwbuf), &pwp);
-#endif
+#endif // SOLARIS_GETPWUID
+#else // HAVE_GETPWUID_R
+               pwp = NULL;
+#endif // HAVE_GETPWUID_R
+
                if (pwp == NULL)
                        CtdlLogPrintf(CTDL_CRIT, "WARNING: getpwuid(%ld): %s\n"
                                   "Group IDs will be incorrect.\n", (long)CTDLUID,