From 81059a2567be0cd811ca10e3545282c9aa53276a Mon Sep 17 00:00:00 2001 From: Lukas Prettenthaler Date: Fri, 26 Apr 2019 17:01:54 +0200 Subject: [PATCH] LDAP: ignore already existing public keys after ldap sync (#6766) * fix type in public key exist error, only log trace for ldap public key import if existing Signed-off-by: Lukas Prettenthaler * cleanup switch statement Signed-off-by: Lukas Prettenthaler * replace switch with if, fix log formatting Signed-off-by: Lukas Prettenthaler * fix formatting Signed-off-by: Lukas Prettenthaler --- models/error.go | 2 +- models/user.go | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/models/error.go b/models/error.go index febe3f3e0..c3495b28d 100644 --- a/models/error.go +++ b/models/error.go @@ -318,7 +318,7 @@ func IsErrKeyAlreadyExist(err error) bool { } func (err ErrKeyAlreadyExist) Error() string { - return fmt.Sprintf("public key already exists [owner_id: %d, finter_print: %s, content: %s]", + return fmt.Sprintf("public key already exists [owner_id: %d, finger_print: %s, content: %s]", err.OwnerID, err.Fingerprint, err.Content) } diff --git a/models/user.go b/models/user.go index 31e2387fe..04fe36ffa 100644 --- a/models/user.go +++ b/models/user.go @@ -1526,7 +1526,11 @@ func addLdapSSHPublicKeys(usr *User, s *LoginSource, SSHPublicKeys []string) boo if err == nil { sshKeyName := fmt.Sprintf("%s-%s", s.Name, sshKey[0:40]) if _, err := AddPublicKey(usr.ID, sshKeyName, sshKey, s.ID); err != nil { - log.Error("addLdapSSHPublicKeys[%s]: Error adding LDAP Public SSH Key for user %s: %v", s.Name, usr.Name, err) + if IsErrKeyAlreadyExist(err) { + log.Trace("addLdapSSHPublicKeys[%s]: LDAP Public SSH Key %s already exists for user", s.Name, usr.Name) + } else { + log.Error("addLdapSSHPublicKeys[%s]: Error adding LDAP Public SSH Key for user %s: %v", s.Name, usr.Name, err) + } } else { log.Trace("addLdapSSHPublicKeys[%s]: Added LDAP Public SSH Key for user %s", s.Name, usr.Name) sshKeysNeedUpdate = true