~ubuntu-branches/debian/squeeze/ntp/squeeze-201010051545

« back to all changes in this revision

Viewing changes to html/hints/a-ux

  • Committer: Bazaar Package Importer
  • Author(s): Kurt Roeckx
  • Date: 2009-01-05 21:10:03 UTC
  • mfrom: (1.2.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20090105211003-mh6zc3um4k1uhsj7
Tags: 1:4.2.4p4+dfsg-8
It did not properly check the return value of EVP_VerifyFinal
which results in an malformed DSA signature being treated as
a good signature rather than as an error.  (CVE-2009-0021)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
-------------
2
 
INTRODUCTION:
3
 
-------------
4
 
Last revision:  06-Jul-1994
5
 
 
6
 
Included in this distribution of XNTP V3 is a configuration file suitable
7
 
for use under Apple's A/UX Version 3.x.x  There is also one for A/UX 2.0.1
8
 
but it has not been fully tested. To make the executables follow the steps
9
 
outlined below.
10
 
 
11
 
*** NOTE:  You must have gcc installed to successfully compile the current
12
 
distribution; the native cc supplied with A/UX will NOT correctly compile
13
 
this source.  See the FAQ in comp.unix.aux for places to obtain gcc from
14
 
and how to install it.
15
 
 
16
 
----------------------
17
 
MAKING XNTPD FOR A/UX:
18
 
----------------------
19
 
 
20
 
First, you need to create the makefiles (after you've downloaded the
21
 
source, of course):
22
 
 
23
 
    % make clean
24
 
    % make refconf
25
 
 
26
 
After that, you should edit Config.local to make sure that BINDIR is
27
 
correct for where you wish the programs to be "installed". The default
28
 
(and what I use) is /usr/local/etc. Make sure that DEFS_LOCAL and
29
 
CLOCKDEFS are commented out! Presently, only the LOCAL_CLOCK/REFCLOCK
30
 
clock is used and supported.
31
 
 
32
 
 
33
 
After this is done (you should be told that your system is A/UX 3), make
34
 
'xntpd' (the options to 'gcc' are held in compilers/aux3.gcc):
35
 
 
36
 
    % make
37
 
 
38
 
I do not normally use the `make install' option and so have not verified its
39
 
compatibility with A/UX.  Rather, I pull out each of the executables and
40
 
place them in the locally appropriate locations.
41
 
 
42
 
---------------
43
 
STARTING XNTPD:
44
 
---------------
45
 
 
46
 
At this point you need to set things up so that 'xntpd' is started upon
47
 
boot-up. You can do this in 1 of 2 ways: either add entries in /etc/inittab
48
 
or, more ideally, create and use an /etc/rc.local file. Since rc.local is
49
 
what I recommend, here's how you do it:
50
 
 
51
 
By default, A/UX doesn't have rc.local, so you'll need to add the following to
52
 
/etc/inittab:
53
 
 
54
 
    net6:2:wait:/etc/syslogd            # set to "wait" to run a syslog daemon
55
 
+   jmj0:2:wait:/etc/rc.local 1>/dev/syscon 2>&1        # Local stuff
56
 
    dbg2::wait:/etc/telinit v   # turn off init's verbose mode
57
 
 
58
 
Now, the look of a sample /etc/rc.local is as follows:
59
 
 
60
 
    #!/bin/sh
61
 
    :
62
 
    : rc.local
63
 
    :
64
 
    #   @(#)Copyright Apple Computer 1987       Version 1.17 of rc.sh on 91/11/08 15:56:21 (ATT 1.12)
65
 
    
66
 
    
67
 
    #   Push line discipline/set the device so it will print
68
 
    /etc/line_sane 1
69
 
    echo " "
70
 
    echo "Entering rc.local..."
71
 
    
72
 
    set `/bin/who -r`
73
 
    if [ "$7" = 2 ]
74
 
    then
75
 
        /bin/echo " now setting the time..."
76
 
        /usr/local/etc/ntpdate -s -b <host.domain>
77
 
        sleep 5
78
 
    #
79
 
    # start up 'xntpd' if we want
80
 
    #
81
 
        if [ -f /etc/ntp.conf ]
82
 
        then
83
 
        /bin/echo " setting tick and tickadj..."
84
 
        /usr/local/etc/tickadj -t 16672 -a 54
85
 
        sleep 5
86
 
        /bin/echo " starting xntpd..."
87
 
        /usr/local/etc/xntpd <&- > /dev/null 2>&1
88
 
        sleep 5
89
 
        fi
90
 
    #
91
 
    fi
92
 
    
93
 
    echo "Leaving rc.local..."
94
 
 
95
 
There are a few things to notice about the above:
96
 
 
97
 
    o When run, 'ntpdate' forces your clock to the time returned by the
98
 
      host(s) specified by <host.domain> (you'll need to replace this
99
 
      be the IP address(es) of your timehosts. This is good since it gets
100
 
      things close to start off with. You can use more than one time
101
 
      server.
102
 
 
103
 
    o 'tickadj' is also called. This does two things: changes the
104
 
      default value of 'tick' (which the the amount of time, in ms, that
105
 
      is added to the clock every 1/60 seconds) and changes the value
106
 
      of 'tickadj' which the the amount that is added or subtracted
107
 
      from 'tickadj' when adjtime() is called.
108
 
 
109
 
      Now Mac clocks are pretty bad and tend to be slow. Sooo, instead of
110
 
      having A/UX add the default of 16666ms every 1/60th of a second, you
111
 
      may want it to add more (or less) so that it keeps better time. The
112
 
      above value works for me but your "best" value may be different and
113
 
      will likely require some fooling around to find the best value. As a
114
 
      general rule of thumb, if you see 'xntpd' make a lot of negative clock
115
 
      adjustments, then your clock is fast and you'll need to _decrease_
116
 
      the value of 'tick'. If your adjustments are positive, then you need
117
 
      to increase 'tick'. To make a guess on how fast/slow your clock is,
118
 
      use 'ntpdate' to sync your clock. Now watch 'xntpd' and see how it
119
 
      operates. If, for example, it resets your clock by 1 second every 30
120
 
      minutes, then your clock is (1/(30*60)) is about 0.056% off and you'll
121
 
      need to adjust 'tick' by 16666*0.00056 or about 9 (i.e. 'tick' should
122
 
      be ~16675 if slow or ~16657 if fast)
123
 
 
124
 
      A/UX's default value of 'tickadj' is 1666 which is too big for
125
 
      'xntpd'... so it also needs to be adjusted. I like using larger
126
 
      values then the recommended value of 9 for 'tickadj' (although not
127
 
      anything near as big as 1666) since this allows for quick slews
128
 
      when adjusting the clock. Even with semi-large values of 'tickadj'
129
 
      (~200), getting 5ms (1/200 s) accuracy is easy.
130
 
 
131
 
 
132
 
Finally, before A/UX and 'xntpd' will work happily together, you need to
133
 
patch the kernel. This is due to the fact that A/UX attempts to keep the
134
 
UNIX-software clock and the Mac-hardware clock in sync. Neither the h/w or
135
 
the s/w clock are too accurate. Also, 'xntpd' will be attempting to adjust
136
 
the software clock as well, so having A/UX muck around with it is asking
137
 
for headaches. What you therefore need to do is tell the kernel _not_ to
138
 
sync the s/w clock with the h/w one. This is done using 'adb'. The
139
 
following is a shell script that will do the patch for you:
140
 
 
141
 
    #! /bin/sh
142
 
    adb -w /unix <<!
143
 
    init_time_fix_timeout?4i
144
 
    init_time_fix_timeout?w 0x4e75
145
 
    init_time_fix_timeout?4i
146
 
    $q
147
 
    !
148
 
 
149
 
This must be done _every_ time you create a new kernel (via newconfig or
150
 
newunix) or else 'xntpd' will go crazy.
151
 
 
152
 
--------
153
 
HISTORY:
154
 
--------
155
 
 
156
 
John Dundas was the original porter of 'xntpd' and a lot of the additions
157
 
and A/UX-ports are from him. I got involved when I wanted to run 'xntpd'
158
 
on jagubox. It was also around this time that the base-patchlevel of
159
 
'xntpd' changed relatively (the so-called "jones" version). Since then,
160
 
I've been maintaining 'xntpd' for A/UX for the xntp development team
161
 
 
162
 
The original kernel patch (which patched 'time_fix_timeout') was from
163
 
Richard Todd. I suggest patching 'init_time_fix_timeout' which prevents
164
 
'time_fix_timeout' from even being called.
165
 
 
166
 
----------------
167
 
TECHNICAL NOTES:
168
 
----------------
169
 
 
170
 
    o As configured (see machines/aux3), 'xntpd' will log messages via syslogd
171
 
      using the LOC_LOCAL1 facility. I would suggest the following in
172
 
      /etc/syslog.conf:
173
 
 
174
 
        local1.notice           /usr/adm/ntpd-syslog
175
 
 
176
 
    o As mentioned above, the clocks on A/UX and Macs are kinda bad. Not
177
 
      only that, but logging in and out of the MacOS mode as well as
178
 
      extensive floppy use causes A/UX to drop and lose clock interupts
179
 
      (these are sent every 1/60th of a second). So, if you do these
180
 
      activities a lot, you find out that you lose about 300ms of time
181
 
      (i.e., you become 300ms slow). 'xntpd' default way of handling this
182
 
      is to called 'settimeofday()' and step the clock to the correct
183
 
      time. I prefer having 'xntpd' slew the clock back into line by
184
 
      making gradual adjustments to the clock over a coupla minutes
185
 
      or so. It's for this reason that SLEWALWAYS is defined in
186
 
      include/ntp_machine.h for SYS_AUX3. It's also for this reason than
187
 
      I like larger values of 'tickadj'.
188
 
 
189
 
Good luck!  If you have problems under A/UX feel free to contact me (e-mail
190
 
is preferred).
191
 
--
192
 
    Jim Jagielski               |  "That is no ordinary rabbit... 'tis the
193
 
    jim@jagubox.gsfc.nasa.gov   |   most foul, cruel and bad-tempered
194
 
    NASA/GSFC, Code 734.4       |   rodent you ever set eyes on"
195
 
    Greenbelt, MD 20771         |                   Tim the Enchanter