diff options
author | Emiliano Ciavatta | 2020-07-17 09:12:09 +0000 |
---|---|---|
committer | Emiliano Ciavatta | 2020-07-17 09:12:09 +0000 |
commit | db8ff43c5e1595c02e2ba67c3c78f239723f95bd (patch) | |
tree | 7350c2aa72cbc875e15bb6f3ddd67fb0d2f15310 /utils.go | |
parent | 0f0a28c81cc73d2eade3188ba470343f16dc5478 (diff) |
Added support for cidr addresses when checking server ip
Diffstat (limited to 'utils.go')
-rw-r--r-- | utils.go | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -10,6 +10,7 @@ import ( log "github.com/sirupsen/logrus" "go.mongodb.org/mongo-driver/bson/primitive" "io" + "net" "os" "time" ) @@ -127,3 +128,26 @@ func CopyFile(dst, src string) error { } return out.Close() } + +func ParseIPNet(address string) *net.IPNet { + _, network, err := net.ParseCIDR(address) + if err != nil { + ip := net.ParseIP(address) + if ip == nil { + return nil + } + + size := 0 + if ip.To4() != nil { + size = 32 + } else { + size = 128 + } + network = &net.IPNet{ + IP: ip, + Mask: net.CIDRMask(size, size), + } + } + + return network +} |