From 82baccf66d3d2eb8db90c6c82f7f4c3df7ffa0ab Mon Sep 17 00:00:00 2001 From: Marcin Kuzminski Date: Fri, 3 Nov 2017 13:07:02 +0100 Subject: [PATCH] ssh: prevent exceptions when user associated to stored old key is not found. --- rhodecode/apps/ssh_support/lib/backends/__init__.py | 5 +++++ rhodecode/apps/ssh_support/lib/backends/base.py | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/rhodecode/apps/ssh_support/lib/backends/__init__.py b/rhodecode/apps/ssh_support/lib/backends/__init__.py index 5fee6862..5a7ccdcf 100644 --- a/rhodecode/apps/ssh_support/lib/backends/__init__.py +++ b/rhodecode/apps/ssh_support/lib/backends/__init__.py @@ -180,6 +180,11 @@ class SshWrapper(object): elif scm_detected: user = User.get(user_id) + if not user: + log.warning('User with id %s not found', user_id) + exit_code = -1 + return exit_code + auth_user = user.AuthUser() permissions = auth_user.permissions['repositories'] diff --git a/rhodecode/apps/ssh_support/lib/backends/base.py b/rhodecode/apps/ssh_support/lib/backends/base.py index ceb8ae0f..0fa20cfc 100644 --- a/rhodecode/apps/ssh_support/lib/backends/base.py +++ b/rhodecode/apps/ssh_support/lib/backends/base.py @@ -83,8 +83,9 @@ class VcsServer(object): self.user, self.repo_name) return 0 - log.error('Cannot properly fetch or allow user permissions. ' - 'Return value is: %s, req action: %s', permission, action) + log.error('Cannot properly fetch or allow user %s permissions. ' + 'Return value is: %s, req action: %s', + self.user, permission, action) return -2 def update_environment(self, action, extras=None):