netutil

package
v0.6.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 24, 2023 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Overview

package netutil provides common utility functions for networking.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AssignMulticastGroup added in v0.6.3

func AssignMulticastGroup(keys ...crypto.PublicKey) netip.Prefix

AssignMulticastGroup assigns a multicast group to two or more public keys.

func AssignToPrefix added in v0.3.0

func AssignToPrefix(prefix netip.Prefix, publicKey crypto.PublicKey) netip.Prefix

AssignToPrefix assigns a /112 prefix within a /32 prefix using a public key. It does not check that the given prefix is a valid /32 prefix.

func GenerateULA

func GenerateULA() (netip.Prefix, error)

GenerateULA generates a unique local address with a /32 prefix according to RFC 4193. The network is returned as a netip.Prefix.

func GenerateULAWithKey added in v0.6.0

func GenerateULAWithKey(key crypto.PublicKey) (netip.Prefix, netip.Addr)

GenerateULAWithKey generates a unique local address with a /32 prefix using the key bytes as a seed. The network is returned as a netip.Prefix. It then computes another /112 prefix for the given public key's wireguard key. It returns the /112 prefix as the first /128 address within it.

func GenerateULAWithSeed added in v0.6.0

func GenerateULAWithSeed(psk []byte) netip.Prefix

GenerateULAWithSeed generates a unique local address with a /32 prefix using a seed value. The network is returned as a netip.Prefix.

func ParsePortRange

func ParsePortRange(s string) (start int, end int, err error)

ParsePortRange parses a port range string.

func Ping

func Ping(ctx context.Context, addr netip.Addr) error

Ping sends ICMP echo requests to the given address. The context must have a timeout set and is used for the duration of the ping. The function returns an error if no replies were received.

func RandomAddress added in v0.6.0

func RandomAddress(prefix netip.Prefix) netip.Addr

RandomAddress returns a random /128 address within a /112 prefix. This is typically used for picking local dialing addresses, but can also be used to assign relay addresses. The function does not check that the prefix is a valid /112 prefix.

func ResolveTCPAddr

func ResolveTCPAddr(ctx context.Context, lookup string, maxRetries int) (net.Addr, error)

ResolveTCPAddr resolves a TCP address with retries and context.

func VerifyChainOnly

func VerifyChainOnly(rawCerts [][]byte, _ [][]*x509.Certificate) error

VerifyChainOnly is a function that can be used in a TLS configuration to only verify that the certificate chain is valid.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL