hotfix(settings): allow public IP outbound subnets but not the unspecified address
This commit is contained in:
@@ -8,7 +8,7 @@ var (
|
|||||||
ErrCountryNotValid = errors.New("the country specified is not valid")
|
ErrCountryNotValid = errors.New("the country specified is not valid")
|
||||||
ErrFilepathMissing = errors.New("filepath is missing")
|
ErrFilepathMissing = errors.New("filepath is missing")
|
||||||
ErrFirewallZeroPort = errors.New("cannot have a zero port")
|
ErrFirewallZeroPort = errors.New("cannot have a zero port")
|
||||||
ErrFirewallPublicOutboundSubnet = errors.New("outbound subnet is public")
|
ErrFirewallPublicOutboundSubnet = errors.New("outbound subnet has an unspecified address")
|
||||||
ErrHostnameNotValid = errors.New("the hostname specified is not valid")
|
ErrHostnameNotValid = errors.New("the hostname specified is not valid")
|
||||||
ErrISPNotValid = errors.New("the ISP specified is not valid")
|
ErrISPNotValid = errors.New("the ISP specified is not valid")
|
||||||
ErrMinRatioNotValid = errors.New("minimum ratio is not valid")
|
ErrMinRatioNotValid = errors.New("minimum ratio is not valid")
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ func (f Firewall) validate() (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, subnet := range f.OutboundSubnets {
|
for _, subnet := range f.OutboundSubnets {
|
||||||
if !subnet.Addr().IsPrivate() {
|
if subnet.Addr().IsUnspecified() {
|
||||||
return fmt.Errorf("%w: %s", ErrFirewallPublicOutboundSubnet, subnet)
|
return fmt.Errorf("%w: %s", ErrFirewallPublicOutboundSubnet, subnet)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ func Test_Firewall_validate(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
errWrapped: ErrFirewallPublicOutboundSubnet,
|
errWrapped: ErrFirewallPublicOutboundSubnet,
|
||||||
errMessage: "outbound subnet is public: 0.0.0.0/0",
|
errMessage: "outbound subnet has an unspecified address: 0.0.0.0/0",
|
||||||
},
|
},
|
||||||
"public_outbound_subnet": {
|
"public_outbound_subnet": {
|
||||||
firewall: Firewall{
|
firewall: Firewall{
|
||||||
@@ -45,8 +45,6 @@ func Test_Firewall_validate(t *testing.T) {
|
|||||||
netip.MustParsePrefix("1.2.3.4/32"),
|
netip.MustParsePrefix("1.2.3.4/32"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
errWrapped: ErrFirewallPublicOutboundSubnet,
|
|
||||||
errMessage: "outbound subnet is public: 1.2.3.4/32",
|
|
||||||
},
|
},
|
||||||
"valid_settings": {
|
"valid_settings": {
|
||||||
firewall: Firewall{
|
firewall: Firewall{
|
||||||
|
|||||||
Reference in New Issue
Block a user