diff options
| author | Jeroen Wijenbergh <jeroen.wijenbergh@geant.org> | 2026-02-19 09:53:19 +0100 |
|---|---|---|
| committer | Jeroen Wijenbergh <jeroen.wijenbergh@geant.org> | 2026-02-20 12:19:13 +0100 |
| commit | ffb0d31a4a6fca2af3dc6680c4d1afa9e225f88c (patch) | |
| tree | a9d2e570e53bda09cfbffb6be28f82231b9b356b | |
| parent | 7aa317009d9ec580c6eeeef6d65218ae06043449 (diff) | |
Config: Check if server was already added
Fixes: #107
We can also allow the server to be replaced, but then we also have to
make sure metadata is reset again e.g. last authorize time
| -rw-r--r-- | internal/config/v2/v2.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/internal/config/v2/v2.go b/internal/config/v2/v2.go index 056fb73..5e5103e 100644 --- a/internal/config/v2/v2.go +++ b/internal/config/v2/v2.go @@ -147,6 +147,10 @@ func (cfg *V2) AddServer(id string, t server.Type, srv Server) error { if cfg.HasSecureInternet() && t == server.TypeSecureInternet { return errors.New("a secure internet server already exists, remove the other secure internet server first") } + gsrv, gerr := cfg.GetServer(id, t) + if gsrv != nil && gerr == nil { + return errors.New("this server is already added, remove it first before adding it again") + } k := ServerKey{ ID: id, T: t, |
