1Revision history for Perl extension Net::Packet.
2
3*** This will probably be the last release. From now on, please use
4Net::Frame::* modules on CPAN. This framework is obsolete.
5
63.27 Mon Nov  9 19:19:57 CET 2009
7   - bugfix: PPPoE packing payload
8   => http://rt.cpan.org/Public/Bug/Display.html?id=51112
9   - update: copyright notice
10
113.26 Sat Apr 19 18:41:12 CEST 2008
12   - new: added possibility to adjust snaplen in Dump.pm
13     => contributed by Darien Kindlund
14   - bugfix: examples/read-pcap.pl
15
163.25 Thu Dec 28 11:11:19 CET 2006
17   - bugfix: Utils.pm: forget to load some subs for IPv6 handling
18
193.24 Sat Dec 16 17:48:15 CET 2006
20   - NEW: now supports big-endian archs (IPv4 and IPv6 update)
21   - bugfix: Frame: require VLAN
22
233.23 Thu Nov 23 23:47:10 CET 2006
24   - examples: updates and bugfixes
25   - tests: bugfix when test modules not available
26
273.22 Sat Nov 18 14:44:49 CET 2006
28   - update: ETH: print() now displays length instead of type if 802.3 layer
29   - new: IPv4: isProtocolIgmpv4() and NP_IPv4_PROTOCOL_IGMPv4
30   - test: added Test::Pod::Coverage
31   - test: added Test::Pod
32   - pod: old undocumented methods are now documented
33
343.21 Wed Nov 15 19:52:43 CET 2006
35   - NEW: added layers STP, OSPF (header only), IGMPv4 (v1 and v2),
36          CDP::Address, CDP::TypeAddresses, CDP::TypeCapabilities,
37          CDP::TypePortId, CDP::TypeSoftwareVersion
38   - NEW: Dump now support PPP links
39   - UPDATE: old PPP integrated into PPPoE, because this is PPP for PPPoE
40             So, there is a new PPP implementation, which is now a layer 2
41   - UPDATE: also, PPPLCP is now a layer 3
42   - UPDATE: IPv4: hlen now defaults to 5, length now defaults to
43             NP_IPv4_HDR_LEN
44   - update: CDP: new attributes: typeAddresses, typePortId, typeCapabilities,
45             typeSoftwareVersion
46   - update: Packet: removed the END block that would clean $Env->dump,
47             it is user responsibility to do that
48   - bugfix: Frame: _getPadding()
49   - bugfix: Dump: storing of received frames when doFrameReturnList is true
50   - bugfix: Dump: .storable file removing in all cases
51   - bugfix: Dump: isFather(), isSon()
52   - bugfix: ARP: print()
53
543.20 Sun Nov 12 23:02:09 CET 2006
55  - NEW: support for PPPoE, PPP, PPPLCP, LLC, and begin the work for CDP
56  - NEW: Frame->new can now return an array ref of decoded frames, to handle
57         new layers, and such things as IPv6 within IPv4.
58         See doFrameReturnList from Env.
59         With this new scheme, the behaviour from unpacking VLAN or ICMPv4
60         has changed. Old behaviour remains the same, but if you set
61         doFrameReturnList to true (not by default), your programs will need
62         updating.
63  - NEW: all layers: be able to create layers without having the need to
64                     build a full frame
65  - new: Frame: print() and dump() methods, encapsulate attribute
66  - new: Consts: new constants
67  - new: Layer: isLayer2(), isLayer3(), isLayer4(), isLayer7(),
68                getPayloadLength()
69  - new: Utils: debugDeviceList()
70  - new: Env: doFrameReturnList, noFramePadding, doIPv4Checksum,
71              noFrameComputeChecksums, noFrameComputeLengths,
72              doMemoryOptimizations
73  - update: all layers: rewrite of print() methods
74  - update: TCP: optimizations on recv() method
75  - removed: Frame: noPadding attribute, moved to Env noFramePadding
76  - removed: Frame: doChecksum attribute, moved to Env doIPv4Checksum
77  - bugfix: Env: in getSubnet()
78  - bugfix: Env: mapping between dnet interface and WinPcap interface should
79                 now work
80  - bugfix: Env: no IPv6 under Windows for now
81  - bugfix: ETH: in isTypeIp()
82  - bugfix: Frame: do not use Dump and Desc if they do not exist
83  - bugfix: Frame: getFilter() only when a Frame is competely filled
84  - bugfix: IPv4: do not use l4 if it does not exist
85  - bugfix: IPv6: do not use l4 if it does not exist
86
873.01 Sun Nov  5 16:27:50 CET 2006
88  - NEW: ported to Windows ActivePerl
89  - Utils: new subs: getGatewayIp, getGatewayMac, getIpMac
90  - Env: new attributes: subnet, gatewayIp, gatewayMac
91  - Desc: new attributes: gatewayIp, gatewayMac
92  => gatewayIp is automatically set, but not gatewayMac, due to the
93     nature of the ARP lookup implementation.
94  - DescL3: under Windows, the layer 2 (ethernet) is automatically built,
95            so using DescL3 is the same as using DescL3 under Unix/Linux
96            systems.
97
983.00 Sun Oct 29 15:31:06 CET 2006
99  - Net::Packet::Dump: added keepTimestamp attribute to keep original pcap
100                       timestamp. Default is to not keep original and use our
101                       own timestamp.
102  - bugfix: in Utils.pm, a redifined error is now removed
103  - bugfix: in DescL4.pm, a redifined error is now removed
104  - bugfix: in DescL4.pm, family attribute now initialized
105  - pod update: lib/Net/Packet.pm
106  - pod update: lib/Net/Packet/Dump.pm
107  - pod update: lib/Net/Packet/Env.pm
108  - pod update: lib/Net/Packet/Frame.pm
109  - pod update: lib/Net/Packet/Desc.pm
110  - pod update: lib/Net/Packet/DescL2.pm
111  - pod update: lib/Net/Packet/DescL3.pm
112  - pod update: lib/Net/Packet/DescL4.pm
113
1143.00_02 Wed Oct  4 23:18:43 CEST 2006
115   - bugfix: now it is possible to open a network interface with no IP address
116   - bugfix: now it is possible to create a Dump object and give it another Env
117             object, without interfering with the default Env object
118
1193.00_01 Wed Sep 27 17:25:47 CEST 2006
120   - *** WARNING: developer release, the pod is not up to date with the code
121   - Now uses array as objects (with Class::Gomor::Array)
122   - good speed improvement by replacing calls to accessors methods to
123     direct array indice lookup
124   - small memory usage improvement thanks to array objects
125   - Net::Packet::Dump: complete rewrite
126   - Net::Packet::Env: nearly complete rewrite
127
1282.22 Sat May 13 11:45:03 CEST 2006
129   - bugfix: in Env.pm, debug mode was not working anymore
130
1312.21
132   - Net::Packet::Dump: added getStats()
133   - now uses Class::Gomor instead of Class::Gomor::Hash (but objects are
134     still hashes)
135
1362.20 Sun Mar 19 18:23:51 CET 2006
137   - Net::Packet: ported under Cygwin (now works under Windows :) )
138   - Net::Packet: is now a pure Perl module
139   - IO::Interface: removed from dependances
140   - Net::Write: new dependance
141   - update: Desc*: now use new Net::Write portable module
142   - bugfix: Dump: many fix, Debian users should now be able to use Net::Packet
143
1442.06 Mon Mar 13 13:53:54 CET 2006
145   - Frame: added noPadding option
146
1472.05 Sun Mar 12 12:09:18 CET 2006
148   - bugfix: IPv4: flags field is now split into flags and offset fields
149   - bugfix: IPv4: constants for IPv4 flags are now ok
150   - bugfix: Env: when we are not able to autoDev(), do not bother to autofind
151             IP and MAC addresses
152   - bugfix: VLAN: pack/unpack methods fixed (now vlanId can be greater than 16
153   - updated: IPv4: print() now also prints new offset field
154   - updated: IPv4: pod for new offset field
155   - updated: dump methods: no more new line character at the end of string
156   - type: Utils: pod documentation typo fixed
157   - new depdendance: Bit::Vector for VLAN.pm
158   - examples/ipv4-flags.pl: new example
159   - examples/vlan-craft.pl: new example
160   - examples/vlan-support.pl: new example
161
1622.04 Sun May 22 21:18:41 CEST 2005
163   - examples/arp-scan.pl: bugfix in pcap filter
164   - examples/sniffer.pl: new feature (dump payload as ASCII)
165   - Makefile.PL: bugfix: removed PREREQ_FATAL that was breaking cpan install
166   - Makefile.PL: bugfix: corrected a check to let Darwin OS to compile module
167   - ETH.pm: added isTypeVlan()
168   - IPv4.pm: added pod for noFixLen and doChecksum
169
1702.03 Fri Feb  4 00:08:14 CET 2005
171   - So sorry. Forgot VLAN.pm in MANIFEST
172
1732.02 Thu Feb  3 23:36:04 CET 2005
174   - NEW LAYER: VLAN/802.1Q, see Net::Packet::VLAN
175   - IPv4: noFixLen and doChecksum attributes
176
1772.01 Tue Feb  1 17:28:04 CET 2005
178   - bugfix: added explodeIps() explodePorts() into export in Utils.pm
179   - bugfix: flush() in Dump.pm
180   - getFilter(): better pcap filter for ARP packets
181   - minor changes in various pod
182
1832.00 Thu Jan 27 22:12:41 CET 2005
184   - major release, backward compatibility broken
185   - full documentation
186   - a battery of tests
187   - new layers:
188     o Layer2/SLL
189     o Layer2/RAW
190     o Layer2/NULL
191     o Layer3/IPv6
192   - sending frames at DescL4 now fully works
193   - huge speed improvements
194   - some memory usage improvements
195   - many many bugfixes
196
1971.28 Thr Dec  2 20:36:11 CEST 2004
198   - bugfix: netpacket_pcap_fp: now works with libpcap 0.8
199
2001.27 Sun Oct  3 20:39:13 CEST 2004
201   - Makefile.PL searches for location of libpcap
202   - IPv4: auto resolution of names to IP addr
203   - ARP:  auto resolution of names to IP addr
204   - ICMPv4: pack/unpack Destination Unreachable messages
205   - ICMPv4: pack/unpack Redirect messages
206   - ICMPv4: pack/unpack Time Exceeded messages
207
2081.26 Wed Sep 29 23:24:57 CEST 2004
209   - renaming: Net::Pkt => Net::Packet to get registered on CPAN
210   - unlinkAfterAnalyze is no more
211   - unlinkOnDestroy defaults to 1 (replaces unlinkAfterAnalyze)
212   - callStart defaults to 1
213   - Auto DescL\d creation when a new Frame is created
214     If a DescL\d has already been created on the first Frame creation, it is
215     not overwritten.
216   - Auto creation of Dump object on the first new Frame, started on the first
217     Frame sent
218
2190.26 Wed Sep 29 18:23:19 2004
220   - !!! last version of Net::Pkt. It is renamed to Net::Packet.
221   - NEW: Net::Pkt::getHostIpv4Addr()
222   - NEW: Net::Pkt::getHostIpv4Addrs()
223
2240.25 Sun Sep 26 21:20:37 2004
225   - bugfix: an error in method Net::Pkt::next was making a segfault, due to a
226     bad typemap in Net::Pcap (FILE * to T_IN under Perl 5.8 is bad). Resolved
227     by creating my own Net::Pcap::file sub.
228
2290.24 Sun Sep 26 15:08:11 2004
230  - !!! live capture ready via next sub in Net::Pkt::Dump.
231    See examples/arp-scan.pl of perldoc Net::Pkt::Dump.
232  - Net::Ifconfig::Wrapper: removed, now uses IO::Interface which is better
233    (but not perfect, so there remains the need for a wrapper around ifconfig
234    on some systems)
235  - NEW: Net::Pkt::LayerARP: isReply
236  - NEW: Net::Pkt::LayerARP: isRequest
237  - Net::Pkt::Frame: new object data: reply to store the frame received on
238    a recv method call
239  - NEW: Net::Pkt::Dump->next: returns next available frame from savefile
240  - Net::Pkt::Dump->analyze: returns empty array if there is nothing to read
241    in savefile
242  - Net::Pkt::Dump->analyze: now returns @frames if some have been analyzed
243  - Net::Pkt::Dump: added a global to set sniffing in promiscuous mode
244    => $Net::Pkt::Promisc, default to 0.
245  - Net::Pkt::Dump: signal to handle DESTROY cleanly when hiting CTRL+C
246  - Net::Pkt::Dump: documentation
247  - Net::Pkt::Dump->new: callStart option (default 0)
248  - Net::Pkt::LayerUDP->print: also prints payload size
249  - Net::Pkt::LayerICMPv4: do not exit when an ICMP message is not yet known
250
2510.23  Fri Sep  3 22:24:18 2004
252  - bugfix: META.yml
253  - bugfix: libnetpkt.c and Makefile.PL to let compilation work on Linux and
254    OpenBSD
255
2560.22  Fri Sep  3 21:49:30 2004
257   - LayerICMPv4: echo request/reply, timestamp request/reply, information
258     request/reply, address mask request/reply
259   - constant renaming: NETPKT_IPv4_TRANSPORT_TCP => NETPKT_IPv4_PROTOCOL_TCP
260   - constant renaming: NETPKT_IPv4_TRANSPORT_UDP => NETPKT_IPv4_PROTOCOL_UDP
261   - method renaming: getRandom32bitInt => getRandom32bitsInt
262   - method renaming: getRandom16bitInt => getRandom16bitsInt
263   - method renaming: ipTransport => ipProtocol
264   - method renaming: isTransportTcp => isProtocolTcp
265   - method renaming: isTransportUdp => isProtocolUdp
266   - Dump: removed dependance upon tcpdump binary, implemented as a C function
267     to do its work. But it adds the need to link with libpcap on module
268     building
269   - tcpPrint: now displays options
270   - printDebug: now go to STDERR
271   - METAL.yml written
272
2730.21  Sun Aug 29 20:20:33 2004
274   - changes in Dump scheme; now requires to call start and stop methods
275   - auto* subs do not try anymore to find values if respective class
276     data are already set
277   - first public release
278
2790.20  Sun Aug 29 12:00:34 2004
280   - first release to private people
281
2820.01  Wed Aug  4 12:16:03 2004
283   - original version; created by h2xs 1.21 with options:
284      -Oxan Net::Pkt libnetpkt.h
285
286