diff -Nur NetPacket-1.1.0.old/lib/NetPacket/LinuxSLL.pm NetPacket-1.1.0/lib/NetPacket/LinuxSLL.pm --- NetPacket-1.1.0.old/lib/NetPacket/LinuxSLL.pm 1970-01-01 03:00:00.000000000 +0300 +++ NetPacket-1.1.0/lib/NetPacket/LinuxSLL.pm 2011-03-01 16:47:12.878779794 +0300 @@ -0,0 +1,76 @@ +# +# NetPacket::LinuxSLL - Decode and encode Linux SLL (Linux cooked capture +# pseudo-protocol) packets. +# +# $Id: LinuxSLL.pm,v 0.01 2003/00/00 00:00:00 tpot Exp $ +# + +package NetPacket::LinuxSLL; + +# +# Copyright (c) 2003 Greg Zemskov +# Copyright (c) 2008 Dmitry Kokorev +# Copyright (c) 2011 Sergey Afonin +# +# This package is free software and is provided "as is" without express. +# or implied warranty. It may be used, redistributed and/or modified. +# under the terms of the Artistic License 2.0 (see +# http://opensource.org/licenses/artistic-license-2.0.php) +# + +use strict; +use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); + +BEGIN { + @ISA = qw(Exporter NetPacket); + + @EXPORT = qw( ); + + @EXPORT_OK = qw( + LINUX_SLL_HOST LINUX_SLL_BROADCAST LINUX_SLL_MULTICAST + LINUX_SLL_OTHERHOST LINUX_SLL_OUTGOING + ); + + %EXPORT_TAGS = ( + ALL => [@EXPORT, @EXPORT_OK], + types => [qw( + LINUX_SLL_HOST LINUX_SLL_BROADCAST LINUX_SLL_MULTICAST + LINUX_SLL_OTHERHOST LINUX_SLL_OUTGOING + )], + ); +} + +use constant LINUX_SLL_HOST => 0x0000; +use constant LINUX_SLL_BROADCAST => 0x0001; +use constant LINUX_SLL_MULTICAST => 0x0002; +use constant LINUX_SLL_OTHERHOST => 0x0003; +use constant LINUX_SLL_OUTGOING => 0x0004; + +# +# Decode the packet +# + +sub decode { + my $class = shift; + my ($pkt, $parent, @rest) = @_; + my $self = {}; + + # Class fields + + $self->{_parent} = $parent; + $self->{_frame} = $pkt; + + # Decode packet + + ($self->{type}, $self->{hatype}, $self->{halen}, $self->{addr}, $self->{proto}, $self->{data}) + = unpack('nnna8na*', $pkt); + + bless ($self, $class); + return $self; +} + +sub encode { + die("Not implemented"); +} + +1; diff -Nur NetPacket-1.1.0.old/MANIFEST NetPacket-1.1.0/MANIFEST --- NetPacket-1.1.0.old/MANIFEST 2011-01-15 20:51:26.000000000 +0300 +++ NetPacket-1.1.0/MANIFEST 2011-03-01 16:47:49.596780213 +0300 @@ -8,6 +8,7 @@ README.mkdn SIGNATURE lib/NetPacket.pm +lib/NetPacket/LinuxSLL.pm lib/NetPacket/ARP.pm lib/NetPacket/Ethernet.pm lib/NetPacket/ICMP.pm