]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
[Bug 1286] dumpcfg omits statsdir, mangles filegen
authorDave Hart <hart@ntp.org>
Mon, 17 Aug 2009 16:32:18 +0000 (16:32 +0000)
committerDave Hart <hart@ntp.org>
Mon, 17 Aug 2009 16:32:18 +0000 (16:32 +0000)
bk: 4a89861233lxpybJeaRF6NAwvFhTJA

ChangeLog
ntpd/ntp_config.c

index af678057dbe4acc2e230e1f7040ce17e542b9cca..bb659096663c04856842115efc375501d49d579a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,4 @@
+* [Bug 1286] dumpcfg omits statsdir, mangles filegen.
 (4.2.5p204) 2009/08/17 Released by Harlan Stenn <stenn@ntp.org>
 * [Bug 1284] infinite loop in ntpd dumping more than one trustedkey
 (4.2.5p203) 2009/08/16 Released by Harlan Stenn <stenn@ntp.org>
index 3683df9c0dfeca1d62f064cb406994f42069667f..aa7a6643834670b06a61dfd8a67c4dc00e30ef7c 100644 (file)
@@ -511,26 +511,437 @@ dump_config_tree(
 
        printf("dump_config_tree(%p)\n", ptree);
 
+       /* For options I didn't find documentation I'll just output its name and the cor. value */
+       list_ptr = queue_head(ptree->vars);
+       if (list_ptr != NULL) {
+
+               for(;   list_ptr != NULL;
+                       list_ptr = next_node(list_ptr)) {
+
+                       atrv = (struct attr_val *) list_ptr;
+
+                       switch (atrv->attr) {
+                       default:
+                               fprintf(df, "\n# dump error:\n"
+                                       "# unknown vars token %d\n",
+                                       atrv->attr);
+                               break;
+
+                               case T_Broadcastdelay:
+                               fprintf(df, "broadcastdelay %g\n", atrv->value.d);
+                               break;
+                               
+                               case T_Calldelay:
+                               fprintf(df, "calldelay %i\n", atrv->value.i);
+                               break;
+
+                               case T_Tick:
+                               fprintf(df, "tick %g\n", atrv->value.d);
+                               break;
+
+                               case T_Driftfile:
+                               fprintf(df, "driftfile \"%s\"\n", atrv->value.s);
+                               break;
+                       
+                               case T_WanderThreshold:
+                               fprintf(df, "wander_threshold %g\n", atrv->value.d);
+                               break;
+       
+                               case T_Leapfile:
+                               fprintf(df, "leapfile \"%s\"\n", atrv->value.s);
+                               break;
+
+                               case T_Pidfile:
+                               fprintf(df, "pidfile \"%s\"\n", atrv->value.s);
+                               break;
+
+                               case T_Logfile:
+                               fprintf(df, "logfile \"%s\"\n", atrv->value.s);
+                               break;
+#ifdef OPENSSL
+                               case T_Automax:
+                               fprintf(df, "automax %i\n", atrv->value.i);
+                               break;
+#endif
+                       }
+               }
+       }
+
+       list_ptr = queue_head(ptree->logconfig);
+       if (list_ptr != NULL) {
+               
+               fprintf(df, "logconfig");
+
+               for(;   list_ptr != NULL;
+                       list_ptr = next_node(list_ptr)) {
+                       atrv = (struct attr_val *) list_ptr;
+
+                       fprintf(df, " %c%s", atrv->attr, atrv->value.s);
+               }
+               fprintf(df, "\n");
+       }
+
+       if (ptree->stats_dir)
+               fprintf(df, "statsdir \"%s\"\n", ptree->stats_dir);
+
+       list_ptr = queue_head(ptree->stats_list);
+       if (list_ptr != NULL) {
+
+               fprintf(df, "statistics");
+               for(;   list_ptr != NULL;
+                       list_ptr = next_node(list_ptr)) {
+
+                       string = (char **) list_ptr;
+                               
+                       /* FIXME Find keyword and type of information */
+                       
+                       fprintf(df, " %s", *string);    
+               }
+
+               fprintf(df, "\n");
+       }
+
+       list_ptr = queue_head(ptree->filegen_opts);
+       if (list_ptr != NULL) {
+
+               for(;   list_ptr != NULL;
+                       list_ptr = next_node(list_ptr)) {
+
+                       fgen_node = list_ptr;
+                       fprintf(df, "filegen %s", fgen_node->name);
+
+                       opt_ptr = queue_head(fgen_node->options);
+
+                       for(;   opt_ptr != NULL;
+                               opt_ptr = next_node(opt_ptr)) {
+                               
+                               atrv = (struct attr_val *) opt_ptr;
+
+                               switch (atrv->attr) {
+
+                               default:
+                                       fprintf(df, "\n# dump error:\n"
+                                               "# unknown filegen option token %d\n"
+                                               "filegen %s",
+                                               atrv->type,
+                                               fgen_node->name);
+                                       break;
+
+                               case T_File:
+                                       fprintf(df, " file %s", atrv->value.s);
+                                       break;
+
+                               case T_Type:
+                                       fprintf(df, " type ");
+
+                                       switch (atrv->value.i) {
+
+                                       default:
+                                               fprintf(df, "\n# dump error:\n"
+                                                       "# unknown filegen type %d\n"
+                                                       "filegen %s type ",
+                                                       atrv->value.i,
+                                                       fgen_node->name);
+                                               break;
+
+                                               case FILEGEN_NONE:
+                                               fprintf(df, "none");
+                                               break;
+
+                                               case FILEGEN_DAY:
+                                               fprintf(df, "day");
+                                               break;
+
+                                               case FILEGEN_MONTH:
+                                               fprintf(df, "month");
+                                               break;
+
+                                               case FILEGEN_PID:
+                                               fprintf(df, "pid");
+                                               break;
+
+                                               case FILEGEN_WEEK:
+                                               fprintf(df, "week");
+                                               break;
+
+                                               case FILEGEN_YEAR:
+                                               fprintf(df, "year");
+                                               break;
+                                       }
+                                       break;
+
+                                       case T_Flag:
+                                       switch (atrv->value.i) {
+                                       default:
+                                               fprintf(df, "\n# dump error:\n"
+                                                       "# unknown filegen flag token %d\n"
+                                                       "filegen %s",
+                                                       atrv->value.i,
+                                                       fgen_node->name);
+                                               break;
+
+                                               case T_Link:
+                                               fprintf(df, " link");
+                                               break;
+
+                                               case T_Nolink:
+                                               fprintf(df, " nolink");
+                                               break;
+
+                                               case T_Enable:
+                                               fprintf(df, " enable");
+                                               break;
+
+                                               case T_Disable:
+                                               fprintf(df, " disable");
+                                               break;
+                                       }
+                                       break;
+                               }
+
+                       }
+
+                       fprintf(df, "\n");
+               }
+       }
+
        if (NULL != ptree->auth.keysdir)
                fprintf(df, "keysdir \"%s\"\n", ptree->auth.keysdir);
 
-       if (NULL != ptree->auth.keys)
-               fprintf(df, "keys \"%s\"\n", ptree->auth.keys);
+       if (NULL != ptree->auth.keys)
+               fprintf(df, "keys \"%s\"\n", ptree->auth.keys);
+
+       key_val = queue_head(ptree->auth.trusted_key_list);
+       if (key_val != NULL) {
+               fprintf(df, "trustedkey %d", *key_val);
+
+               while (NULL != (key_val = next_node(key_val)))
+                       fprintf(df, " %d", *key_val);
+               fprintf(df, "\n");
+       }
+
+       if (ptree->auth.control_key)
+               fprintf(df, "controlkey %d\n", ptree->auth.control_key);
+
+       if (ptree->auth.request_key)
+               fprintf(df, "requestkey %d\n", ptree->auth.request_key);
+
+       list_ptr = queue_head(ptree->enable_opts);
+       if (list_ptr != NULL) {
+
+               for(;   list_ptr != NULL;
+                       list_ptr = next_node(list_ptr)) {
+
+                       atrv = (struct attr_val *) list_ptr;
+
+                       fprintf(df, "enable");
+
+                       switch (atrv->value.i) {
+                       default:
+                               fprintf(df, "\n# dump error:\n"
+                                       "# unknown enable token %d\n"
+                                       "enable", atrv->value.i);
+                               break;
+
+                               case PROTO_AUTHENTICATE: 
+                               fprintf(df, " auth");   
+                               break;
+
+                               case PROTO_BROADCLIENT: 
+                               fprintf(df, " bclient");
+                               break;
+
+                               case PROTO_CAL: 
+                               fprintf(df, " calibrate");
+                               break;
+
+                               case PROTO_KERNEL: 
+                               fprintf(df, " kernel");
+                               break;
+
+                               case PROTO_MONITOR: 
+                               fprintf(df, " monitor");
+                               break;
+
+                               case PROTO_NTP: 
+                               fprintf(df, " ntp");
+                               break;
+
+                               case PROTO_FILEGEN: 
+                               fprintf(df, " stats");
+                               break;
+                       }
+               }
+               fprintf(df, "\n");
+       }
+
+       list_ptr = queue_head(ptree->disable_opts);
+       if (list_ptr != NULL) {
+
+               fprintf(df, "disable");
+
+               for(;   list_ptr != NULL;
+                       list_ptr = next_node(list_ptr)) {
+
+                       atrv = (struct attr_val *) list_ptr;
+
+                       switch (atrv->value.i) {
+                       default:
+                               fprintf(df, "\n# dump error:\n"
+                                       "# unknown disable token %d\n"
+                                       "disable", atrv->value.i);
+                               break;
+
+                               case PROTO_AUTHENTICATE: 
+                               fprintf(df, " auth");   
+                               break;
+
+                               case PROTO_BROADCLIENT: 
+                               fprintf(df, " bclient");
+                               break;
+
+                               case PROTO_CAL: 
+                               fprintf(df, " calibrate");
+                               break;
+
+                               case PROTO_KERNEL: 
+                               fprintf(df, " kernel");
+                               break;
+
+                               case PROTO_MONITOR: 
+                               fprintf(df, " monitor");
+                               break;
+
+                               case PROTO_NTP: 
+                               fprintf(df, " ntp");
+                               break;
+
+                               case PROTO_FILEGEN: 
+                               fprintf(df, " stats");
+                               break;
+                       }
+               }
+               fprintf(df, "\n");
+       }
+
+       list_ptr = queue_head(ptree->orphan_cmds);
+       if (list_ptr != NULL) {
+
+               fprintf(df, "tos");
+
+               for(;   list_ptr != NULL;
+                       list_ptr = next_node(list_ptr)) {
+
+                       atrv = (struct attr_val *) list_ptr;
+
+                       switch (atrv->attr) {
+
+                       default:
+                               fprintf(df, "\n# dump error:\n"
+                                       "# unknown tos token %d\n"
+                                       "tos", atrv->attr);
+                               break;
+
+                       case PROTO_CEILING:
+                               fprintf(df, " ceiling %d", (int)atrv->value.d);
+                               break;
+
+                       case PROTO_FLOOR:
+                               fprintf(df, " floor %d", (int)atrv->value.d);
+                               break;
+
+                       case PROTO_COHORT:
+                               fprintf(df, " cohort %d", !!(atrv->value.d));
+                               break;
+
+                       case PROTO_ORPHAN:
+                               fprintf(df, " orphan %d", (int)atrv->value.d);
+                               break;
+
+                       case PROTO_MINDISP:
+                               fprintf(df, " mindist %g", atrv->value.d);
+                               break;
+                               
+                       case PROTO_MAXDIST:
+                               fprintf(df, " maxdist %g", atrv->value.d);
+                               break;
+
+                       case PROTO_MINCLOCK:
+                               fprintf(df, " minclock %d", (int)atrv->value.d);
+                               break;
+
+                       case PROTO_MAXCLOCK:
+                               fprintf(df, " maxclock %d", (int)atrv->value.d);
+                               break;
 
-       key_val = queue_head(ptree->auth.trusted_key_list);
-       if (key_val != NULL) {
-               fprintf(df, "trustedkey %d", *key_val);
+                       case PROTO_MINSANE:
+                               fprintf(df, " minsane %d", (int)atrv->value.d);
+                               break;
+
+                       case PROTO_BEACON:
+                               fprintf(df, " beacon %d", (int)atrv->value.d);
+                               break;
+
+                       case PROTO_MAXHOP:
+                               fprintf(df, " maxhop %d", (int)atrv->value.d);
+                               break;
+                       }
+               }
 
-               while (NULL != (key_val = next_node(key_val)))
-                       fprintf(df, " %d", *key_val);
                fprintf(df, "\n");
        }
 
-       if (ptree->auth.control_key)
-               fprintf(df, "controlkey %d\n", ptree->auth.control_key);
+       list_ptr = queue_head(ptree->tinker);
+       if (list_ptr != NULL) {
 
-       if (ptree->auth.request_key)
-               fprintf(df, "requestkey %d\n", ptree->auth.request_key);
+               fprintf(df, "tinker");
+
+               for(;   list_ptr != NULL;
+                       list_ptr = next_node(list_ptr)) {
+
+                       atrv = (struct attr_val *) list_ptr;
+
+                       switch (atrv->attr) {
+                       default:
+                               fprintf(df, "\n# dump error:\n"
+                                       "# unknown tinker token %d\n"
+                                       "tinker", atrv->attr);
+                               break;
+
+                               case LOOP_MAX:
+                                    fprintf(df, " step");
+                                    break;
+
+                               case LOOP_PANIC:
+                                    fprintf(df, " panic");
+                                    break;
+
+                               case LOOP_PHI:
+                                    fprintf(df, " dispersion");
+                                    break;
+
+                               case LOOP_MINSTEP:
+                                    fprintf(df, " stepout");
+                                    break;
+
+                               case LOOP_ALLAN:
+                                    fprintf(df, " allan");
+                                    break;
+
+                               case LOOP_HUFFPUFF:
+                                    fprintf(df, " huffpuff");
+                                    break;
+
+                               case LOOP_FREQ:
+                                    fprintf(df, " freq");
+                                    break;
+                       }
+
+                       fprintf(df, " %g", atrv->value.d);
+               }
+
+               fprintf(df, "\n");
+       }
 
        if (ptree->broadcastclient)
                fprintf(df, "broadcastclient\n");
@@ -713,6 +1124,7 @@ dump_config_tree(
                                                atrv = (struct attr_val *) opts; 
                                        
                                                switch (atrv->attr) {
+
                                                default:
                                                        fprintf(df, "\n# dump error:\n"
                                                                "# unknown fudge CLK_ value %d\n"
@@ -720,19 +1132,19 @@ dump_config_tree(
                                                                addr_opts->addr->address);
                                                        break;
 
-                                                       case CLK_HAVETIME1:
+                                               case CLK_HAVETIME1:
                                                        fprintf(df, " time1 %g", atrv->value.d);
                                                        break;
                                        
-                                                       case CLK_HAVETIME2:
+                                               case CLK_HAVETIME2:
                                                        fprintf(df, " time2 %g", atrv->value.d);
                                                        break;
                        
-                                                       case CLK_HAVEVAL1:
+                                               case CLK_HAVEVAL1:
                                                        fprintf(df, " stratum %i", atrv->value.i);
                                                        break;
 
-                                                       case CLK_HAVEVAL2:
+                                               case CLK_HAVEVAL2:
                                                        memset(refid, 0, sizeof(refid));
                                                        memcpy(refid, atrv->value.s,
                                                            min(strlen(atrv->value.s), 4));
@@ -740,37 +1152,23 @@ dump_config_tree(
                                                        fprintf(df, " refid %s", refid);
                                                        break;
 
-                                                       case CLK_HAVEFLAG1:
-                                                       if (atrv->value.i)
-                                                               fprintf(df, " flag1 1");
-                                                       else 
-                                                               fprintf(df, " flag1 0");
+                                               case CLK_HAVEFLAG1:
+                                                       fprintf(df, " flag1 %d", !!atrv->value.i);
                                                        break;
                                    
-                                                       case CLK_HAVEFLAG2:
-                                                       if (atrv->value.i)
-                                                               fprintf(df, " flag2 1");
-                                                       else 
-                                                               fprintf(df, " flag2 0");
+                                               case CLK_HAVEFLAG2:
+                                                       fprintf(df, " flag2 %d", !!atrv->value.i);
                                                        break;
 
-                                                       case CLK_HAVEFLAG3:
-                                                       if (atrv->value.i)
-                                                               fprintf(df, " flag3 1");
-                                                       else 
-                                                               fprintf(df, " flag3 0");
-
+                                               case CLK_HAVEFLAG3:
+                                                       fprintf(df, " flag3 %d", !!atrv->value.i);
                                                        break;
 
-                                                       case CLK_HAVEFLAG4:
-                                                       if (atrv->value.i)
-                                                               fprintf(df, " flag4 1");
-                                                       else 
-                                                               fprintf(df, " flag4 0");
+                                               case CLK_HAVEFLAG4:
+                                                       fprintf(df, " flag4 %d", !!atrv->value.i);
                                                        break;
                                                }
                                        }
-
                                        fprintf(df, "\n");
                                }
                        }
@@ -785,214 +1183,33 @@ dump_config_tree(
                     list_ptr != NULL;
                     list_ptr = next_node(list_ptr)) {
 
-                       addr = (struct address_node *) list_ptr;
-                       fprintf(df, " %s", addr->address);
-               }
-               fprintf(df, "\n");
-       }
-
-       list_ptr = queue_head(ptree->multicastclient);
-       if (list_ptr != NULL) {
-               addr = (struct address_node *) list_ptr;
-               fprintf(df, "multicastclient %s", addr->address);
-               for (list_ptr = next_node(list_ptr);    
-                    list_ptr != NULL;
-                    list_ptr = next_node(list_ptr)) {
-
-                       addr = (struct address_node *) list_ptr;
-                       fprintf(df, " %s", addr->address);
-               }
-               fprintf(df, "\n");
-       }
-
-       list_ptr = queue_head(ptree->unpeers);
-       for (;  list_ptr != NULL;
-               list_ptr = next_node(list_ptr)) {
-               
-               unpeers = (struct unpeer_node *) list_ptr;
-               
-               fprintf(df, "unpeer %s\n", (unpeers->addr)->address);
-       }
-
-       list_ptr = queue_head(ptree->orphan_cmds);
-       if (list_ptr != NULL) {
-
-               fprintf(df, "tos");
-
-               for(;   list_ptr != NULL;
-                       list_ptr = next_node(list_ptr)) {
-
-                       atrv = (struct attr_val *) list_ptr;
-
-                       switch (atrv->attr) {
-
-                       default:
-                               fprintf(df, "\n# dump error:\n"
-                                       "# unknown tos token %d\n"
-                                       "tos", atrv->attr);
-                               break;
-
-                       case PROTO_CEILING:
-                               fprintf(df, " ceiling %d", (int) atrv->value.d);
-                               break;
-
-                       case PROTO_FLOOR:
-                               fprintf(df, " floor %d", (int) atrv->value.d);
-                               break;
-
-                       case PROTO_COHORT:
-                               fprintf(df, " cohort %d", !!(atrv->value.d));
-                               break;
-
-                       case PROTO_ORPHAN:
-                               fprintf(df, " orphan %d", (int)atrv->value.d);
-                               break;
-
-                       case PROTO_MINDISP:
-                               fprintf(df, " mindist %g", atrv->value.d);
-                               break;
-                               
-                       case PROTO_MAXDIST:
-                               fprintf(df, " maxdist %g", atrv->value.d);
-                               break;
-
-                       case PROTO_MINCLOCK:
-                               fprintf(df, " minclock %d", (int)atrv->value.d);
-                               break;
-
-                       case PROTO_MAXCLOCK:
-                               fprintf(df, " maxclock %d", (int)atrv->value.d);
-                               break;
-
-                       case PROTO_MINSANE:
-                               fprintf(df, " minsane %d", (int) atrv->value.d);
-                               break;
-
-                       case PROTO_BEACON:
-                               fprintf(df, " beacon %d", (int) atrv->value.d);
-                               break;
-
-                       case PROTO_MAXHOP:
-                               fprintf(df, " maxhop %d", (int) atrv->value.d);
-                               break;
-                       }
-               }
-
-               fprintf(df, "\n");
-       }
-
-       list_ptr = queue_head(ptree->stats_list);
-       if (list_ptr != NULL) {
-
-               fprintf(df, "statistics ");
-               for(;   list_ptr != NULL;
-                       list_ptr = next_node(list_ptr)) {
-
-                       string = (char **) list_ptr;
-                               
-                       /* FIXME Find keyword and type of information */
-                       
-                       fprintf(df, "%s ", *string);    
-               }
-
-               fprintf(df, "\n");
-       }
-
-       list_ptr = queue_head(ptree->filegen_opts);
-       if (list_ptr != NULL) {
-
-               for(;   list_ptr != NULL;
-                       list_ptr = next_node(list_ptr)) {
-
-                       fprintf(df, "filegen ");
-
-                       fgen_node = (struct filegen_node *) list_ptr;
-
-                       opt_ptr = queue_head(fgen_node->options);
-
-                       for(;   opt_ptr != NULL;
-                               opt_ptr = next_node(opt_ptr)) {
-                               
-                               atrv = (struct attr_val *) opt_ptr;
-
-                               switch (atrv->type) {
-                               default:
-                                       fprintf(df, "\n# dump error:\n"
-                                               "# unknown filegen option token %d\n"
-                                               "filegen ", atrv->type);
-                                       break;
-
-                                       case T_File:
-                                       fprintf(df, " file %s", atrv->value.s);
-                                       break;
-
-                                       case T_Type:
-                                       fprintf(df, " type ");
-                                       
-                                       switch (atrv->value.i) {
-                                       default:
-                                               fprintf(df, "\n# dump error:\n"
-                                                       "# unknown filegen type token %d\n"
-                                                       "filegen type ", atrv->value.i);
-                                               break;
-
-                                               case T_Day:
-                                               fprintf(df, "day");
-                                               break;
-
-                                               case T_Month:
-                                               fprintf(df, "month");
-                                               break;
-
-                                               case T_None:
-                                               fprintf(df, "none");
-                                               break;
-
-                                               case T_Pid:
-                                               fprintf(df, "pid");
-                                               break;
-
-                                               case T_Week:
-                                               fprintf(df, "week");
-                                               break;
-
-                                               case T_Year:
-                                               fprintf(df, "year");
-                                               break;
-                                       }
-                                       break;
-
-                                       case T_Flag:
-                                       switch (atrv->value.i) {
-                                       default:
-                                               fprintf(df, "\n# dump error:\n"
-                                                       "# unknown filegen flag token %d\n"
-                                                       "filegen ", atrv->value.i);
-                                               break;
-
-                                               case T_Link:
-                                               fprintf(df, " link");
-                                               break;
-
-                                               case T_Nolink:
-                                               fprintf(df, " nolink");
-                                               break;
-
-                                               case T_Enable:
-                                               fprintf(df, " enable");
-                                               break;
-
-                                               case T_Disable:
-                                               fprintf(df, " disable");
-                                               break;
-                                       }
-                                       break;
-                               }
+                       addr = (struct address_node *) list_ptr;
+                       fprintf(df, " %s", addr->address);
+               }
+               fprintf(df, "\n");
+       }
 
-                       }
+       list_ptr = queue_head(ptree->multicastclient);
+       if (list_ptr != NULL) {
+               addr = (struct address_node *) list_ptr;
+               fprintf(df, "multicastclient %s", addr->address);
+               for (list_ptr = next_node(list_ptr);    
+                    list_ptr != NULL;
+                    list_ptr = next_node(list_ptr)) {
 
-                       fprintf(df, "\n");
+                       addr = (struct address_node *) list_ptr;
+                       fprintf(df, " %s", addr->address);
                }
+               fprintf(df, "\n");
+       }
+
+       list_ptr = queue_head(ptree->unpeers);
+       for (;  list_ptr != NULL;
+               list_ptr = next_node(list_ptr)) {
+               
+               unpeers = (struct unpeer_node *) list_ptr;
+               
+               fprintf(df, "unpeer %s\n", (unpeers->addr)->address);
        }
 
        list_ptr = queue_head(ptree->discard_opts);
@@ -1115,178 +1332,10 @@ dump_config_tree(
                                                break;
                                }
                        }
