return iso path
[pxelator] / lib / PXElator / wol.pm
index a88e13c..253e72f 100644 (file)
@@ -5,6 +5,7 @@ use strict;
 
 use IO::Socket::INET;
 use Regexp::Common qw/net/;
+use store;
 
 use client;
 use server;
@@ -27,13 +28,17 @@ sub power_on {
        my $sock = IO::Socket::INET->new( Proto=>'udp' );
        my $ip_addr = inet_aton($server::bcast);
        my $sock_addr = sockaddr_in($port, $ip_addr);
-       $mac =~ s{:}{}g;
 
-       my $packet = pack('C6H*', 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, $mac x 16);
+       my $mac_payload = $mac;
+       $mac_payload =~ s{:}{}g;
+
+       my $packet = pack('C6H*', 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, $mac_payload x 16);
 
        setsockopt($sock, SOL_SOCKET, SO_BROADCAST, 1);
        send($sock, $packet, 0, $sock_addr);
        close ($sock);
+
+       store::audit( $target, { ip => $target, mac => $mac } );
 }
 
 1;