aboutsummaryrefslogtreecommitdiff
path: root/utils.go
diff options
context:
space:
mode:
authorEmiliano Ciavatta2020-07-17 09:12:09 +0000
committerEmiliano Ciavatta2020-07-17 09:12:09 +0000
commitdb8ff43c5e1595c02e2ba67c3c78f239723f95bd (patch)
tree7350c2aa72cbc875e15bb6f3ddd67fb0d2f15310 /utils.go
parent0f0a28c81cc73d2eade3188ba470343f16dc5478 (diff)
Added support for cidr addresses when checking server ip
Diffstat (limited to 'utils.go')
-rw-r--r--utils.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/utils.go b/utils.go
index a015b75..a14fdca 100644
--- a/utils.go
+++ b/utils.go
@@ -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
+}