From 616f56bd5d9640212a1f8beccb7b7208068d2b7c Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Thu, 28 Feb 2019 17:41:30 +0100 Subject: tunnel: make winipcfg sort of work The duplicate route thing is silly, and we currently don't do DNS or the fancy socket routing. But this is a step in the right direction, perhaps. Signed-off-by: Jason A. Donenfeld --- conf/config.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'conf/config.go') diff --git a/conf/config.go b/conf/config.go index a321bc0c..d802ec61 100644 --- a/conf/config.go +++ b/conf/config.go @@ -64,6 +64,21 @@ func (r *IPCidr) String() string { return fmt.Sprintf("%s/%d", r.IP.String(), r.Cidr) } +func (r *IPCidr) Bits() uint8 { + if r.IP.To4() != nil { + return 32 + } else { + return 128 + } +} + +func (r *IPCidr) IPNet() net.IPNet { + return net.IPNet{ + IP: r.IP, + Mask: net.CIDRMask(int(r.Cidr), int(r.Bits())), + } +} + func (e *Endpoint) String() string { if strings.IndexByte(e.Host, ':') > 0 { return fmt.Sprintf("[%s]:%d", e.Host, e.Port) -- cgit v1.2.3-59-g8ed1b