components/ntp/patches/80-eperm.patch
author Brian Utterback <brian.utterback@oracle.com>
Thu, 13 Apr 2017 17:10:44 -0700
changeset 7955 e2e23e69f5e7
parent 7606 0bea82fa40c9
permissions -rw-r--r--
25729484 ntpq --version broken in s11.3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
   */