]> code.citadel.org Git - citadel.git/blobdiff - webcit/webserver.c
Removed the obsolete 'setup' utility. It is not used by any currently supported...
[citadel.git] / webcit / webserver.c
index 636c7a706fe074094783268b62870b1fdf5e4fa2..411e06e3a4b7257c4b20492c2cbc6025c823a15d 100644 (file)
@@ -1,18 +1,15 @@
-/*
- * Copyright (c) 1996-2020 by the citadel.org team
- *
- * This program is open source software.  You can redistribute it and/or
- * modify it under the terms of the GNU General Public License version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
+// Copyright (c) 1996-2021 by the citadel.org team
+//
+// This program is open source software.  You can redistribute it and/or
+// modify it under the terms of the GNU General Public License version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
 
 #include "webcit.h"
 #include "webserver.h"
-
 #include "modules_init.h"
 
 extern int msock;                              /* master listening socket */
@@ -38,8 +35,6 @@ char *server_cookie = NULL;   /* our Cookie connection to the client */
 int http_port = PORT_NUM;      /* Port to listen on */
 char *ctdlhost = DEFAULT_HOST; /* Host name or IP address of Citadel server */
 char *ctdlport = DEFAULT_PORT; /* Port number of Citadel server */
-int setup_wizard = 0;          /* should we run the setup wizard? */
-char wizard_filename[PATH_MAX];        /* location of file containing the last webcit version against which we ran setup wizard */
 int running_as_daemon = 0;     /* should we deamonize on startup? */
 
 /* #define DBG_PRINNT_HOOKS_AT_START */
@@ -61,10 +56,8 @@ void LoadMimeBlacklist(void);
 /*
  * Here's where it all begins.
  */
-int main(int argc, char **argv)
-{
+int main(int argc, char **argv) {
        uid_t UID = -1;
-       size_t basesize = 2;            /* how big should strbufs be on creation? */
        pthread_t SessThread;           /* Thread descriptor */
        pthread_attr_t attr;            /* Thread attributes */
        int a;                          /* General-purpose variable */
@@ -78,6 +71,7 @@ int main(int argc, char **argv)
        const char *basedir = NULL;
        char uds_listen_path[PATH_MAX]; /* listen on a unix domain socket? */
        const char *I18nDumpFile = NULL;
+       int max_log_level = LOG_INFO;
 
        WildFireInitBacktrace(argv[0], 2);
 
@@ -128,10 +122,7 @@ int main(int argc, char **argv)
                case 'g':
                        default_landing_page = strdup(optarg);
                        break;
-               case 'B': /* Basesize */
-                       basesize = atoi(optarg);
-                       if (basesize > 2)
-                               StartLibCitadel(basesize);
+               case 'B': /* deprecated */
                        break;
                case 'i':
                        safestrncpy(ip_addr, optarg, sizeof ip_addr);
@@ -154,7 +145,7 @@ int main(int argc, char **argv)
                        DisableGzip = 1;
                        break;
                case 'x':
-                       /* no longer used, but ignored so old scripts don't break */
+                       max_log_level = atoi(optarg);
                        break;
                case 'f':
                        follow_xff = 1;
@@ -162,12 +153,8 @@ int main(int argc, char **argv)
                case 'c':
                        server_cookie = malloc(256);
                        if (server_cookie != NULL) {
-                               safestrncpy(server_cookie,
-                                      "Set-cookie: wcserver=",
-                                       256);
-                               if (gethostname
-                                   (&server_cookie[strlen(server_cookie)],
-                                    200) != 0) {
+                               safestrncpy(server_cookie, "Set-cookie: wcserver=", 256);
+                               if (gethostname (&server_cookie[strlen(server_cookie)], 200) != 0) {
                                        syslog(LOG_INFO, "gethostname: %s", strerror(errno));
                                        free(server_cookie);
                                }
@@ -198,7 +185,7 @@ int main(int argc, char **argv)
                                "[-d] [-Z] [-G i18ndumpfile] "
                                "[-u uid] [-h homedirectory] "
                                "[-D daemonizepid] [-v] "
-                               "[-g defaultlandingpage] [-B basesize] "
+                               "[-g defaultlandingpage] "
 #ifdef HAVE_OPENSSL
                                "[-s] [-S cipher_suites]"
 #endif
@@ -207,6 +194,7 @@ int main(int argc, char **argv)
                }
 
        /* Start the logger */
+       setlogmask(LOG_UPTO(max_log_level));
        openlog("webcit",
                ( running_as_daemon ? (LOG_PID) : (LOG_PID | LOG_PERROR) ),
                LOG_DAEMON
@@ -244,8 +232,13 @@ int main(int argc, char **argv)
        syslog(LOG_NOTICE, "GNU General Public License for more details.");
        syslog(LOG_NOTICE, " ");
 
-       /* initialize various subsystems */
+       /* run from the webcit home directory */
+       if (chdir(webcitdir) != 0) {
+               syslog(LOG_ERR, "webcit: %s: %m", webcitdir);
+               exit(errno);
+       }
 
+       /* initialize various subsystems */
        initialise_modules();
        initialise2_modules();
        InitTemplateCache();