- func IPBelongsToCIDR(ipAddr string, cidr string) (bool, error)
- func IPBelongsToCIDRBlocksSlice(ipAddr string, cidrs string) (bool, error)
- func RemoteAddrIsOk(remoteAddr string, boundCIDRs *sockaddr.SockAddrMarshaler) bool
- func Subset(cidr1, cidr2 string) (bool, error)
- func SubsetBlocks(cidrBlocks1, cidrBlocks2 string) (bool, error)
- func ValidateCIDRListSlice(cidrBlocks string) (bool, error)
- func ValidateCIDRListString(cidrList string, separator string) (bool, error)
func IPBelongsToCIDR ¶
IPBelongsToCIDR checks if the given IP is encompassed by the given CIDR block
IPBelongsToCIDRBlocksSlice checks if the given IP is encompassed by any of the given CIDR blocks
func RemoteAddrIsOk ¶
func RemoteAddrIsOk(remoteAddr string, boundCIDRs *sockaddr.SockAddrMarshaler) bool
RemoteAddrIsOk checks if the given remote address is either:
- OK because there's no CIDR whitelist - OK because it's in the CIDR whitelist
Subset checks if the IPs belonging to a given CIDR block is a subset of IPs belonging to another CIDR block.
func SubsetBlocks ¶
SubsetBlocks checks if each CIDR block of a given set of CIDR blocks, is a subset of at least one CIDR block belonging to another set of CIDR blocks. First parameter is the set of CIDR blocks to check against and the second parameter is the set of CIDR blocks that needs to be checked.
func ValidateCIDRListSlice ¶
ValidateCIDRListSlice checks if the given list of CIDR blocks are valid
func ValidateCIDRListString ¶
ValidateCIDRListString checks if the list of CIDR blocks are valid, given that the input is a string composed by joining all the CIDR blocks using a separator. The input is separated based on the given separator and validity of each is checked.