This file is indexed.

/usr/bin/fusioninventory-wakeonlan is in fusioninventory-agent 1:2.3.16-1.

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
#!/usr/bin/perl

eval 'exec /usr/bin/perl  -S $0 ${1+"$@"}'
    if 0; # not running under some shell

use strict;
use warnings;
use lib "/usr/share/fusioninventory/lib";

use English qw(-no_match_vars);
use Getopt::Long;
use Pod::Usage;

use FusionInventory::Agent::Task::WakeOnLan;
use FusionInventory::Agent::Logger;
use FusionInventory::Agent::Tools::Network;

my $options = {
    debug => 0,
};

GetOptions(
    $options,
    'mac=s',
    'methods=s',
    'debug+',
    'help',
    'version',
) or pod2usage(-verbose => 0);

if ($options->{version}) {
  print "WakeOnLan task $FusionInventory::Agent::Task::WakeOnLan::VERSION\n";
  exit 0;
}
pod2usage(-verbose => 0, -exitval => 0) if $options->{help};
pod2usage(
    -message => "no mac address given, aborting\n", -verbose => 0
) unless $options->{mac};
pod2usage(
    -message => "invalid mac address given, aborting\n", -verbose => 0
) if $options->{mac} !~ /^$mac_address_pattern$/;

my $verbosity =
    $options->{debug} == 0 ? LOG_INFO   :
    $options->{debug} == 1 ? LOG_DEBUG  :
    $options->{debug} == 2 ? LOG_DEBUG2 :
                             LOG_DEBUG2 ;

my $task = FusionInventory::Agent::Task::WakeOnLan->new(
    target => {},
    logger => FusionInventory::Agent::Logger->new(verbosity => $verbosity)
);

$task->{options} = {
    NAME => 'WAKEONLAN',
    PARAM => [
        {
            MAC           => $options->{mac},
        }
    ],
};

my %params = $options->{methods} ?
    (methods => [ split(/,/, $options->{methods}) ]) : ();
$task->run(%params);

__END__

=head1 NAME

fusioninventory-wakeonlan - Standalone wake-on-lan

=head1 SYNOPSIS

fusioninventory-wakeonlan [options]

  Options:
    --mac=MAC         target mac address
    --methods=METHODS comma-separated list of methods to use (ethernet, udp)
    --debug           debug output (execution traces)
    -h --help         print this message and exit
    --version         print the task version and exit

=head1 DESCRIPTION

F<fusioninventory-wakeonlan> allows to run a wakeonlan task without a GLPI
server.