diff options
| author | Jeroen Wijenbergh <jeroen.wijenbergh@geant.org> | 2025-05-06 10:31:57 +0200 |
|---|---|---|
| committer | Jeroen Wijenbergh <jeroen.wijenbergh@geant.org> | 2025-05-06 13:25:48 +0200 |
| commit | 6b939462fb1064abd42e8cb8316700ec844172ea (patch) | |
| tree | b572daecdf0f25e3beec9883a8b7bb2522628212 /internal/wireguard/ini | |
| parent | 347b20fc91505584bc9efbeca89590a411b95e79 (diff) | |
All: Remove ProxyGuard integration
This should be done in WireGuard-go or in case of a linux a small daemon
Diffstat (limited to 'internal/wireguard/ini')
| -rw-r--r-- | internal/wireguard/ini/ini.go | 42 | ||||
| -rw-r--r-- | internal/wireguard/ini/ini_test.go | 67 |
2 files changed, 4 insertions, 105 deletions
diff --git a/internal/wireguard/ini/ini.go b/internal/wireguard/ini/ini.go index 842928a..46c6f8b 100644 --- a/internal/wireguard/ini/ini.go +++ b/internal/wireguard/ini/ini.go @@ -7,7 +7,6 @@ package ini import ( "errors" "fmt" - "slices" "strings" ) @@ -47,28 +46,6 @@ func keyValue(f string) (string, string, error) { // OrderedKeys is a slice of strings that is used for an ordered map type OrderedKeys []string -func (ok *OrderedKeys) find(name string) int { - if ok == nil { - return -1 - } - for i, v := range *ok { - if v == name { - return i - } - } - return -1 -} - -// Remove removes a `name` from the OrderedKeys slice by finding the name -// It is a no-op if the key does not exist -func (ok *OrderedKeys) Remove(name string) { - idx := ok.find(name) - if idx == -1 { - return - } - *ok = slices.Delete((*ok), idx, idx+1) -} - // Section represents a single section within an ini file // It consists of multiple key and values type Section struct { @@ -78,7 +55,7 @@ type Section struct { // KeyValue gets a value for key `key` // It returns an error if the key does not exist -func (sec *Section) KeyValue(key string) (string, error) { +func (sec *Section) keyValue(key string) (string, error) { if v, ok := sec.keyValues[key]; ok { return v, nil } @@ -96,7 +73,7 @@ func (sec *Section) newKeyValue(key string, value string) { // AddOrReplaceKeyValue adds a key `key` with value `value` // If the key already exists it modifies the value func (sec *Section) AddOrReplaceKeyValue(key string, value string) { - _, err := sec.KeyValue(key) + _, err := sec.keyValue(key) if err == nil { sec.keyValues[key] = value return @@ -108,7 +85,7 @@ func (sec *Section) AddOrReplaceKeyValue(key string, value string) { // It returns an error if the key already exists func (sec *Section) AddKeyValue(key string, value string) error { // get an existing key - _, err := sec.KeyValue(key) + _, err := sec.keyValue(key) if err == nil { return fmt.Errorf("key: '%s' already exists", key) } @@ -116,17 +93,6 @@ func (sec *Section) AddKeyValue(key string, value string) error { return nil } -// RemoveKey removes a key `key` from the section -// It returns an error if the key cannot be found -func (sec *Section) RemoveKey(key string) (string, error) { - if v, ok := sec.keyValues[key]; ok { - sec.keys.Remove(key) - delete(sec.keyValues, key) - return v, nil - } - return "", fmt.Errorf("no key to remove with name: '%s'", key) -} - // INI is the struct for a ini file type INI struct { sections map[string]*Section @@ -172,7 +138,7 @@ func (i *INI) String() string { out.WriteString(fmt.Sprintf("[%s]\n", s)) for _, k := range sec.keys { - v, err := sec.KeyValue(k) + v, err := sec.keyValue(k) if err != nil { continue } diff --git a/internal/wireguard/ini/ini_test.go b/internal/wireguard/ini/ini_test.go index faa45f2..d28ad4d 100644 --- a/internal/wireguard/ini/ini_test.go +++ b/internal/wireguard/ini/ini_test.go @@ -160,73 +160,6 @@ func TestKeyValue(t *testing.T) { } } -func TestOrderedKeysFind(t *testing.T) { - cases := []struct { - v OrderedKeys - in string - w int - }{ - { - v: []string{""}, - in: "test", - w: -1, - }, - { - v: []string{"bla"}, - in: "bla", - w: 0, - }, - { - v: []string{"ha"}, - in: "bla", - w: -1, - }, - { - v: []string{"ha", "ga"}, - in: "ga", - w: 1, - }, - } - - for _, c := range cases { - g := c.v.find(c.in) - if g != c.w { - t.Fatalf("got: %v, want: %v", g, c.w) - } - } -} - -func TestOrderedKeysRemove(t *testing.T) { - cases := []struct { - v OrderedKeys - rem string - out OrderedKeys - }{ - { - v: []string{"bla"}, - rem: "test", - out: []string{"bla"}, - }, - { - v: []string{"bla"}, - rem: "bla", - out: []string{}, - }, - { - v: []string{"ha", "ga"}, - rem: "ga", - out: []string{"ha"}, - }, - } - - for _, c := range cases { - c.v.Remove(c.rem) - if !reflect.DeepEqual(c.v, c.out) { - t.Fatalf("got: %v, want: %v", c.v, c.out) - } - } -} - func TestParse(t *testing.T) { // parse correct file |
