Skip to content

Commit 9b00763

Browse files
committed
feat(config): add /32 if not present for Wireguard addresses
1 parent 4d627bb commit 9b00763

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

internal/configuration/sources/files/wireguard.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@ func parseINIWireguardAddress(section *ini.Section) (
101101
addresses = make([]netip.Prefix, len(addressStrings))
102102
for i, addressString := range addressStrings {
103103
addressString = strings.TrimSpace(addressString)
104+
if !strings.ContainsRune(addressString, '/') {
105+
addressString += "/32"
106+
}
104107
addresses[i], err = netip.ParsePrefix(addressString)
105108
if err != nil {
106109
return nil, fmt.Errorf("parsing address: %w", err)

internal/configuration/sources/files/wireguard_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ PreSharedKey = x
131131
iniData: `[Interface]
132132
Address = x
133133
`,
134-
errMessage: "parsing address: netip.ParsePrefix(\"x\"): no '/'",
134+
errMessage: "parsing address: netip.ParsePrefix(\"x/32\"): ParseAddr(\"x\"): unable to parse IP",
135135
},
136136
"success": {
137137
iniData: `
@@ -238,7 +238,7 @@ func Test_parseINIWireguardAddress(t *testing.T) {
238238
"bad address": {
239239
fileContent: `[Interface]
240240
Address = x`,
241-
errMessage: "parsing address: netip.ParsePrefix(\"x\"): no '/'",
241+
errMessage: "parsing address: netip.ParsePrefix(\"x/32\"): ParseAddr(\"x\"): unable to parse IP",
242242
},
243243
"success": {
244244
fileContent: `[Interface]

0 commit comments

Comments
 (0)