-                       
                        fprintf(df, "\n");
                }
        }
 
-       
-       list_ptr = queue_head(ptree->enable_opts);
-       if (list_ptr != NULL) {
-
-               for(;   list_ptr != NULL;
-                       list_ptr = next_node(list_ptr)) {
-
-                       atrv = (struct attr_val *) list_ptr;
-
-                       fprintf(df, "enable");
-
-                       switch (atrv->value.i) {
-                       default:
-                               fprintf(df, "\n# dump error:\n"
-                                       "# unknown enable token %d\n"
-                                       "enable", atrv->value.i);
-                               break;
-
-                               case PROTO_AUTHENTICATE: 
-                               fprintf(df, " auth");   
-                               break;
-
-                               case PROTO_BROADCLIENT: 
-                               fprintf(df, " bclient");
-                               break;
-
-                               case PROTO_CAL: 
-                               fprintf(df, " calibrate");
-                               break;
-
-                               case PROTO_KERNEL: 
-                               fprintf(df, " kernel");
-                               break;
-
-                               case PROTO_MONITOR: 
-                               fprintf(df, " monitor");
-                               break;
-
-                               case PROTO_NTP: 
-                               fprintf(df, " ntp");
-                               break;
-
-                               case PROTO_FILEGEN: 
-                               fprintf(df, " stats");
-                               break;
-                       }
-               }
-               fprintf(df, "\n");
-       }
-
-       list_ptr = queue_head(ptree->disable_opts);
-       if (list_ptr != NULL) {
-
-               fprintf(df, "disable");
-
-               for(;   list_ptr != NULL;
-                       list_ptr = next_node(list_ptr)) {
-
-                       atrv = (struct attr_val *) list_ptr;
-
-                       switch (atrv->value.i) {
-                       default:
-                               fprintf(df, "\n# dump error:\n"
-                                       "# unknown disable token %d\n"
-                                       "disable", atrv->value.i);
-                               break;
-
-                               case PROTO_AUTHENTICATE: 
-                               fprintf(df, " auth");   
-                               break;
-
-                               case PROTO_BROADCLIENT: 
-                               fprintf(df, " bclient");
-                               break;
-
-                               case PROTO_CAL: 
-                               fprintf(df, " calibrate");
-                               break;
-
-                               case PROTO_KERNEL: 
-                               fprintf(df, " kernel");
-                               break;
-
-                               case PROTO_MONITOR: 
-                               fprintf(df, " monitor");
-                               break;
-
-                               case PROTO_NTP: 
-                               fprintf(df, " ntp");
-                               break;
-
-                               case PROTO_FILEGEN: 
-                               fprintf(df, " stats");
-                               break;
-                       }
-               }
-               fprintf(df, "\n");
-       }
-
-       list_ptr = queue_head(ptree->tinker);
-       if (list_ptr != NULL) {
-
-               fprintf(df, "tinker");
-
-               for(;   list_ptr != NULL;
-                       list_ptr = next_node(list_ptr)) {
-
-                       atrv = (struct attr_val *) list_ptr;
-
-                       switch (atrv->attr) {
-                       default:
-                               fprintf(df, "\n# dump error:\n"
-                                       "# unknown tinker token %d\n"
-                                       "tinker", atrv->attr);
-                               break;
-
-                               case LOOP_MAX:
-                                    fprintf(df, " step");
-                                    break;
-
-                               case LOOP_PANIC:
-                                    fprintf(df, " panic");
-                                    break;
-
-                               case LOOP_PHI:
-                                    fprintf(df, " dispersion");
-                                    break;
-
-                               case LOOP_MINSTEP:
-                                    fprintf(df, " stepout");
-                                    break;
-
-                               case LOOP_ALLAN:
-                                    fprintf(df, " allan");
-                                    break;
-
-                               case LOOP_HUFFPUFF:
-                                    fprintf(df, " huffpuff");
-                                    break;
-
-                               case LOOP_FREQ:
-                                    fprintf(df, " freq");
-                                    break;
-                       }
-
-                       fprintf(df, " %g", atrv->value.d);
-               }
-
-               fprintf(df, "\n");
-       }
-
-
-       list_ptr = queue_head(ptree->logconfig);
-       if (list_ptr != NULL) {
-               
-               fprintf(df, "logconfig");
-
-               for(;   list_ptr != NULL;
-                       list_ptr = next_node(list_ptr)) {
-                       atrv = (struct attr_val *) list_ptr;
-
-                       fprintf(df, " %c%s", atrv->attr, atrv->value.s);
-               }
-
-               fprintf(df, "\n");
-       }
-
        list_ptr = queue_head(ptree->phone);
        if (list_ptr != NULL) {
 
@@ -1385,7 +1434,7 @@ dump_config_tree(
                                        break;
 
                                case T_Port:
-                                       fprintf(df, " port %i", atrv->value.i);
+                                       fprintf(df, " port %d", atrv->value.i);
                                        break;
 
                                case T_Interface:
@@ -1399,62 +1448,6 @@ dump_config_tree(
                }
        }
 
-       /* For options I didn't find documentation I'll just output its name and the cor. value */
-       list_ptr = queue_head(ptree->vars);
-       if (list_ptr != NULL) {
-
-               for(;   list_ptr != NULL;
-                       list_ptr = next_node(list_ptr)) {
-
-                       atrv = (struct attr_val *) list_ptr;
-
-                       switch (atrv->attr) {
-                       default:
-                               fprintf(df, "\n# dump error:\n"
-                                       "# unknown vars token %d\n",
-                                       atrv->attr);
-                               break;
-
-                               case T_Broadcastdelay:
-                               fprintf(df, "broadcastdelay %g\n", atrv->value.d);
-                               break;
-                               
-                               case T_Calldelay:
-                               fprintf(df, "calldelay %i\n", atrv->value.i);
-                               break;
-
-                               case T_Tick:
-                               fprintf(df, "tick %g\n", atrv->value.d);
-                               break;
-
-                               case T_Driftfile:
-                               fprintf(df, "driftfile \"%s\"\n", atrv->value.s);
-                               break;
-                       
-                               case T_WanderThreshold:
-                               fprintf(df, "wander_threshold %g\n", atrv->value.d);
-                               break;
-       
-                               case T_Leapfile:
-                               fprintf(df, "leapfile \"%s\"\n", atrv->value.s);
-                               break;
-
-                               case T_Pidfile:
-                               fprintf(df, "pidfile \"%s\"\n", atrv->value.s);
-                               break;
-
-                               case T_Logfile:
-                               fprintf(df, "logfile \"%s\"\n", atrv->value.s);
-                               break;
-#ifdef OPENSSL
-                               case T_Automax:
-                               fprintf(df, "automax %i\n", atrv->value.i);
-                               break;
-#endif
-                       }
-               }
-       }
-
        return 0;
 }