kilo/vendor/github.com/mdlayher/socket
leonnicolas 6a696e03e7
migrate to golang.zx2c4.com/wireguard/wgctrl (#239)
* 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>
2022-01-30 17:38:45 +01:00
..
LICENSE.md migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 2022-01-30 17:38:45 +01:00
README.md migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 2022-01-30 17:38:45 +01:00
accept.go migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 2022-01-30 17:38:45 +01:00
accept4.go migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 2022-01-30 17:38:45 +01:00
conn.go migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 2022-01-30 17:38:45 +01:00
conn_linux.go migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 2022-01-30 17:38:45 +01:00
doc.go migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 2022-01-30 17:38:45 +01:00
setbuffer_linux.go migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 2022-01-30 17:38:45 +01:00
setbuffer_others.go migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 2022-01-30 17:38:45 +01:00
typ_cloexec_nonblock.go migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 2022-01-30 17:38:45 +01:00
typ_none.go migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 2022-01-30 17:38:45 +01:00

README.md

socket Test Status Go Reference Go Report Card

Package socket provides a low-level network connection type which integrates with Go's runtime network poller to provide asynchronous I/O and deadline support. MIT Licensed.

This package focuses on UNIX-like operating systems which make use of BSD sockets system call APIs. It is meant to be used as a foundation for the creation of operating system-specific socket packages, for socket families such as Linux's AF_NETLINK, AF_PACKET, or AF_VSOCK. This package should not be used directly in end user applications.

Any use of package socket should be guarded by build tags, as one would also use when importing the syscall or golang.org/x/sys packages.