This file is indexed.

/usr/sbin/ntp-wait is in ntp 1:4.2.8p10+dfsg-3+deb9u2.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#! /usr/bin/perl

package ntp_wait;
use 5.006_000;
use strict;
use warnings;
use lib "/usr/share/ntp/lib";
use NTP::Util qw(ntp_read_vars);

exit run(@ARGV) unless caller;

sub run {
    my $opts;
    if (!processOptions(\@_, $opts)) {
        usage(1);
    };

    my $tries   = $opts->{tries};	# How many tries before we give up? (10 min+)
    my $sleep   = $opts->{sleep};	# Seconds to sleep between tries (6s = 10/min)
    my $verbose = $opts->{verbose};	# Be verbose?

    # Autoflush stdout
    $| = 1;

    print "Waiting for ntpd to synchronize...  " if $verbose;

    for my $i (1 .. $tries) {
        my $info = ntp_read_vars(0, []);

        if (!defined $info) {
            print "\bntpd is not running!\n" if $verbose;
            return 1;
        }

        if (!exists $info->{status_line}{leap}) {
            print "\bLeap status not available\n";
            return 1;
        }

        my $leap   = $info->{status_line}{leap};
        my $sync   = $info->{status_line}{sync};

        if ($leap =~ /(sync|leap)_alarm/) {
            print "\b".(substr "*+:.", $i % 4, 1) if $verbose;
            sleep $sleep if $i < $tries;
            next;
        }

        if ($leap =~ /leap_(none|((add|del)_sec))/) {
            # We could check $sync here to make sure we like the source...
            print "\bOK!\n" if $verbose;
            return 0;
        }

        print "\bUnexpected 'leap' status <$leap>\n";
        return 1;
    }

    print "\bNo!\nntpd did not synchronize.\n" if $verbose;
    return 1;
}

# EDIT THIS FILE WITH CAUTION  (ntp-wait-opts)
#
# It has been AutoGen-ed  March 21, 2017 at 10:40:00 AM by AutoGen 5.18.5
# From the definitions    ntp-wait-opts.def
# and the template file   perlopt

use Getopt::Long qw(GetOptionsFromArray);
Getopt::Long::Configure(qw(no_auto_abbrev no_ignore_case_always));

my $usage;

sub usage {
    my ($ret) = @_;
    print STDERR $usage;
    exit $ret;
}

sub paged_usage {
    my ($ret) = @_;
    my $pager = $ENV{PAGER} || '(less || more)';

    open STDOUT, "| $pager" or die "Can't fork a pager: $!";
    print $usage;

    exit $ret;
}

sub processOptions {
    my $args = shift;

    my $opts = {
        'tries' => '100',
        'sleep' => '6',
        'verbose' => '',
        'help' => '', 'more-help' => ''
    };
    my $argument = '';
    my $ret = GetOptionsFromArray($args, $opts, (
        'tries|n=i', 'sleep|s=i', 'verbose|v',
        'help|?', 'more-help'));

    $usage = <<'USAGE';
ntp-wait - Wait for ntpd to stabilize the system clock - Ver. 4.2.8p10
USAGE: ntp-wait [ -<flag> [<val>] | --<name>[{=| }<val>] ]... 

    -n, --tries=num              Number of times to check ntpd
    -s, --sleep=num              How long to sleep between tries
    -v, --verbose                Be verbose
    -?, --help                   Display usage information and exit
        --more-help              Pass the extended usage text through a pager

Options are specified by doubled hyphens and their name or by a single
hyphen and the flag character.
USAGE

    usage(0)       if $opts->{'help'};
    paged_usage(0) if $opts->{'more-help'};
    $_[0] = $opts;
    return $ret;
}

END { close STDOUT };

1;
__END__