feat(config): add /32 if not present for Wireguard addresses

This commit is contained in:
Quentin McGaw
2023-09-24 15:23:24 +00:00
parent 4d627bb7b1
commit 9b00763a69
2 changed files with 5 additions and 2 deletions

View File

@@ -101,6 +101,9 @@ func parseINIWireguardAddress(section *ini.Section) (
addresses = make([]netip.Prefix, len(addressStrings)) addresses = make([]netip.Prefix, len(addressStrings))
for i, addressString := range addressStrings { for i, addressString := range addressStrings {
addressString = strings.TrimSpace(addressString) addressString = strings.TrimSpace(addressString)
if !strings.ContainsRune(addressString, '/') {
addressString += "/32"
}
addresses[i], err = netip.ParsePrefix(addressString) addresses[i], err = netip.ParsePrefix(addressString)
if err != nil { if err != nil {
return nil, fmt.Errorf("parsing address: %w", err) return nil, fmt.Errorf("parsing address: %w", err)

View File

@@ -131,7 +131,7 @@ PreSharedKey = x
iniData: `[Interface] iniData: `[Interface]
Address = x Address = x
`, `,
errMessage: "parsing address: netip.ParsePrefix(\"x\"): no '/'", errMessage: "parsing address: netip.ParsePrefix(\"x/32\"): ParseAddr(\"x\"): unable to parse IP",
}, },
"success": { "success": {
iniData: ` iniData: `
@@ -238,7 +238,7 @@ func Test_parseINIWireguardAddress(t *testing.T) {
"bad address": { "bad address": {
fileContent: `[Interface] fileContent: `[Interface]
Address = x`, Address = x`,
errMessage: "parsing address: netip.ParsePrefix(\"x\"): no '/'", errMessage: "parsing address: netip.ParsePrefix(\"x/32\"): ParseAddr(\"x\"): unable to parse IP",
}, },
"success": { "success": {
fileContent: `[Interface] fileContent: `[Interface]