File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libnet / ChangeLog.md
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Sep 27 11:11:37 2023 UTC (8 months, 4 weeks ago) by misho
Branches: libnet, MAIN
CVS tags: v1_2p1, HEAD
Version 1.2p1

    1: Change Log
    2: ==========
    3: 
    4: All relevant changes are documented in this file.  For a complete list
    5: of contributors, see the GIT commit log.
    6: 
    7: 
    8: [v1.2][] - 2019-10-16
    9: ---------------------
   10: 
   11: Release curated by Sam Roberts and Joachim Nilsson.
   12: 
   13: ### Changes
   14: 
   15: - Removed Lua bindings from repo and dist files, now available separately
   16: - Removed generated HTML and Nroff (man pages) documentation files, must
   17:   be regenerated with Doxygen using `make doc`
   18: - Add `pkg-config` support with `libnet.pc`, replaces `libnet-config`
   19:   tool, although it is kept for compatibility for now
   20: - Factorize socket setup code for socket opening to provide output
   21:   device selection for IPv4
   22: - Make `libnet_get_hwaddr()` work with 802.1q interfaces in bpf (BSD)
   23: - New API for OSPF HELLO messages, with neighbor
   24: 
   25: ### Fixes
   26: 
   27: - Use `getifaddrs()` on OpnBSD and Linux
   28: - For samples, `netinet/in.h` is not on windows
   29: - Fix errors with missing `IPPROTO_MH` on windows
   30: - Fix build error on Mac OS X
   31: - Fix #34 checksum caculation when IPv6 extension headers being used
   32: - Remove unneeded trailing `-Wl` from `-version-info` line
   33: - `libnet_build_snmp()` fix warning
   34: - Use `LIBNET_*RESOLVE` const in `libnet_name2addr*`
   35: - Fix i486 sample synflood6 warning
   36: - Some samples need `#include<netinet/in.h>` for `IPPROTO_*` on OpenBSD 5.2
   37: - Fix gcc warnings
   38: - Check for `socklen_t`.  Suggested by g.esp and Stefanos Harhalakis
   39: - libnet: update for obsolete INCLUDE directive
   40: - Fix warning inside comment
   41: - Automatic link options `#pragma comment(lib, ...)` are only for MSVC
   42: - Fix several warnings for MS C/C++ compiler
   43: - `libnet_open_raw4()` doesn't return a SOCKET on win32
   44: - Fixes error messages sometimes include newline, sometimes not
   45: - Properly set `l->err_buf` if `libnet_ifaddrlist()` fails
   46: - dlpi: Try harder to find the device for the interface
   47: - dlpi: Correctly extract unit number from devices with numbers in their name
   48: - Make interface selection work for interfaces with multiple addresses
   49: - Fix memory leak, device list needs to freed after use
   50: - Fix file descriptor leak in `libnet_ifaddrlist()`
   51: - Fix `libnet_get_hwaddr()` for large(!) number of interfaces
   52: - Fix to support musl libc, removes support for GLIBC <2.1
   53: - Fix win32 buffer overrun in `libnet_get_ipaddr4()`
   54: - Interface selection was ignoring interfaces with IPv6
   55: - Use `LIBNET_API` on public functions, instead of an export file
   56: - Add Visual Studio 2010 project files, with build instructions
   57: - Define INET6 on IRIX, making libnet compile cleanly
   58: - Check for FreeBSD pre-11 before enabling `LIBNET_BSD_BYTE_SWAP`
   59: - Use `LIBNET_BSDISH_OS` and `LIBNET_BSD_BYTE_SWAP` on Darwin
   60: - Add BSD byteswap for Darwin. Otherwise `sendto(` returns `EINVAL`
   61: - `netinet/in.h` is needed for `IPPROTO_` and `sockaddr_in`
   62: 
   63: 
   64: [v1.1.6][] - 2012-03-06
   65: -----------------------
   66: 
   67: Release curated by Sam Roberts.
   68: 
   69: ### Changes
   70: - Note about why including libnet.h breaks dnet.h/dumbnet.h (Sam Roberts)
   71: - Clean up use of single and bracket quotes. (Sam Roberts)
   72: - FreeBSD and Solaris volunteers to contibute. (Sam Roberts)
   73: - Prep for 1.1.6 release, such as bumping version (Sam Roberts)
   74: - Add people who have volunteered to check release candidates. (Sam Roberts)
   75: - Rework libnet_autobuild_ipv6() to eliminate code duplication. (Sam Roberts)
   76: - Implemented libnet_autobuild_ipv6() (repolho)
   77: - Implemented unix version of libnet_get_ipaddr6() (repolho)
   78: - Reintroduce libnet_pblock_record_ip_offset() which is empty. (Sam Roberts)
   79: - Make clear that all contributions are under libnet copyright. (Sam Roberts)
   80: - Update for doxygen 1.7.4. (Sam Roberts)
   81: - Note that PORTED is no longer maintained. (Sam Roberts)
   82: - Note that CONTRIB is no longer maintained. (Sam Roberts)
   83: - Prep for upcoming 1.1.6 release. (Sam Roberts)
   84: - Remove BUGS, it referred to non-existent code. (Sam Roberts)
   85: - Reworked icmpv6 patch to parallel the form of icmpv4 support. (Sam Roberts)
   86: - Don't depend on netinet/ip.h. (Sam Roberts)
   87: - Remove unused variable. (Sam Roberts)
   88: - Support building ICMPv6 packets. (someone)
   89: - Use SO_BINDTODEVICE to force packets out opened device. (someone)
   90: - Always use an IPPROTO of TCP when calculating TCP checksums. (Sam Roberts)
   91: - Use correct addr type for addrlen calculation. (someone)
   92: - libnet_build_igmp reserved field was mistakenly called 'code' (Sam Roberts)
   93: - Documentation doesn't include any gif files. (Sam Roberts)
   94: - Enable IPV6 support on Solaris 11. (Rich Burridge)
   95: - Presence of linux's PF_PACKET sockets is now detected. The acinclude.m4
   96:   merged in from packetfactory's 1.1.3-rc branch mysteriously assumed that
   97:   that there was no PF_PACKET if the target OS was linux, which is the
   98:   opposite of what we want. (Sam Roberts)
   99: - pblock_append deals with raw memory and structs, so declare it correctly
  100:   (Sam Roberts)
  101: - Clarified types and sizes of DHCP/BOOTP chaddr, sname, and file. chaddr is a
  102:   hardware address, with size specified seperately, whereas sname and file are
  103:   null terminated strings. (Sam Roberts)
  104: - Explicitly ignore return value of write (some systems now warn about this).
  105:   (Sam Roberts)
  106: - Synchronize comment about h_len with parameter name in function. (Sam Roberts)
  107: - mkinstalldirs is replaced by autogen.sh. Maybe it shouldn't be checked in?
  108:   (Sam Roberts)
  109: - autogen retries if /sw/... doesn't exist (Sam Roberts)
  110: 
  111: ### Fixes
  112: 
  113: - Only use getifaddrs() if it exists. (reported by Dagobert Michelsen) (Sam Roberts)
  114: - ICMPv6 struct is too long, so use length macro (sickmind@lavabit.com) (Sam Roberts)
  115: - ICMPv6 pblock sizes are needed to calculate IPv6's ip_len (reported by
  116:   sickmind@lavabit.com) (Sam Roberts)
  117: - Fix doc comment format errors reported by doxygen. (Sam Roberts)
  118: - Fixed typo in error message. (Thomas Habets)
  119: - Trying to fix write errors (Víctor Martínez)
  120: - Fix libnet_build_igmp() to not reverse the order of the ip address. libnet
  121:   APIs that take IP addresses as a uint32_t expect them to already be in
  122:   network byte order. (Sam Roberts)
  123: - Fixes a buffer overflow issue when copying chaddr, file, and sname fields to
  124:   the DHCP header. (allfro)
  125: - Fixes improper calculation of header size when libnet_pblock_probe is
  126:   called. payload_s must be added to the header length in order to accommodate
  127:   for the existence of a non-NULL payload. Otherwise the user is prompted with
  128:   a 'memcpy would cause overflow' error and the program exits. (allfro)
  129: - Fixes incorrect memory block size set in the timeexceed and redirect
  130:   builders. The n variable does not add the size of the payload (payload_s)
  131:   for proper allocation of the buffer when payload is not NULL and payload_s
  132:   is greater than 0. This results in a memcpy buffer overflow error when
  133:   libnet_pblock_append is called exiting the program. (allfro)
  134: - Fixes a bug that incorrectly converts the addr, mask, and next_hop fields to
  135:   network byte order. Users will usually call libnet_name2addr4 to fill these
  136:   fields and this function already provides a network byte-ordered
  137:   value. (allfro)
  138: - snap parameter was getting copied into the dhost field. (Sam Roberts)
  139: - h_len is no longer used, so pass zero. Coverity noticed that stack garbage
  140:   was being passed instead of a valid value, its just that the value isn't
  141:   used, and incluing l->total_size is wrong when the pblock is being updated
  142:   (though it will work on pblock creation). (Sam Roberts)
  143: - Length n should include the value_hdr. (Sam Roberts)
  144: - Coverity: UNINIT (Jiri Popelka)
  145: - Coverity: REVERSE_INULL (Jiri Popelka)
  146: - Coverity: RESOURCE_LEAK (Jiri Popelka)
  147: - Coverity: OVERRUN_STATIC (Jiri Popelka)
  148: - Coverity: OVERRUN_STATIC (Jiri Popelka)
  149: - Coverity: OVERRUN_STATIC (Jiri Popelka)
  150: - Coverity: FORWARD_NULL (Jiri Popelka)
  151: - Coverity: FORWARD_NULL (Jiri Popelka)
  152: - Coverity: CHECKED_RETURN (Jiri Popelka)
  153: - build_ipv6: set higher traffic class bits (Ulrich Weber)
  154: - Fix missing uint instead of u_int (Dagobert Michelsen)
  155: 
  156: 
  157: [v1.1.5][] - 2010-11-03
  158: -----------------------
  159: 
  160: Release curated by Sam Roberts.
  161: 
  162: ### Changes
  163: - IRIX: Get MAC address from `ioctl()`, not by spawning shell. (Thomas Habets)
  164: - Cleaned up implementations of `libnet_get_hwaddr()`, some leaked
  165:   memory, one returned a pointer to data on the stack, and the others
  166:   return a pointer to static data. I'm settling on the non-reentrant
  167:   static data form. (Sam Roberts)
  168: - Further simplify `autogen.sh` (Sam Roberts)
  169: - Removed dependency on `net/bpf.h`, and on `pcap.h`. (Sam Roberts)
  170: - `LBL_ALIGN` check is unused, removing. (Sam Roberts)
  171: - Don't include `pcap.h` if we've already got `net/bpf.h`, pcap has it's
  172:   own bpf. (Sam Roberts)
  173: - Get DLT types from the source, `pcap.h`. (Sam Roberts)
  174: - Use `autoconf -ivf` in autogen.sh (suggested by alon.barlev@gmail.com)
  175:   (Sam Roberts)
  176: - Add a link to the old docs. (Sam Roberts)
  177: - Added links to github and sourceforge. (Sam Roberts)
  178: - Replace C99/C++ comments with traditional C
  179:   comments. (alon.barlev@gmail.com) (Sam Roberts)
  180: - Closer backwards compat, assume its ipv4 if it's not ipv6. This seems
  181:   totally wrong, but so it goes. (Sam Roberts)
  182: - Try using the `ip_len` header field to guess the input buffer's
  183:   size. (Sam Roberts)
  184: - `libnet_do_checksum()`, despite being "internal", is used by external
  185:   code. libnet needs to maintain backwards API compatibility, tcpsic
  186:   from the isic package is an example of a binary failing when calling
  187:   the new API with the old arguments. (Sam Roberts)
  188: - Use libtool-1 or libtool-2 whatever available (alon.barlev@gmail.com)
  189:   (Sam Roberts)
  190: - Remove dead code. (Sam Roberts)
  191: - h_len is calculated for ip, udp, tcp, icmp, and igmp, so is allowed to
  192:   be zero. (Sam Roberts)
  193: - Avoid mallocing zero bytes, it perturbs electric fence. (Sam Roberts)
  194: - `ip_offset` is now calculated on the fly, and UDP and TCP no longer
  195:   use `h_len` (Sam Roberts)
  196: - IP offset calculation should allow nesting of IP protocols. (Sam Roberts)
  197: - Remove gccisms in bitfield definitions. (Sam Roberts)
  198: - injection type `of LIBNET_NONE`, for packet construction without
  199:   injection (also, more const correctness) (Sam Roberts)
  200: - Notes about checksumming. (Sam Roberts)
  201: - Updated comments and notes. (Sam Roberts)
  202: - Added missing pblock types, and made strings consistent with
  203:   definitions. (Sam Roberts)
  204: - Change version policy, we will be 1.1.4 until 1.1.5 is released. (Sam Roberts)
  205: - Bring CHANGELOG up to date with today, and script used to generated
  206:   it. (Sam Roberts)
  207: - Begin implementation and tests for repairing pblocks after an
  208:   update. (Sam Roberts)
  209: - Clarifications in document comments. (Sam Roberts)
  210: - Don't doxygen process internal header libnet-headers.h (Sam Roberts)
  211: - Note about `build_data`, which doesn't update `ip_offset`, among other
  212:   problems. (Sam Roberts)
  213: - Why don't TCP and UDP use the DATA pblock type? (Sam Roberts)
  214: - whitespace cleanup (Sam Roberts)
  215: - Summarize changes for log. (Sam Roberts)
  216: - Reindented, removing hard tabs, and using consistent brace
  217:   positioning. (Sam Roberts)
  218: - configure.in: Check for `uint{16,32,64}_t` (Thomas Habets)
  219: - Use `uint64_t`, not `u_int64_t` (Thomas Habets)
  220: - configure.in: check for `gethostbyname2()` (Thomas Habets)
  221: - define a lying `gethostbyname2()` if it's not defined (Thomas Habets)
  222: - define `STDOUT_FILENO` if it's not defined (Thomas Habets)
  223: - Configure switch to install samples (Sam Roberts)
  224: - Attempt at applying a patch to get installable samples, which doesn't
  225:   work. (Sam Roberts)
  226: - Convert CRLF to LF. (Sam Roberts)
  227: - Auto* changes to work on OS X from git checkout. (Sam Roberts)
  228: - Add srcdir to include path. (Sam Roberts)
  229: - Beginning 1.1.5 development. (Sam Roberts)
  230: 
  231: ### Fixes
  232: - Compile fix for IRIX (added includes) (Thomas Habets)
  233: - Don't explicitly check for UID 0, we may have capabilities even if not
  234:   root. (Thomas Habets) (Sam Roberts)
  235: - Visual C++ compiler(v9.0) uses bitfield type as a hint to pad the
  236:   bitfield, so struct was too long. (Sam Roberts)
  237: - Make `libnet_get_hwaddr()` work in the last few releases of OpenBSD
  238:   (stu@spacehopper.org) (Sam Roberts)
  239: - Don't distribute `libnet.h`, it is generated by `configure`
  240:   (alon.barlev@gmail.com) (Sam Roberts)
  241: - AIX build failures fixed, cause was inclusion of system headers libnet
  242:   no longer uses (alon.barlev@gmail.com) (Sam Roberts)
  243: - checksum would segfault if a IP checksum was requested for a non-ipv4
  244:   header (Sam Roberts)
  245: - merged icmpv6 patch in, but I believe either it or the
  246:   `sample/icmp6_unreach` generates the cksum incorrectly
  247:   (victor@inliniac.net) (Sam Roberts)
  248: - Avoid looking at `/dev` and `/usr/include` when cross-compiling
  249:   (alon.barlev@gmail.com) Alon: The following code support cross
  250:   compiling: 1. You CANNOT check for `/usr/include` stuff as cross
  251:   compiler is installed else-where. Autoconf know how to do this, use
  252:   its header detection logic and ask the result. 2. Testing for `/dev/`
  253:   can be done only when not cross compiling... (Sam Roberts)
  254: - Corrected `target_os` check, it was broke for linuxgnu, and m4 syntax
  255:   was invalid (alon.barlev@gmail.com) Alon:The following change is
  256:   needed in order to solve two issues: 1. linuxgnu and such target
  257:   os. 2. You cannot set variable with space before '=' as it tries to
  258:   execute the variable... 3. Print result of test in case of linux (Sam
  259:   Roberts)
  260: - `--with-link-layer` broken, was using wrong macro name, and didn't
  261:   include all link types (Sam Roberts)
  262: - `ac_cv_c_bigendian` is yes, not "big" (alon.barlev@gmail.com) (Sam Roberts)
  263: - `libnet_t`'s fd should be initialized to an invalid value, or
  264:   `libnet_destroy()` will close stdin. (Sam Roberts)
  265: - Alon's use of `AC_CHECK_HEADERS` fails to detect headers. Reverted
  266:   part of 57acd56f09158decb69f301e7547ce8cde6ac63f (Sam Roberts)
  267: - With `link_none`, the link apis were failing with not error
  268:   message. (Sam Roberts)
  269: - man doc makefile wasn't correctly referring to the srcdir
  270:   (alon.barlev@gmail.com) (Sam Roberts)
  271: - autotools patches for cross compiling and seperate builddir
  272:   (alon.barlev@gmail.com) (Sam Roberts)
  273: - html doc makefile wasn't correctly referring to the srcdir
  274:   (alon.barlev@gmail.com) (Sam Roberts)
  275: - `libnet_build_tcp()` was not returning the ptag. (Sam Roberts)
  276: - Packet boundaries are now passed to `_do_checksum()`, so it can
  277:   validate its input. Hopefully, this will end the recurring
  278:   segmentation faults due to buffer overruns. (Sam Roberts)
  279: - TCP building is triggering memory overwrites; closer examination shows
  280:   the link list manipulation to be wrong, and the checksumming approach
  281:   to be incapable of working. I reworked code to simplify and clarify
  282:   how it works currently, in preparation to fixing it. (Sam Roberts)
  283: - Null the pointer in the about-to-be-freed structure, not the one on
  284:   the stack. (Sam Roberts)
  285: - libnet_pblock_insert_before() didn't remove ptag2 from old location (Sam Roberts)
  286: - Declared many constant arguments as const, const-correct code spews
  287:   warnings when built against libnet. (Sam Roberts)
  288: - Include pcap DLT_ types from correct header, was using an internal one
  289:   before. (Sam Roberts)
  290: - Declared many constant arguments as const, const-correct code spews
  291:   warnings when built against libnet. (Sam Roberts)
  292: - `libnet_clear_packet()` wasn't clearing all packet context. (Sam Roberts)
  293: - Add `libnet_dll.c` as extra, so its there for win32, and build
  294:   `libnet_link.c` (Sam Roberts)
  295: - This file wasn't being built, and needed to include bpf to build. (Sam Roberts)
  296: - Forgot to make device a const string here, too. (Sam Roberts)
  297: - make string argument constant (Sam Roberts)
  298: - only ignore Makefile in `libnet/` (Sam Roberts)
  299: - Replace `u_intX_t` with C99 `uintX_t`. (Thomas Habets)
  300: - `pclose()` following `popen()`, not `fclose()` (Thomas Habets)
  301: - snoof & dlpi: don't free on `libnet_link_close()` (Thomas Habets)
  302: - The non-standard types are no longer used. (Sam Roberts)
  303: - `/sw/..` path doesn't always exist (Sam Roberts)
  304: - `src/libnet_link_snoop.c`: Only fclose if `f!=NULL  (Thomas Habets)
  305: -  rc/libnet_link_snoop.c`: fixed snoop-based backend. Works on
  306:    IRIX. (Thomas Habets)
  307: - Pointers not cleared after free could lead to double
  308:   deallocation. (Sam Roberts)
  309: - Update autobuild endianness and unaligned checks. (Mike Frysinger)
  310:   (Sam Roberts)
  311: - Adjust srcdir and builddir so libnet can build out-of-tree (Robin
  312:   Getz/Mike Frysinger) (Sam Roberts)
  313: 
  314: 
  315: [v1.1.4][] - 2009-06-09
  316: -----------------------
  317: 
  318: Release curated by Sam Roberts.
  319: 
  320: ### Changes
  321: - Strip CRLF from files not in win32/ (Robert Scheck)
  322: 
  323: ### Fixes
  324: - libnet was using `HAVE_CONFIG_H` in a public header to deal with
  325:   platform types.  https://bugzilla.redhat.com/show_bug.cgi?id=501633
  326: - Patch to `libnet.h.in` for compilation on HURD (David Paleino)
  327: 
  328: 
  329: [v1.1.3][] - 2009-05-11
  330: -----------------------
  331: 
  332: Merged 1.1.3 release candidate from packet factory, 1.1.2, debian
  333: patches, and my own fixes, including bugs causing memory corruption.
  334: 
  335: Release curated by Sam Roberts.
  336: 
  337: ### Changes
  338: - Convert from latin-1 to utf-8, from Robert Scheck. (Sam Roberts)
  339: - Removed CVS crud, again. (Sam Roberts)
  340: - Applied autotools cleanup patch from Stefanos. (Sam Roberts)
  341: - Applied patch from Stefanos to remove the autotools ephemera that leaked
  342:   back in. (Sam Roberts)
  343: - Updated .so revision to be one backwards compatible interface after
  344:   1.1.2.1-fork's. (Sam Roberts)
  345: - merged autogen.sh from 1.1.3, now ltmain.sh comes from autogen.sh (Sam
  346:   Roberts)
  347: - Update .so version to be one src change past the last debian release.
  348:   Debian patches to v1.1.2.1 used 4:0:3, in error, so we use 5:0:4, as per
  349:   the rules. See Makefile.am comments for reference. (Sam Roberts)
  350: - autotools merged from v1.1.3 to v1.1.2 (Sam Roberts)
  351: - Remove autotools. And some garbage local files that should not have been
  352:   in upstream tarball. (Sam Roberts)
  353: - Removed object files and cvs conflict residue contained in original
  354:   package. (Sam Roberts)
  355: - doxygen configuration updated, html seems fine - I don't know about the
  356:   man pages. (Sam Roberts)
  357: - strip CVS subdirectories from upstream package (Sam Roberts)
  358: - Added a `libnet_version()` function
  359: - Internals:
  360:   - added a payload builder macro
  361:   - Added an HSRP builder
  362: - Added `AC_PREREQ(2.50)` to `configure.in` to come correct
  363: - Added a libnet UDP header prototype. We need to add an entire exported
  364:   interface for the sole purpose of casting captured packets, this will
  365:   presumably be a part of the pcap integration.
  366: - Added `libnet_adv_write_raw_ipv4()`
  367: - Updated the autoconf/automake stuff to be up to date with the latest
  368:   versions. We now use libtool.
  369: - Changed all empty function prototypes to contain the void keyword
  370: - Removed all C++ style comments
  371: - Removed the configure.in check for `strerror()`
  372: 
  373: ### Fixes
  374: - Fixed various errors, including memory corruption, when IPv4 options
  375:   are modified.  (Sam Roberts)
  376: - Fixed doxygen errors and warnings, and added a deveoper script to
  377:   prepare libnet. (Sam Roberts)
  378: - Patches from Stefanos. (Sam Roberts)
  379: - Fix for debian bug 418975, IPv6 wasn't updating `ip_offset`. See
  380:   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=418975 and sample
  381:   `test_ipv6_icmpv4.c` for more info and reproduction. (Sam Roberts)
  382: - 802.1Q and 802.1X header documentation was incorrectly using `/** /**`
  383:   is reserved for doxygen documentation comments, and they didn't have
  384:   any.  That those packet headers, and no others, were marked that way
  385:   was causing man pages to be generated for them, incomplete man pages
  386:   that then were being hacked by debian patches 02- and 03-. (Sam
  387:   Roberts)
  388: - Bug fixes and reproduction code for `ip_offset` accounting problem in
  389:   `libnet_build_ipv4()` (Sam Roberts)
  390: - debian patch 06 attempts to free the wrong pointer, and also leaks memory
  391:   from the inner loop. (Sam Roberts)
  392: - libnet (inconsistently) uses various signed and/or unsigned typedefs
  393:   instead of char ANSI C uses char for string literals and the standard
  394:   library, so this generates many warnings. I've fixed a number of the
  395:   places where types representing null-terminated strings weren't typed
  396:   correctly. (Sam Roberts)
  397: - Merged Debian fixes:
  398:   - 09-fix_hurd-i386_build.patch from debian source package See
  399:     http://packages.debian.org/source/sid/libnet (Sam Roberts)
  400:   - 08-fix_libnet_checksum.c.patch from debian source package See
  401:     http://packages.debian.org/source/sid/libnet (Sam Roberts)
  402:   - 07-add_libnet-cq-end-loop.patch from debian source package See
  403:     http://packages.debian.org/source/sid/libnet (Sam Roberts)
  404:   - 06-fix_libnet_pblock_coalesce_leak.patch from debian source package See
  405:     http://packages.debian.org/source/sid/libnet (Sam Roberts)
  406:   - 04-fix_libnet_build_ntp.patch from debian source package See
  407:     http://packages.debian.org/source/sid/libnet (Sam Roberts)
  408:   - 03-fix_libnet_802_1x_hdr.3.patch from debian source package See
  409:     http://packages.debian.org/source/sid/libnet (Sam Roberts)
  410:   - 02-fix_libnet_802_1q_hdr.3.patch See
  411:     http://packages.debian.org/source/sid/libnet (Sam Roberts)
  412:   - 01-fix_libnet-functions.h.3.patch from debian source package See
  413:     http://packages.debian.org/source/sid/libnet (Sam Roberts)
  414: - Fixed a bug in `libnet_build_ntp()` where two arguments werent used
  415:   due to a typo
  416: - Fixed a bug ln `libnet_name2addr4()` in which it didnt call hstrerror
  417: - Fixed a memory leak in `libnet_if_addr.c`
  418: - Fixed the `cdp.c` sample code
  419: - Fixed the checksum function
  420: - Fixed a signed/unsigned comparison warning in the
  421:   `LIBNET_DO_PAYLOAD()` macro
  422: 
  423: 
  424: [UNRELEASED]: https://github.com/libnet/libnet/compare/v1.2...HEAD
  425: [v1.2]:       https://github.com/libnet/libnet/compare/v1.1.6...v1.2
  426: [v1.1.6]:     https://github.com/libnet/libnet/compare/v1.1.5...v1.1.6
  427: [v1.1.5]:     https://github.com/libnet/libnet/compare/v1.1.4...v1.1.5
  428: [v1.1.4]:     https://github.com/libnet/libnet/compare/v1.1.3...v1.1.4

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>