/*
* 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.
const char *setup_titles[eMaxQuestions];
const char *setup_text[eMaxQuestions];
+char *program_title;
void SetTitles(void)
{
#endif
}
-int direction;
-
void title(const char *text)
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);
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) {
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) {
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);
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
}
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);
/*
* 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);
}
/* _("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) {
/* 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)