]> code.citadel.org Git - citadel-docker.git/blobdiff - ctdlvisor.c
ctdlvisor: make the compatibility confirmation more exciting and positive
[citadel-docker.git] / ctdlvisor.c
index 64e6c04c441b63e0e4ce4c1b8670e2ccdc94cbf1..25a23119c26668f9a9188e7395faf7db1af56c5f 100644 (file)
@@ -1,8 +1,8 @@
 // This is a supervisor program that handles start/stop/restart of
 // the various Citadel System components, when we are running in
-// a Docker container.
+// a container.
 //
-// Copyright (c) 2021 by the citadel.org team
+// Copyright (c) 2021-2023 by the citadel.org team
 //
 // This program is open source software.  Use, duplication, or disclosure
 // is subject to the terms of the GNU General Public License, version 3.
@@ -25,6 +25,7 @@ pid_t citserver_pid;
 pid_t webcit_pid;
 pid_t webcits_pid;
 int shutting_down = 0;
+char *logging_flag = "-x1";
 
 // Call this instead of exit() just for common diagnostics etc.
 void ctdlvisor_exit(int code) {
@@ -93,8 +94,8 @@ pid_t start_citadel() {
        pid_t pid = fork();
        if (pid == 0) {
                fprintf(stderr, "ctdlvisor: executing citserver\n");
-               detach_from_tty();
-               execlp("/usr/local/citadel/citserver", "citserver", "-x9", "-h", CTDL_DIR, NULL);
+               //detach_from_tty();
+               execlp("/usr/local/citadel/citserver", "citserver", logging_flag, "-h", CTDL_DIR, NULL);
                exit(errno);
        }
        else {
@@ -108,8 +109,8 @@ pid_t start_webcit() {
        pid_t pid = fork();
        if (pid == 0) {
                fprintf(stderr, "ctdlvisor: executing webcit (http)\n");
-               detach_from_tty();
-               execlp("/usr/local/webcit/webcit", "webcit", "-x9", "-p", "80", "uds", CTDL_DIR, NULL);
+               //detach_from_tty();
+               execlp("/usr/local/webcit/webcit", "webcit", logging_flag, "-p", "80", "uds", CTDL_DIR, NULL);
                exit(errno);
        }
        else {
@@ -123,8 +124,8 @@ pid_t start_webcits() {
        pid_t pid = fork();
        if (pid == 0) {
                fprintf(stderr, "ctdlvisor: executing webcit (https)\n");
-               detach_from_tty();
-               execlp("/usr/local/webcit/webcit", "webcit", "-x9", "-s", "-p", "443", "uds", CTDL_DIR, NULL);
+               //detach_from_tty();
+               execlp("/usr/local/webcit/webcit", "webcit", logging_flag, "-s", "-p", "443", "uds", CTDL_DIR, NULL);
                exit(errno);
        }
        else {
@@ -212,11 +213,11 @@ int main(int argc, char **argv) {
        symlink(CTDL_DIR "/keys", "/usr/local/webcit/keys");
 
        /* parse command-line arguments */
-       while ((a=getopt(argc, argv, "cmd")) != EOF) switch(a) {
+       while ((a=getopt(argc, argv, "cmdx:")) != EOF) switch(a) {
 
                // test this binary for compatibility and exit
                case 'c':
-                       fprintf(stderr, "%s: binary compatibility confirmed\n", argv[0]);
+                       fprintf(stderr, "%s: binary compatibility CONFIRMED!  You CAN run Citadel in a container on this system.\n", argv[0]);
                        exit(0);
                        break;
 
@@ -230,9 +231,15 @@ int main(int argc, char **argv) {
                        database_cleanup_mode = 1;
                        break;
 
+               // logging level
+               case 'x':
+                       logging_flag = malloc(50);
+                       snprintf(logging_flag, 50, "-x%d", atoi(optarg));
+                       break;
+
                // any other parameter makes it crash and burn
                default:
-                       fprintf(stderr, "usage\n");
+                       fprintf(stderr, "%s: usage: %s [-c] [-m] [-d] [-x log_level]\n");
                        exit(1);
        }