From 12ec55cf37e42e45fa114e463ce0d84ea99fceb4 Mon Sep 17 00:00:00 2001 From: Anders Pitman Date: Fri, 3 Dec 2021 17:38:06 -0700 Subject: [PATCH] Clear authorized_keys before writing Was writing both the old content of authorized_keys and the new tunnel every time a tunnel was created. This essentially made the file double in size for every new tunnel added. --- tunnel_manager.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tunnel_manager.go b/tunnel_manager.go index 133b289..4ac6a6b 100644 --- a/tunnel_manager.go +++ b/tunnel_manager.go @@ -197,6 +197,16 @@ func (m *TunnelManager) addToAuthorizedKeys(domain string, port int, allowExtern newAk := fmt.Sprintf("%s%s %s %s\n", akStr, options, pubKey, tunnelId) + // Clear the file + err = akFile.Truncate(0) + if err != nil { + return "", err + } + _, err = akFile.Seek(0, 0) + if err != nil { + return "", err + } + _, err = akFile.Write([]byte(newAk)) if err != nil { return "", err