Changeset 705 in code for trunk/config
- Timestamp:
- Nov 17, 2021, 2:07:58 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/config/config.go
r694 r705 53 53 MaxUserNetworks int 54 54 MultiUpstream bool 55 UpstreamUserIPs []*net.IPNet 55 56 } 56 57 … … 151 152 } 152 153 srv.MultiUpstream = v 154 case "upstream-user-ip": 155 if len(srv.UpstreamUserIPs) > 0 { 156 return nil, fmt.Errorf("directive %q: can only be specified once", d.Name) 157 } 158 var hasIPv4, hasIPv6 bool 159 for _, s := range d.Params { 160 _, n, err := net.ParseCIDR(s) 161 if err != nil { 162 return nil, fmt.Errorf("directive %q: failed to parse CIDR: %v", d.Name, err) 163 } 164 if n.IP.To4() == nil { 165 if hasIPv6 { 166 return nil, fmt.Errorf("directive %q: found two IPv6 CIDRs", d.Name) 167 } 168 hasIPv6 = true 169 } else { 170 if hasIPv4 { 171 return nil, fmt.Errorf("directive %q: found two IPv4 CIDRs", d.Name) 172 } 173 hasIPv4 = true 174 } 175 srv.UpstreamUserIPs = append(srv.UpstreamUserIPs, n) 176 } 153 177 default: 154 178 return nil, fmt.Errorf("unknown directive %q", d.Name)
Note:
See TracChangeset
for help on using the changeset viewer.