* move default initializing into its own subfunciton
authorWilfried Göesgens <willi@citadel.org>
Thu, 29 Jul 2010 17:53:09 +0000 (17:53 +0000)
committerWilfried Göesgens <willi@citadel.org>
Thu, 29 Jul 2010 17:53:09 +0000 (17:53 +0000)
citadel/utils/setup.c

index fa5c08f9219393d38292cc93b90916e37e880164..de1c264cbd0c53e2fbbd2c99678ffbd14d3aae2a 100644 (file)
@@ -5,6 +5,8 @@
  *
  */
 
+#define SHOW_ME_VAPPEND_PRINTF
+
 #include "ctdl_module.h"
 
 
@@ -1083,7 +1085,97 @@ void fixnss(void) {
 
 
 
+void set_default_values(void)
+{
+       struct passwd *pw;
+       struct utsname my_utsname;
+       struct hostent *he;
+
+       /* Determine our host name, in case we need to use it as a default */
+       uname(&my_utsname);
+
+       /* set some sample/default values in place of blanks... */
+       if (IsEmptyStr(config.c_nodename))
+               safestrncpy(config.c_nodename, my_utsname.nodename,
+                           sizeof config.c_nodename);
+       strtok(config.c_nodename, ".");
+       if (IsEmptyStr(config.c_fqdn) ) {
+               if ((he = gethostbyname(my_utsname.nodename)) != NULL) {
+                       safestrncpy(config.c_fqdn, he->h_name, sizeof config.c_fqdn);
+               } else {
+                       safestrncpy(config.c_fqdn, my_utsname.nodename, sizeof config.c_fqdn);
+               }
+       }
+       if (IsEmptyStr(config.c_humannode)) {
+               strcpy(config.c_humannode, "My System");
+       }
+       if (IsEmptyStr(config.c_phonenum)) {
+               strcpy(config.c_phonenum, "US 800 555 1212");
+       }
+       if (config.c_initax == 0) {
+               config.c_initax = 4;
+       }
+       if (IsEmptyStr(config.c_moreprompt)) strcpy(config.c_moreprompt, "<more>");
+       if (IsEmptyStr(config.c_twitroom)) strcpy(config.c_twitroom, "Trashcan");
+       if (IsEmptyStr(config.c_baseroom)) strcpy(config.c_baseroom, BASEROOM);
+       if (IsEmptyStr(config.c_aideroom)) strcpy(config.c_aideroom, "Aide");
+       if (config.c_port_number == 0) {
+               config.c_port_number = 504;
+       }
+       if (config.c_sleeping == 0) {
+               config.c_sleeping = 900;
+       }
+       if (config.c_ctdluid == 0) {
+               pw = getpwnam("citadel");
+               if (pw != NULL) {
+                       config.c_ctdluid = pw->pw_uid;
+               }
+       }
+       if (config.c_ctdluid == 0) {
+               pw = getpwnam("bbs");
+               if (pw != NULL) {
+                       config.c_ctdluid = pw->pw_uid;
+               }
+       }
+       if (config.c_ctdluid == 0) {
+               pw = getpwnam("guest");
+               if (pw != NULL) {
+                       config.c_ctdluid = pw->pw_uid;
+               }
+       }
+       if (config.c_createax == 0) {
+               config.c_createax = 3;
+       }
+       /*
+        * Negative values for maxsessions are not allowed.
+        */
+       if (config.c_maxsessions < 0) {
+               config.c_maxsessions = 0;
+       }
+       /* We need a system default message expiry policy, because this is
+        * the top level and there's no 'higher' policy to fall back on.
+        * By default, do not expire messages at all.
+        */
+       if (config.c_ep.expire_mode == 0) {
+               config.c_ep.expire_mode = EXPIRE_MANUAL;
+               config.c_ep.expire_value = 0;
+       }
 
+       /*
+        * Default port numbers for various services
+        */
+       if (config.c_smtp_port == 0) config.c_smtp_port = 25;
+       if (config.c_pop3_port == 0) config.c_pop3_port = 110;
+       if (config.c_imap_port == 0) config.c_imap_port = 143;
+       if (config.c_msa_port == 0) config.c_msa_port = 587;
+       if (config.c_smtps_port == 0) config.c_smtps_port = 465;
+       if (config.c_pop3s_port == 0) config.c_pop3s_port = 995;
+       if (config.c_imaps_port == 0) config.c_imaps_port = 993;
+       if (config.c_pftcpdict_port == 0) config.c_pftcpdict_port = -1;
+       if (config.c_managesieve_port == 0) config.c_managesieve_port = 2020;
+       if (config.c_xmpp_c2s_port == 0) config.c_xmpp_c2s_port = 5222;
+       if (config.c_xmpp_s2s_port == 0) config.c_xmpp_s2s_port = 5269;
+}
 
 
 
@@ -1096,16 +1188,14 @@ int main(int argc, char *argv[])
        FILE *fp;
        int old_setup_level = 0;
        int info_only = 0;
-       struct utsname my_utsname;
-       struct passwd *pw;
-       struct hostent *he;
-       gid_t gid;
        int relh=0;
        int home=0;
        char relhome[PATH_MAX]="";
        char ctdldir[PATH_MAX]=CTDLDIR;
        char DefValue[PATH_MAX];
        int rv;
+       struct passwd *pw;
+       gid_t gid;
        
        /* set an invalid setup type */
        setup_type = (-1);
@@ -1173,8 +1263,6 @@ int main(int argc, char *argv[])
                cleanup(errno);
        }
 
