--- lib/PXElator/wol.pm 2009/08/26 12:43:47 297 +++ lib/PXElator/wol.pm 2009/08/30 11:45:59 366 @@ -5,6 +5,7 @@ use IO::Socket::INET; use Regexp::Common qw/net/; +use CouchDB; use client; use server; @@ -27,13 +28,17 @@ 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); + + CouchDB::audit( $target, { ip => $target, mac => $mac } ); } 1;