6a696e03e7
* migrate to golang.zx2c4.com/wireguard/wgctrl This commit introduces the usage of wgctrl. It avoids the usage of exec calls of the wg command and parsing the output of `wg show`. Signed-off-by: leonnicolas <leonloechner@gmx.de> * vendor wgctrl Signed-off-by: leonnicolas <leonloechner@gmx.de> * apply suggestions from code review Remove wireguard.Enpoint struct and use net.UDPAddr for the resolved endpoint and addr string (dnsanme:port) if a DN was supplied. Signed-off-by: leonnicolas <leonloechner@gmx.de> * pkg/*: use wireguard.Enpoint This commit introduces the wireguard.Enpoint struct. It encapsulates a DN name with port and a net.UPDAddr. The fields are private and only accessible over exported Methods to avoid accidental modification. Also iptables.GetProtocol is improved to avoid ipv4 rules being applied by `ip6tables`. Signed-off-by: leonnicolas <leonloechner@gmx.de> * pkg/wireguard/conf_test.go: add tests for Endpoint Signed-off-by: leonnicolas <leonloechner@gmx.de> * cmd/kg/main.go: validate port range Signed-off-by: leonnicolas <leonloechner@gmx.de> * add suggestions from review Signed-off-by: leonnicolas <leonloechner@gmx.de> * pkg/mesh/mesh.go: use Equal func Implement an Equal func for Enpoint and use it instead of comparing strings. Signed-off-by: leonnicolas <leonloechner@gmx.de> * cmd/kgctl/main.go: check port range Signed-off-by: leonnicolas <leonloechner@gmx.de> * vendor Signed-off-by: leonnicolas <leonloechner@gmx.de>
4.4 KiB
4.4 KiB
CHANGELOG
v1.4.1
- [Improvement]: significant runtime network poller integration cleanup through
the use of
github.com/mdlayher/socket
.
v1.4.0
- [New API] #185: the
netlink.AttributeDecoder
andnetlink.AttributeEncoder
types now have methods for dealing with signed integers:Int8
,Int16
,Int32
, andInt64
. These are necessary for working with rtnetlink's XDP APIs. Thanks @fbegyn.
v1.3.2
- [Improvement]
commit:
github.com/google/go-cmp
is no longer a (non-test) dependency of this module.
v1.3.1
- [Improvement]: many internal cleanups and simplifications. The library is now slimmer and features less internal indirection. There are no user-facing changes in this release.
v1.3.0
- [New API] #176:
netlink.OpError
now hasMessage
andOffset
fields which are populated when the kernel returns netlink extended acknowledgement data along with an error code. The caller can turn on this option by usingnetlink.Conn.SetOption(netlink.ExtendedAcknowledge, true)
. - [New API]
commit:
the
netlink.GetStrictCheck
option can be used to tell the kernel to be more strict when parsing requests. This enables more safety checks and can allow the kernel to perform more advanced request filtering in subsystems such as route netlink.
v1.2.1
- [Bug Fix]
commit:
netlink.SetBPF
will no longer panic if an empty BPF filter is set. - [Improvement] commit: the library now uses https://github.com/josharian/native to provide the system's native endianness at compile time, rather than re-computing it many times at runtime.
v1.2.0
This is the first release of package netlink that only supports Go 1.12+. Users on older versions must use v1.1.1.
- [Improvement] #173: support for Go 1.11 and below has been dropped. All users are highly recommended to use a stable and supported release of Go for their applications.
- [Performance] #171:
netlink.Conn
no longer requires a locked OS thread for the vast majority of operations, which should result in a significant speedup for highly concurrent callers. Thanks @ti-mo. - [Bug Fix] #169: calls to
netlink.Conn.Close
are now able to unblock concurrent calls tonetlink.Conn.Receive
and other blocking operations.
v1.1.1
This is the last release of package netlink that supports Go 1.11.
- [Improvement] #165:
netlink.Conn
SetReadBuffer
andSetWriteBuffer
methods now attempt theSO_*BUFFORCE
socket options to possibly ignore system limits given elevated caller permissions. Thanks @MarkusBauer. - [Note]
commit:
netlink.Conn.Close
has had a long-standing bug #162 related to internal concurrency handling where a call toClose
is not sufficient to unblock pending reads. To effectively fix this issue, it is necessary to drop support for Go 1.11 and below. This will be fixed in a future release, but a workaround is noted in the method documentation as of now.
v1.1.0
- [New API] #157: the
netlink.AttributeDecoder.TypeFlags
method enables retrieval of the type bits stored in a netlink attribute's type field, because the existingType
method masks away these bits. Thanks @ti-mo! - [Performance] #157:
netlink.AttributeDecoder
now decodes netlink attributes on demand, enabling callers who only need a limited number of attributes to exit early from decoding loops. Thanks @ti-mo! - [Improvement] #161:
netlink.Conn
system calls are now ready for Go 1.14+'s changes to goroutine preemption. See the PR for details.
v1.0.0
- Initial stable commit.