/*
* 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.
#endif
}
-int direction;
-
void title(const char *text)
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:
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;
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);
/*
* 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);
}
/* 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)