- Update from version 1.1.6 to 1.3
- Update of rootfile
- sobump gives suricata and arping as dependencies so those packages also need to be
shipped.
- Changelog
1.3
### Changes
- License change of critical files from 4-clause BSD to 3-clause and
2-clause BSD. This fixes issue #85: "GPL license compatibility".
- Migrate from Travis-CI (Linux) and Appveyor (Win32) to GitHub Actions
- Win32 changes:
- switch to npcap from winpcap
- Simplify and update build scripts
- Encode version in DLL instead of in filename
- Add support for LLDP, mandatory TLVs.
- Add support for Cisco UniDirectional Link Detection (UDLD), RFC5171
- Initial support for unit tests:
- `libnet-build_ethernet()`
- Complete UDLD API tests
- Initial "devcontainer": provide VS Code development environment for
rapid setup of a development environment
- Run unit tests in GitHub Actions
- New GitHub Action for FreeBSD 13 clang/gcc
- Calling `libnet_init()` with a RAW type no longer sets a TX buffer max
size. Use the new `libnet_setfd_max_sndbuf()` instead when needed.
- Remove support for `SOCK_PACKET` sockets causing invalid builds on,
e.g., musl libc. We assume everyone on Linux has `PF_PACKET` now.
### Fixes
- Fix #139: fail-to-build-from-source on FreeBSD
- Fix #122: unused parameter warnings
- Fix #123: potential memory leak in `libnet_cq_add()`
- Fix #124: potential name conflict with C++ keyword `new`
- Fix #96: pointer type warnings when dumping raw data with `%p`
- Fix #97: non-standard types:
- `int64_t` instead of `__int64_t` for mingw cross build
- `uint32_t` instead of `u_int` and `uint16_t` instead of `u_short`
- Fix #98: lots of signed vs unsigned comparisons
- Fix #102: possible buffer overflows in `libnet_plist_chain_dump_string()`
- Reproducible build fixes for man-page generation, use LC_ALL=C and UTC
- Simplify `fixmanpages`
- Fix #120: possible NULL pointer dereference in `libnet_cq_add()`
- Fix #120: memory leak in `libnet_plist_chain_new()`
- Fix segmentation fault in `libnet_ifaddrlist()`
- Fix #150: segfault when number of IPs > 512
1.2
### Changes
- Removed Lua bindings from repo and dist files, now available separately
- Removed generated HTML and Nroff (man pages) documentation files, must
be regenerated with Doxygen using `make doc`
- Add `pkg-config` support with `libnet.pc`, replaces `libnet-config`
tool, although it is kept for compatibility for now
- Factorize socket setup code for socket opening to provide output
device selection for IPv4
- Make `libnet_get_hwaddr()` work with 802.1q interfaces in bpf (BSD)
- New API for OSPF HELLO messages, with neighbor
### Fixes
- Use `getifaddrs()` on OpnBSD and Linux
- For samples, `netinet/in.h` is not on windows
- Fix errors with missing `IPPROTO_MH` on windows
- Fix build error on Mac OS X
- Fix #34 checksum caculation when IPv6 extension headers being used
- Remove unneeded trailing `-Wl` from `-version-info` line
- `libnet_build_snmp()` fix warning
- Use `LIBNET_*RESOLVE` const in `libnet_name2addr*`
- Fix i486 sample synflood6 warning
- Some samples need `#include<netinet/in.h>` for `IPPROTO_*` on OpenBSD 5.2
- Fix gcc warnings
- Check for `socklen_t`. Suggested by g.esp and Stefanos Harhalakis
- libnet: update for obsolete INCLUDE directive
- Fix warning inside comment
- Automatic link options `#pragma comment(lib, ...)` are only for MSVC
- Fix several warnings for MS C/C++ compiler
- `libnet_open_raw4()` doesn't return a SOCKET on win32
- Fixes error messages sometimes include newline, sometimes not
- Properly set `l->err_buf` if `libnet_ifaddrlist()` fails
- dlpi: Try harder to find the device for the interface
- dlpi: Correctly extract unit number from devices with numbers in their
name
- Make interface selection work for interfaces with multiple addresses
- Fix memory leak, device list needs to freed after use
- Fix file descriptor leak in `libnet_ifaddrlist()`
- Fix `libnet_get_hwaddr()` for large(!) number of interfaces
- Fix to support musl libc, removes support for GLIBC <2.1
- Fix win32 buffer overrun in `libnet_get_ipaddr4()`
- Interface selection was ignoring interfaces with IPv6
- Use `LIBNET_API` on public functions, instead of an export file
- Add Visual Studio 2010 project files, with build instructions
- Define INET6 on IRIX, making libnet compile cleanly
- Check for FreeBSD pre-11 before enabling `LIBNET_BSD_BYTE_SWAP`
- Use `LIBNET_BSDISH_OS` and `LIBNET_BSD_BYTE_SWAP` on Darwin
- Add BSD byteswap for Darwin. Otherwise `sendto(` returns `EINVAL`
- `netinet/in.h` is needed for `IPPROTO_` and `sockaddr_in`
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org> Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>