The base/count bounds checking was insufficient, leading to a kernel memory
[dragonfly.git] / contrib / ntp / TODO
1
2       *** IF YOU CAN HELP FIX ANY OF THESE THINGS, PLEASE DO! ***
3
4 010402: Look harder at -lm and -lelf - they are needed less and less...
5
6 970711: Look Real Hard at changing the key stuff from u_long to u_int32.
7
8 970711: Make sure it's safe to convert proto_config's 2nd argument from
9         u_long to u_int32.  Watch "set" in ntp_request.c:setclr_flags().
10
11 970318: in hourly_stats(?), squawk if the magnitude of the drift is,
12         say, >400.
13
14 970301: Implement the utmp/wtmp timestamping on time steps.
15
16 970210: Find a way to dump the current configuration to either syslog or
17         a file.
18
19 CPP macros we need to handle:
20
21  SUN_3_3_STINKS  (this will be easy to handle if anybody still needs it)
22
23 Problems that need to be fixed:
24
25 - Get rid of the old SYS_* macros:
26   (It's worth noting that any code that would have been "enabled" by any
27   of these macros has not been used since 5.83, and there have been very
28   few complaints...)
29
30   SYS_44BSD:
31    authstuff/md5driver.c
32
33   SYS_BSDI:
34    authstuff/md5driver.c
35
36   SYS_DECOSF1:
37    util/ntptime.c
38
39   SYS_DOMAINOS:
40    parseutil/dcfd.c
41    xntpd/ntpd.c
42
43   SYS_HPUX:
44    kernel/sys/ppsclock.h
45    ntpdate/ntpdate.c
46    ntptrace/ntptrace.c
47
48   SYS_PTX:
49    libntp/machines.c
50
51   SYS_SOLARIS:
52    libparse/parse.c
53    libparse/clk_trimtsip.c
54    xntpd/ntp_io.c
55    xntpd/ntp_refclock.c
56    xntpd/ntpd.c
57
58   SYS_SUNOS4:
59    libparse/parse.c
60    libparse/clk_trimsip.c
61
62   SYS_WINNT:
63    include/ntp.h
64    include/ntp_fp.h
65    include/ntp_if.h
66    include/ntp_machine.h
67    include/ntp_select.h
68    include/ntp_syslog.h
69    include/ntp_unixtime.h
70    include/ntpd.h
71    libntp/libntp.mak
72    libntp/machines.c
73    libntp/mexit.c
74    libntp/msyslog.c
75    libntp/systime.c
76    ntpdate/ntpdate.c
77    ntpdate/ntpdate.mak
78    ntpq/ntpq.c
79    ntpq/ntpq.mak
80    ntpq/ntpq_ops.c
81    ntptrace/ntptrace.c
82    ntptrace/ntptrace.mak
83    xntpd/ntp_config.c
84    xntpd/ntp_filegen.c
85    xntpd/ntp_intres.c
86    xntpd/ntp_io.c
87    xntpd/ntp_loopfilter.c
88    xntpd/ntp_peer.c
89    xntpd/ntp_proto.c
90    xntpd/ntp_refclock.c
91    xntpd/ntp_timer.c
92    xntpd/ntp_unixclock.c
93    xntpd/ntp_util.c
94    xntpd/ntpd.c
95    xntpd/xntpd.mak
96    xntpdc/ntpdc.c
97    xntpdc/xntpdc.mak
98
99 - config.guess might need help to identify:
100
101   Fujitsu's UXP                         --enable-adjtime-is-accurate
102                                         --enable-step-slew
103
104   Unixware                              --enable-adjtime-is-accurate
105                                         --enable-tick=10000
106                                         --enable-tickadj=80
107                                         --enable-udp-wildcard
108                                         --disable-step-slew
109
110   DomainOS                              --enable-adjtime-is-accurate
111                                         --disable-kmem
112                                         --enable-tick=1000000
113
114   OpenVMS                               --enable-slew-always
115                                         --enable-hourly-todr-sync
116
117   Is adjtime accurate on ALL sysv4* machines?
118   Can we identify DomainOS with *-apollo-* ?
119   Do we catch all Unixware machines with *-univel-sysv* ?
120
121 - How can we test if UDP_WILDCARD_DELIVERY should be used?
122
123 - Combine enable-step-slew and enable-ntpdate-step
124
125 - Make sure enable-hourly-todr-sync is always disabled
126   What about NextStep and OpenVMS, where hourly TODR sync used to be enabled?
127
128 - Check dcfd.c for variables that need to be volatile.