Remove erroneous extra parameter from display_error() call in setup.c (submitted...
[citadel.git] / citadel / utils / setup.c
index 98fab1fd65fdc57b6bfd4e8f758b98b9ef861ad3..bb7f542dec09c2fe53248fba5d6f65df9b64386d 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Citadel setup utility
  *
- * Copyright (c) 1987-2012 by the citadel.org team
+ * Copyright (c) 1987-2014 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.
@@ -103,6 +103,7 @@ char configs[NUM_CONFIGS][1024];
 const char *setup_titles[eMaxQuestions];
 const char *setup_text[eMaxQuestions];
 
+char *program_title;
 
 void SetTitles(void)
 {
@@ -260,8 +261,6 @@ void cit_backtrace(void)
 #endif
 }
 
-int direction;
-
 
 
 void title(const char *text)
@@ -305,8 +304,9 @@ int yesno(const char *question, int default_value)
                break;
 
        case UI_DIALOG:
-               snprintf(buf, sizeof buf, "exec %s %s --yesno '%s' 15 75",
+               snprintf(buf, sizeof buf, "exec %s --backtitle '%s' %s --yesno '%s' 15 75",
                        getenv("CTDL_DIALOG"),
+                       program_title,
                        ( default_value ? "" : "--defaultno" ),
                        question);
                i = system(buf);
@@ -334,12 +334,14 @@ void important_message(const char *title, const char *msgtext)
                printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
                printf("       %s \n\n%s\n\n", title, msgtext);
                printf("%s", _("Press return to continue..."));
-               if (fgets(buf, sizeof buf, stdin));
+               if (fgets(buf, sizeof buf, stdin))
+                       ;
                break;
 
        case UI_DIALOG:
-               snprintf(buf, sizeof buf, "exec %s --msgbox '%s' 19 72",
+               snprintf(buf, sizeof buf, "exec %s --backtitle '%s' --msgbox '%s' 19 72",
                        getenv("CTDL_DIALOG"),
+                       program_title,
                        msgtext);
                int rv = system(buf);
                if (rv != 0) {
@@ -402,8 +404,9 @@ void progress(char *text, long int curr, long int cmax)
 
        case UI_DIALOG:
                if (curr == 0) {
-                       snprintf(buf, sizeof buf, "exec %s --gauge '%s' 7 72 0",
+                       snprintf(buf, sizeof buf, "exec %s --backtitle '%s' --gauge '%s' 7 72 0",
                                getenv("CTDL_DIALOG"),
+                               program_title,
                                text);
                        fp = popen(buf, "w");
                        if (fp != NULL) {
@@ -723,8 +726,9 @@ void strprompt(const char *prompt_title, const char *prompt_text, char *Target,
 
        case UI_DIALOG:
                CtdlMakeTempFileName(dialog_result, sizeof dialog_result);
-               snprintf(buf, sizeof buf, "exec %s --nocancel --inputbox '%s' 19 72 '%s' 2>%s",
+               snprintf(buf, sizeof buf, "exec %s --backtitle '%s' --nocancel --inputbox '%s' 19 72 '%s' 2>%s",
                        getenv("CTDL_DIALOG"),
+                       program_title,
                        prompt_text,
                        Target,
                        dialog_result);
@@ -1143,6 +1147,8 @@ void set_default_values(void)
        GetDefaultVALINT(c_managesieve_port, 2020);
        GetDefaultVALINT(c_xmpp_c2s_port, 5222);
        GetDefaultVALINT(c_xmpp_s2s_port, 5269);
+       GetDefaultVALINT(c_nntp_port, 119);
+       GetDefaultVALINT(c_nntps_port, 563);
 #endif
 }
 
@@ -1155,14 +1161,18 @@ int main(int argc, char *argv[])
        char buf[1024]; 
        char aaa[128];
        int info_only = 0;
-       int relh=0;
-       int home=0;
+       int relh = 0;
+       int home = 0;
+       int nRetries = 0;
        char relhome[PATH_MAX]="";
        char ctdldir[PATH_MAX]=CTDLDIR;
        struct passwd *pw;
        gid_t gid;
        char *activity = NULL;
        
+       /* Keep a mild groove on */
+       program_title = _("Citadel setup program");
+
        /* set an invalid setup type */
        setup_type = (-1);
 
@@ -1213,8 +1223,7 @@ int main(int argc, char *argv[])
        enable_home = ( relh | home );
 
        if (chdir(ctdl_run_dir) != 0) {
-               display_error(_("Citadel Setup"), 
-                             "%s: [%s]\n", 
+               display_error("%s: [%s]\n", 
                              _("The directory you specified does not exist"), 
                              ctdl_run_dir);
                exit(errno);
@@ -1224,11 +1233,17 @@ int main(int argc, char *argv[])
        /*
         * Connect to the running Citadel server.
         */
-        serv_sock = uds_connectsock(file_citadel_admin_socket);
+       while ((serv_sock < 0) && (nRetries < 10)) {
+               serv_sock = uds_connectsock(file_citadel_admin_socket);
+               nRetries ++;
+               if (serv_sock < 0)
+                       sleep(1);
+       }
        if (serv_sock < 0) { 
                display_error(
-                       "%s\n", 
-                       _("Setup could not connect to a running Citadel server.")
+                       "%s: %s %s\n", 
+                       _("Setup could not connect to a running Citadel server."),
+                       strerror(errno), file_citadel_admin_socket
                );
                exit(1);
        }
@@ -1289,7 +1304,7 @@ int main(int argc, char *argv[])
        /* _("Citadel Setup"),  */
 
        if (setup_type == UI_TEXT) {
-               printf("\n\n\n         *** %s ***\n\n", _("Citadel setup program"));
+               printf("\n\n\n         *** %s ***\n\n", program_title);
        }
 
        if (setup_type == UI_DIALOG) {
@@ -1301,6 +1316,7 @@ int main(int argc, char *argv[])
        /* Go through a series of dialogs prompting for config info */
        for (curr = 1; curr < eMaxQuestions; ++curr) {
                edit_value(curr);
+
                if (    (curr == 6)
                        && (atoi(configs[52]) != AUTHMODE_LDAP)
                        && (atoi(configs[52]) != AUTHMODE_LDAP_AD)