mirror of
https://github.com/containers/podman.git
synced 2025-08-06 19:44:14 +08:00

The vendoring issues with libnetwork were significant (it was dragging in massive amounts of code) and were just not worth spending the time to work through. Highly unlikely we'll ever end up needing to update this code, so move it directly into pkg/ so we don't need to vendor libnetwork. Make a few small changes to remove the need for the remainder of libnetwork. Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
29 lines
906 B
Go
29 lines
906 B
Go
// Originally from github.com/docker/libnetwork/resolvconf/dns
|
|
|
|
package dns
|
|
|
|
import (
|
|
"regexp"
|
|
)
|
|
|
|
// IPLocalhost is a regex pattern for IPv4 or IPv6 loopback range.
|
|
const IPLocalhost = `((127\.([0-9]{1,3}\.){2}[0-9]{1,3})|(::1)$)`
|
|
|
|
// IPv4Localhost is a regex pattern for IPv4 localhost address range.
|
|
const IPv4Localhost = `(127\.([0-9]{1,3}\.){2}[0-9]{1,3})`
|
|
|
|
var localhostIPRegexp = regexp.MustCompile(IPLocalhost)
|
|
var localhostIPv4Regexp = regexp.MustCompile(IPv4Localhost)
|
|
|
|
// IsLocalhost returns true if ip matches the localhost IP regular expression.
|
|
// Used for determining if nameserver settings are being passed which are
|
|
// localhost addresses
|
|
func IsLocalhost(ip string) bool {
|
|
return localhostIPRegexp.MatchString(ip)
|
|
}
|
|
|
|
// IsIPv4Localhost returns true if ip matches the IPv4 localhost regular expression.
|
|
func IsIPv4Localhost(ip string) bool {
|
|
return localhostIPv4Regexp.MatchString(ip)
|
|
}
|