diff options
author | Matthew Heon <matthew.heon@gmail.com> | 2018-09-25 13:14:20 -0400 |
---|---|---|
committer | Matthew Heon <matthew.heon@gmail.com> | 2018-10-04 17:34:59 -0400 |
commit | 52de75501c59baacf3be993253e44e4eaf494b2f (patch) | |
tree | 006b90a21cb9a5c2360121b623b692d652b4a1db /pkg/resolvconf/dns | |
parent | bc5fac3a7cbef9c73dd3a739c830066c88fa595f (diff) | |
download | podman-52de75501c59baacf3be993253e44e4eaf494b2f.tar.gz podman-52de75501c59baacf3be993253e44e4eaf494b2f.tar.bz2 podman-52de75501c59baacf3be993253e44e4eaf494b2f.zip |
Drop libnetwork vendor and move the code into pkg/
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>
Diffstat (limited to 'pkg/resolvconf/dns')
-rw-r--r-- | pkg/resolvconf/dns/resolvconf.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/pkg/resolvconf/dns/resolvconf.go b/pkg/resolvconf/dns/resolvconf.go new file mode 100644 index 000000000..cb4bd1033 --- /dev/null +++ b/pkg/resolvconf/dns/resolvconf.go @@ -0,0 +1,28 @@ +// 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) +} |