author | Brian Utterback <brian.utterback@oracle.com> |
Wed, 25 Jan 2017 16:29:14 -0800 | |
changeset 7606 | 0bea82fa40c9 |
parent 7416 | d9ef61aeb80c |
permissions | -rw-r--r-- |
7416
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
1 |
This patch is Solaris specific and will not be submitted to the community. It |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
2 |
makes it possible to suppress the "Not owner" errors if NTP is run in a zone |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
3 |
without the sys_time privilege needed to adjust the clock. It also adds a check |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
4 |
for that same privilege so that the service will go into maintenance by default |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
5 |
if the privilege is missing. |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
6 |
|
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
7 |
*** include/ntp_machine.h |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
8 |
--- include/ntp_machine.h |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
9 |
*************** extern char *strdup(const char *); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
10 |
*** 293,297 **** |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
11 |
--- 293,298 ---- |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
12 |
extern time_t timegm (struct tm *); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
13 |
#endif |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
14 |
|
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
15 |
+ extern int eperm_count; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
16 |
|
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
17 |
#endif /* NTP_MACHINE_H */ |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
18 |
*** ntpd/ntp_loopfilter.c |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
19 |
--- ntpd/ntp_loopfilter.c |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
20 |
*************** |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
21 |
*** 15,20 **** |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
22 |
--- 15,21 ---- |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
23 |
#include "ntp_io.h" |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
24 |
#include "ntp_unixtime.h" |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
25 |
#include "ntp_stdlib.h" |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
26 |
+ #include "ntp_machine.h" |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
27 |
|
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
28 |
#include <limits.h> |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
29 |
#include <stdio.h> |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
30 |
*************** ntp_adjtime_error_handler( |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
31 |
*** 263,278 **** |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
32 |
); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
33 |
break; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
34 |
case EPERM: |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
35 |
! if (tai_call) { |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
36 |
! errno = saved_errno; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
37 |
! msyslog(LOG_ERR, |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
38 |
! "%s: ntp_adjtime(TAI) failed: %m", |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
39 |
! caller); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
40 |
} |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
41 |
! errno = saved_errno; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
42 |
! msyslog(LOG_ERR, "%s: %s line %d: ntp_adjtime: %m", |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
43 |
! caller, file_name(), line |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
44 |
! ); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
45 |
break; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
46 |
default: |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
47 |
msyslog(LOG_NOTICE, "%s: %s line %d: unhandled errno value %d after failed ntp_adjtime call", |
7606
0bea82fa40c9
25438095 Fix for 24660275 was incomplete.
Brian Utterback <brian.utterback@oracle.com>
parents:
7416
diff
changeset
|
48 |
--- 264,285 ---- |
7416
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
49 |
); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
50 |
break; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
51 |
case EPERM: |
7606
0bea82fa40c9
25438095 Fix for 24660275 was incomplete.
Brian Utterback <brian.utterback@oracle.com>
parents:
7416
diff
changeset
|
52 |
! case ENOTSUP: |
7416
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
53 |
! if (!eperm_count) { |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
54 |
! if (tai_call) { |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
55 |
! errno = saved_errno; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
56 |
! msyslog(LOG_ERR, |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
57 |
! "%s: ntp_adjtime(TAI) failed: %m", |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
58 |
! caller); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
59 |
! } |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
60 |
! errno = saved_errno; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
61 |
! msyslog(LOG_ERR, "%s: %s line %d: ntp_adjtime: %m", |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
62 |
! caller, file_name(), line |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
63 |
! ); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
64 |
! msyslog(LOG_ERR, "Is the current zone missing" |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
65 |
! " the sys_time privilege?"); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
66 |
} |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
67 |
! eperm_count++; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
68 |
break; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
69 |
default: |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
70 |
msyslog(LOG_NOTICE, "%s: %s line %d: unhandled errno value %d after failed ntp_adjtime call", |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
71 |
*** libntp/systime.c |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
72 |
--- libntp/systime.c |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
73 |
*************** |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
74 |
*** 14,19 **** |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
75 |
--- 14,20 ---- |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
76 |
#include "timevalops.h" |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
77 |
#include "timespecops.h" |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
78 |
#include "ntp_calendar.h" |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
79 |
+ #include "ntp_machine.h" |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
80 |
|
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
81 |
#ifdef HAVE_SYS_PARAM_H |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
82 |
# include <sys/param.h> |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
83 |
*************** |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
84 |
*** 28,33 **** |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
85 |
--- 29,40 ---- |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
86 |
int allow_panic = FALSE; /* allow panic correction (-g) */ |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
87 |
int enable_panic_check = TRUE; /* Can we check allow_panic's state? */ |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
88 |
|
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
89 |
+ /* Count how many EPERM error we have had. Only log an error on the first |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
90 |
+ * one. Don't even try after the first ten. To suppress the log, initialize |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
91 |
+ * the count to one. |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
92 |
+ */ |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
93 |
+ int eperm_count=0; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
94 |
+ |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
95 |
#ifndef USE_COMPILETIME_PIVOT |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
96 |
# define USE_COMPILETIME_PIVOT 1 |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
97 |
#endif |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
98 |
*************** adj_systime( |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
99 |
*** 346,363 **** |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
100 |
adjtv.tv_usec = -adjtv.tv_usec; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
101 |
sys_residual = -sys_residual; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
102 |
} |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
103 |
if (adjtv.tv_sec != 0 || adjtv.tv_usec != 0) { |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
104 |
! if (adjtime(&adjtv, &oadjtv) < 0) { |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
105 |
! msyslog(LOG_ERR, "adj_systime: %m"); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
106 |
! if (enable_panic_check && allow_panic) { |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
107 |
! msyslog(LOG_ERR, "adj_systime: allow_panic is TRUE!"); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
108 |
} |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
109 |
return FALSE; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
110 |
} |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
111 |
} |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
112 |
- if (enable_panic_check && allow_panic) { |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
113 |
- msyslog(LOG_ERR, "adj_systime: allow_panic is TRUE!"); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
114 |
- } |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
115 |
return TRUE; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
116 |
} |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
117 |
#endif |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
118 |
--- 353,380 ---- |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
119 |
adjtv.tv_usec = -adjtv.tv_usec; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
120 |
sys_residual = -sys_residual; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
121 |
} |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
122 |
+ if (enable_panic_check && allow_panic) { |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
123 |
+ msyslog(LOG_ERR, "adj_systime: allow_panic is TRUE!"); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
124 |
+ } |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
125 |
if (adjtv.tv_sec != 0 || adjtv.tv_usec != 0) { |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
126 |
! /* After a few tries, give up */ |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
127 |
! if (eperm_count < 10) { |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
128 |
! if (adjtime(&adjtv, &oadjtv) < 0) { |
7606
0bea82fa40c9
25438095 Fix for 24660275 was incomplete.
Brian Utterback <brian.utterback@oracle.com>
parents:
7416
diff
changeset
|
129 |
! if (errno == EPERM || errno == ENOTSUP) { |
7416
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
130 |
! if (!eperm_count) { |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
131 |
! msyslog(LOG_ERR, |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
132 |
! "adj_systime: %m"); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
133 |
! } |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
134 |
! eperm_count++; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
135 |
! } else { |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
136 |
! msyslog(LOG_ERR, "adj_systime: %m"); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
137 |
! } |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
138 |
! return FALSE; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
139 |
} |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
140 |
+ } else { |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
141 |
return FALSE; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
142 |
} |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
143 |
} |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
144 |
return TRUE; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
145 |
} |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
146 |
#endif |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
147 |
*************** step_systime( |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
148 |
*** 440,446 **** |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
149 |
|
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
150 |
/* now set new system time */ |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
151 |
if (ntp_set_tod(&timetv, NULL) != 0) { |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
152 |
! msyslog(LOG_ERR, "step-systime: %m"); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
153 |
if (enable_panic_check && allow_panic) { |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
154 |
msyslog(LOG_ERR, "step_systime: allow_panic is TRUE!"); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
155 |
} |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
156 |
--- 457,466 ---- |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
157 |
|
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
158 |
/* now set new system time */ |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
159 |
if (ntp_set_tod(&timetv, NULL) != 0) { |
7606
0bea82fa40c9
25438095 Fix for 24660275 was incomplete.
Brian Utterback <brian.utterback@oracle.com>
parents:
7416
diff
changeset
|
160 |
! if ((errno == EPERM || errno == ENOTSUP) && !eperm_count) { |
7416
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
161 |
! msyslog(LOG_ERR, "step-systime: %m"); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
162 |
! eperm_count++; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
163 |
! } |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
164 |
if (enable_panic_check && allow_panic) { |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
165 |
msyslog(LOG_ERR, "step_systime: allow_panic is TRUE!"); |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
166 |
} |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
167 |
*** ntpd/ntpd.c |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
168 |
--- ntpd/ntpd.c |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
169 |
*************** ntpdmain( |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
170 |
*** 641,646 **** |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
171 |
--- 641,650 ---- |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
172 |
} |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
173 |
# endif |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
174 |
|
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
175 |
+ if (getenv("IGNORE_SYS_TIME_ERROR")) { |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
176 |
+ eperm_count=1; |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
177 |
+ } |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
178 |
+ |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
179 |
/* |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
180 |
* Enable the Multi-Media Timer for Windows? |
d9ef61aeb80c
24660275 adj_systime: too chatty on NGZ
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
181 |
*/ |