diff options
Diffstat (limited to 'scripts/lib')
-rw-r--r-- | scripts/lib/Makefile.in | 10 | ||||
-rw-r--r-- | scripts/lib/NTP/Util.pm | 19 |
2 files changed, 23 insertions, 6 deletions
diff --git a/scripts/lib/Makefile.in b/scripts/lib/Makefile.in index c1437a49d88e0..2b0f097ad839e 100644 --- a/scripts/lib/Makefile.in +++ b/scripts/lib/Makefile.in @@ -39,8 +39,7 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/sntp/libopts/m4/libopts.m4 \ $(top_srcdir)/sntp/libopts/m4/stdnoreturn.m4 \ - $(top_srcdir)/sntp/libevent/m4/openldap-thread-check.m4 \ - $(top_srcdir)/sntp/libevent/m4/openldap.m4 \ + $(top_srcdir)/sntp/m4/ax_c99_struct_init.m4 \ $(top_srcdir)/sntp/m4/define_dir.m4 \ $(top_srcdir)/sntp/m4/hms_search_lib.m4 \ $(top_srcdir)/sntp/m4/libtool.m4 \ @@ -69,6 +68,8 @@ am__aclocal_m4_deps = $(top_srcdir)/sntp/libopts/m4/libopts.m4 \ $(top_srcdir)/sntp/m4/ntp_sntp.m4 \ $(top_srcdir)/sntp/m4/ntp_ver_suffix.m4 \ $(top_srcdir)/sntp/m4/ntp_vpathhack.m4 \ + $(top_srcdir)/sntp/m4/openldap-thread-check.m4 \ + $(top_srcdir)/sntp/m4/openldap.m4 \ $(top_srcdir)/sntp/m4/os_cflags.m4 \ $(top_srcdir)/sntp/m4/snprintf.m4 \ $(top_srcdir)/sntp/m4/version.m4 $(top_srcdir)/configure.ac @@ -308,6 +309,11 @@ TIMETRIM_DL = @TIMETRIM_DL@ TIMETRIM_DS = @TIMETRIM_DS@ TIMETRIM_MS = @TIMETRIM_MS@ TIMETRIM_NI = @TIMETRIM_NI@ +UPDATE_LEAP_DB = @UPDATE_LEAP_DB@ +UPDATE_LEAP_DL = @UPDATE_LEAP_DL@ +UPDATE_LEAP_DS = @UPDATE_LEAP_DS@ +UPDATE_LEAP_MS = @UPDATE_LEAP_MS@ +UPDATE_LEAP_NI = @UPDATE_LEAP_NI@ VERSION = @VERSION@ VER_SUFFIX = @VER_SUFFIX@ YACC = @YACC@ diff --git a/scripts/lib/NTP/Util.pm b/scripts/lib/NTP/Util.pm index 66f2453bf0cfd..cd2f9e5a7a5d5 100644 --- a/scripts/lib/NTP/Util.pm +++ b/scripts/lib/NTP/Util.pm @@ -93,18 +93,27 @@ sub do_dns { sub ntp_peers { my ($host) = @_; - my $cmd = "$ntpq_path -np $host |"; + $host ||= ''; + my $cmd = "$ntpq_path -npw $host |"; open my $fh, $cmd or croak "Could not start ntpq: $!"; <$fh> for 1 .. 2; - my @columns = qw(remote refid st t when poll reach delay offset jitter); + my @columns = qw(tally host refid st t when poll reach delay offset jitter); my @peers; while (<$fh>) { - if (/(?:[\w\.\*-]+\s*){10}/) { + if (/^([ x+#*o-])((?:[\w.*:-]+\s+){10}|([\w.*:-]+\s+))$/) { my $col = 0; - push @peers, { map {; $columns[ $col++ ] => $_ } split /(?<=.)\s+/ }; + my @line = ($1, split /\s+/, $2); + if( @line == 2 ) { + defined ($_ = <$fh>) or last; + s/^\s+//; + push @line, split /\s+/; + } + my $r = { map {; $columns[ $col++ ] => $_ } @line }; + $r->{remote} = $r->{tally} . $r->{host}; + push @peers, $r; } else { #TODO return error (but not needed anywhere now) @@ -135,3 +144,5 @@ sub ntp_sntp_line { close $fh or croak "running sntp failed: $! (exit status $?)"; return ($offset, $stratum); } + +1; |