-       /* Determine our host name, in case we need to use it as a default */
-       uname(&my_utsname);
 
        /* Try to stop Citadel if we can */
        if (!access("/etc/init.d/citadel", X_OK)) {
@@ -1234,87 +1322,7 @@ int main(int argc, char *argv[])
        rv = fread((char *) &config, sizeof(struct config), 1, fp);
        fclose(fp);
 
-       /* set some sample/default values in place of blanks... */
-       if (IsEmptyStr(config.c_nodename))
-               safestrncpy(config.c_nodename, my_utsname.nodename,
-                           sizeof config.c_nodename);
-       strtok(config.c_nodename, ".");
-       if (IsEmptyStr(config.c_fqdn) ) {
-               if ((he = gethostbyname(my_utsname.nodename)) != NULL) {
-                       safestrncpy(config.c_fqdn, he->h_name, sizeof config.c_fqdn);
-               } else {
-                       safestrncpy(config.c_fqdn, my_utsname.nodename, sizeof config.c_fqdn);
-               }
-       }
-       if (IsEmptyStr(config.c_humannode)) {
-               strcpy(config.c_humannode, "My System");
-       }
-       if (IsEmptyStr(config.c_phonenum)) {
-               strcpy(config.c_phonenum, "US 800 555 1212");
-       }
-       if (config.c_initax == 0) {
-               config.c_initax = 4;
-       }
-       if (IsEmptyStr(config.c_moreprompt)) strcpy(config.c_moreprompt, "<more>");
-       if (IsEmptyStr(config.c_twitroom)) strcpy(config.c_twitroom, "Trashcan");
-       if (IsEmptyStr(config.c_baseroom)) strcpy(config.c_baseroom, BASEROOM);
-       if (IsEmptyStr(config.c_aideroom)) strcpy(config.c_aideroom, "Aide");
-       if (config.c_port_number == 0) {
-               config.c_port_number = 504;
-       }
-       if (config.c_sleeping == 0) {
-               config.c_sleeping = 900;
-       }
-       if (config.c_ctdluid == 0) {
-               pw = getpwnam("citadel");
-               if (pw != NULL) {
-                       config.c_ctdluid = pw->pw_uid;
-               }
-       }
-       if (config.c_ctdluid == 0) {
-               pw = getpwnam("bbs");
-               if (pw != NULL) {
-                       config.c_ctdluid = pw->pw_uid;
-               }
-       }
-       if (config.c_ctdluid == 0) {
-               pw = getpwnam("guest");
-               if (pw != NULL) {
-                       config.c_ctdluid = pw->pw_uid;
-               }
-       }
-       if (config.c_createax == 0) {
-               config.c_createax = 3;
-       }
-       /*
-        * Negative values for maxsessions are not allowed.
-        */
-       if (config.c_maxsessions < 0) {
-               config.c_maxsessions = 0;
-       }
-       /* We need a system default message expiry policy, because this is
-        * the top level and there's no 'higher' policy to fall back on.
-        * By default, do not expire messages at all.
-        */
-       if (config.c_ep.expire_mode == 0) {
-               config.c_ep.expire_mode = EXPIRE_MANUAL;
-               config.c_ep.expire_value = 0;
-       }
-
-       /*
-        * Default port numbers for various services
-        */
-       if (config.c_smtp_port == 0) config.c_smtp_port = 25;
-       if (config.c_pop3_port == 0) config.c_pop3_port = 110;
-       if (config.c_imap_port == 0) config.c_imap_port = 143;
-       if (config.c_msa_port == 0) config.c_msa_port = 587;
-       if (config.c_smtps_port == 0) config.c_smtps_port = 465;
-       if (config.c_pop3s_port == 0) config.c_pop3s_port = 995;
-       if (config.c_imaps_port == 0) config.c_imaps_port = 993;
-       if (config.c_pftcpdict_port == 0) config.c_pftcpdict_port = -1;
-       if (config.c_managesieve_port == 0) config.c_managesieve_port = 2020;
-       if (config.c_xmpp_c2s_port == 0) config.c_xmpp_c2s_port = 5222;
-       if (config.c_xmpp_s2s_port == 0) config.c_xmpp_s2s_port = 5269;
+       set_default_values();
 
        /* Go through a series of dialogs prompting for config info */
        for (curr = 1; curr <= MAXSETUP; ++curr) {