OSDN Git Service

2013.10.24
[uclinux-h8/uClinux-dist.git] / lib / Libnet / doc / CHANGELOG
1 ===============================================================================
2     LIBNET 1.0 (c) 1998 - 2001 Mike D. Schiffman <mike@infonexus.com>
3                                http://www.packetfactory.net/libnet
4 ===============================================================================
5
6
7 Version     Released        Changes
8 -------------------------------------------------------------------------------
9   1.0.2a    02.06.2001      Oops!  Messed up the install stuff.  Fixed now.
10                             Fixed the config.sub to correctly look for arm*
11                              architecture.
12                             Fixed the test.sh script
13                              (Thankz again to syke).
14   1.0.2     02.03.2001      Added OpenBSD 2.7 etherspoof lkm and kernel patch.
15                              (Thankz to obecian).
16                             Added FreeBSD 4.0-STABLE (and 5.0-CURRENT?)
17                              etherspoof kernel patch.
18                              (Thankz to Matt Bing).
19                             Added FreeBSD 4 support for automagic MAC address
20                              spoofing (via ioctl).  No more lkm!
21                              (Thankz to Toni Andjelkovic).
22                             Added VRRP support.
23                             Fixed a NULL pointer check in libnet_checksum.c.
24                              (Thankz to syke).
25                             Fixed a function naming problem in libnet_if_addr.c.
26                              (Thankz to gigisull).
27                             Fixed a potential byte error in libnet_version.
28                              (Thankz to wotan).
29                             Fixed a potential overflow in
30                              libnet_link_sockpacket.c and libnet_link_dlpi.c.
31                              (Thankz to Jarno Huuskonen).
32                             Fixed a manpage discrepancy (get_ip_addr returns
33                              host-byte, not network-byte).
34                             Fixed arena allocation code (misalignments and
35                              whatnot) and arena manpage entry (2 arguments
36                              were swapped).
37                              (Thankz to Bryan T. Schmersal).
38                             Fixed datatype discrepancies (u_char was used
39                              liberally when char should have been used).
40                              (Thankz to Kyle Hargraves).
41                             Fixed the PF_PACKET interface to work correctly.
42                              (Thankz to Smiler).
43
44   1.0.1b    04.07.2000      Fixed portlist chaining code to allow for more than
45                              one active plist chain at a time (as per twitch's
46                              patch).
47                             Fixed discrepancy between the manpage and code for
48                              libnet_close_link_interface.  It now returns 1 on
49                              success as per libnet standard (thankz to Toni
50                              Andjelkovic for pointing this out).
51
52   1.0.1a    03.29.2001      Fixed a small bug in libnet_link_dlpi.c.
53
54   1.0.1     12.19.1999      Fixed a typo in libnet-headers.h ARH_H -> ARP_H.
55                             Fixed a small typo in ether_mod-2.5.c.
56                             Pre-happy BD to libnet!  She'z almost 2 yearz old!
57
58   1.0.0     10.27.1999      Added verbose html documentation.
59                             Added verbosely commented  example code.
60                             Fixed OSPF testcode compile issues.
61                             Added ping of death ICMP test code module.
62                             Fixed manpage installation wrongness.
63                             Fixed a reported bug in OpenBSD etherspoof lkm.
64                             Merged OSPF lsa checksum code into main checksum
65                              module.
66                             Fixed a reported bug in the Makefile.in under
67                              Solaris when make install was invoked, the ln
68                              failed.
69                             Fixed linux-based IP broadcasting using the
70                              raw sockets interface.
71
72     0.99g    09.13.1999     Added an OSPF builder (which is still in beta).
73                             Fixed the Linux/configure.in bug.  This was an odd
74                              bug that affected Linux-based boxes, but not
75                              BSD-based machines.  The configure script refused
76                              to expand most of the Makefile.in macros in every file
77                              because of a conditional check.
78                             Fixed some Makefile.in issues.
79
80     0.99f    09.09.1999     Changed test/poink.c to not rely on a previous
81                              install of libnet to compile.
82                             Added a redhat RPM.
83                             Changed sourcefile naming scheme to libnet_*.
84                             Removed all assertions from the tree.
85                              We are moving closer to a 1.0 release and
86                              assertions have no place in production code.
87                              Furthermore, there should be no exit points
88                              inside a library.  Currently, all functions that
89                              made assertions now return an integral 1 upon
90                              success and a -1 when the assertion would have
91                              failed (some had to be changed from returning
92                              void to returning int).  This will not break
93                              backward compatbility.
94                             Fixed bugs in the arena code.
95                              next_packet_from_arena would never return the
96                              first chunk of memory, only the "next".  It
97                              now handles this special case.  Thanks to
98                              Sascha Gresk for locating this bug.
99                              Fixed another potential bug when attempting
100                               to allocate large packet sizes inside an arena.
101                             Added an OpenBSD 2.5 ether_spoof lkm.
102                             Fixed TCP options bugs.
103
104     0.99e    07.21.1999     Modified the libnet-config script to work more
105                              intutively now.  It accepts multiple arguments.
106                              See README.libnet-config.
107                             Solaris m4/sh fixes (autoconf phase).
108                             Internal error handling changed to use libnet_error.
109
110     0.99d    06.24.1999     Added: build_icmp_redirect().
111                             Added: FreeBSD 3.x support for spoofing source.
112                             Added: libnet_error().
113                             Added: port list chaining code.
114                              MAC addrresses (see README.bpf).
115                             Bugfix: libnet_select_device correctly accepts
116                              NULL device arguments.
117                             Bugfix: build_icmp.c now copies the correct amount 
118                              of header information.
119                             Bugfix: OpenBSD needs HAVE_SOCKADDR_SA_LEN.
120                             Changed: write_ip internal semantics.  Cleaner
121                              and faster now.
122                             Changed: init_packet argument parameters.  More
123                              correct now.  Takes a u_short vs. a size_t.
124
125     0.99c   05.28.1999      link_int -> libnet_link_int.
126                             Misc small testcode fixes.
127                             Added libnet_tcp_header and libnet_ip_header.
128                             Added libnet-config shell script, see
129                              README.libnet-config and the manpage.
130                             Updated ports.
131                             Revamped checksum module --  it's much simpler
132                              and more efficient (ripped out arch specific
133                              code which seemed to be buggy with series' of
134                              very large packets).  Dug Song wrote it, with
135                              small fixes/changes by MDS.
136
137     0.99b   05.06.1999      Fixed a nasty UDP/TCP + data checksum bug.
138                             Header structure further divided into subfiles.
139                             Moved get_hwaddr into low-level interface locales.
140                             Fixed the BSD get_hwaddr (dugsong@anzen.com).
141                             Ported to BSD/OS 3.x.
142                             Added `LIBNET_VERSION` symbolic constant.
143                             build_ip with payload semantics changed (now
144                              requires a payload length which is more
145                              intuitive).
146                             Fixed the `disappearing MAC address problem`
147                              within the linux version of get_hwaddr().
148
149     0.99a   04.14.1999      Linux 2.0.x kernels don't have <net/ethernet.h>
150                              0.99 included this header file without checking
151                              to see if it present.  This is now fixed.
152                             Non-x86 systems have no tcp_check function but the
153                              stub.c sourcefile did not check this.  This is now
154                              fixed.
155                             Added the utilities directory and get_mac.c.
156
157     0.99    04.13.1999      Major manpage redux.
158                             Added (broken?) PF_PACKET support for Linux (see
159                              README.linux).
160                             Moved alot of m4 from configure.in to aclocal.m4.
161                             Added Linux m4 macro to detect PF_PACKET.
162                             Added build_icmp_unreach
163                             Added build_icmp_timestamp
164                             Added standard nomenclature for all the ICMP
165                              type/code symbolic constants (see the manpage).
166                             Changed internal network structure nomenclature.
167                             Decided to stop using the word nomenclature so much.
168                             Fixed semantics of get_ipaddr (s/PF_INET/AF_INET).
169                             Added a symlink in the install directory so libnet
170                              is also named `libpwrite`.
171                             Added ASN.1 conversion routines, mostly pilfered
172                              from ucd snmplib.
173                             Removed get_hwaddr from sockpacket.c and made the
174                              existing one portable to Linux.
175                             Added more testcode and changed testcode structure
176                              to be more intuitive.
177                             Added init_packet and destroy_packet.
178                             Added an arena allocator.
179                             Fixed alignment issues on SPARC and Alpha
180                              (possibly others with strict alignment
181                              requirements).
182                             Added a packet dumping routine.  Not fully tested.
183                             Testcode updates including a master testcode shell
184                              script.
185                             Added stub functions to ease the eventual
186                              transition to a more proper `libnet_*` function
187                              naming convention.  See README.stubs for more
188                              info.
189
190     0.10a   02.04.1999      Added the libnet.s2h configuration file to the
191                              distribution.
192                             GLIBC fix.
193
194     0.10    01.31.1999      Many low-level changes, same interface though.
195                             Split up the main libnet.h file into two files.
196                             Autoconf changes:
197                              checks to see if the underlying architecture
198                              needs to be aligned.
199                              flexible install location.
200                              explicitly set $CC option in Makefile.in.
201                             Added ensure-dir.sh.
202                             Changes DEBUG semantics as I was told the previous
203                              stuff broke on some compilers.
204                             Created a FreeBSD/OpenBSD ports entry.
205                             SGI snoop (drain) interface fixed.
206                             Solaris/HPUX DLPI interface fixed.
207                             Support for getting local IP addresses.
208                             Support for getting local hardware addresses.
209                             Added a DNS packet builder.
210                             Added an RIP packet builder.
211                             Added an ICMP MASKREQ/REPLY packet builder.
212                             Added ICMP at the link layer test code.
213                             Changed GLIBC version detection semantics.
214
215     0.9     12.15.1998      Major changes/additions here...
216                             Added lowlevel packet building and writing
217                              routines with a codebase from libpcap.
218                             Broken DPLI support (fixme!).
219                             Added ethernet and ARP building routines.
220                             Added ICMP_ECHO building routine which led to the
221                              Discovery of an odd kernel panic bug under
222                              OpenBSD (see hook.c in test dir).
223                             Added IGMP building routine.
224                             Reworked autoconf script.
225                             Fixed Linux ip_sum vs. ip_csum naming issue.
226                             Fixed Solaris checksums (2.4, 2.5.x).
227                             Added NetBSD autoconf entry.
228                             Changed BSD_BYTE_SWAP semantics to correctly handle
229                              IP datagrams through BPF (see write_ip.c).
230
231     0.8c    11.10.1998      Added more testcode.
232
233     0.8b    10.21.1998      OK.  I THINK WE'VE FINALLY FIXED THAT GLIBC THING.
234                             Ported to alpha Linux.
235
236     0.8a    10.15.1998      Added support for IP TOS bits (oops.  Broke
237                              backward compatibility again.  Like I said, don't
238                              rely on this until 1.x).
239
240     0.8     10.13.1998      Added support for IP options.
241                             Added support for TCP options.
242                             Added a dummy version function.
243                             Fixed linux libc vs. glibc nomenclature discrepancy.
244                             Solaris checksums fixed for non-payload laden
245                              packets?
246
247     0.7b    09.22.1998      Linux glibc/libc nomenclature anomoly still there.
248                             Fixed Linux/BSD icmp header size problem.
249
250     0.7a    08.26.1998      Fixed payload support (see test code).
251
252     0.7     08.25.1998      Solaris port (checksums broken -- Solaris has gay
253                              fucking quirks when it comes to checksumming on
254                              raw sockets).
255                             Added autoconf scripts.
256                             Added psuedorandom number generation code.
257                             Added payload support (breaks backward
258                             compatability and is untested).
259
260     0.6     06.21.1998      Fixed UDP checksum.  Removed USE_NAME CPP option
261                              made it a run time decision.  Makes code more
262                              extensible, but breaks backward compatibility.
263
264     0.5     06.02.1998      Added TCP/UDP/IP packet assembly routines.
265                             Added a checksum function.
266                             Added a manpage.
267                             Removed daemonizing function (BSD has one).
268                             UDP checksums broken...
269
270     0.4     01.12.1998      IP checksum (x86 assembly implementation).
271
272     0.3     01.12.1998      daemonizing function.
273
274     0.2     01.11.1998      raw socket function changed to allow user 
275                             designated protocol for raw socket
276
277     0.1     01.05.1998      Initial release, contains: 
278                              network byte order -> human readable IP address,
279                              human readable IP address -> network byte order,
280                              simple raw socket / IP_HDRINCL wrapper,
281                              TCP checksum (x86 assembly implementation)
282 EOF