From fdf85cf245cddf121d35799637aaea8795db2ebd Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 10 Apr 2014 18:58:09 -0400
Subject: [PATCH] Fix exception handling for account with no public keys

---
 src/main/java/com/gitblit/transport/ssh/IPublicKeyManager.java |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/gitblit/transport/ssh/IPublicKeyManager.java b/src/main/java/com/gitblit/transport/ssh/IPublicKeyManager.java
index 5857a59..d213514 100644
--- a/src/main/java/com/gitblit/transport/ssh/IPublicKeyManager.java
+++ b/src/main/java/com/gitblit/transport/ssh/IPublicKeyManager.java
@@ -27,6 +27,7 @@
 import com.gitblit.manager.IManager;
 import com.google.common.cache.CacheBuilder;
 import com.google.common.cache.CacheLoader;
+import com.google.common.cache.CacheLoader.InvalidCacheLoadException;
 import com.google.common.cache.LoadingCache;
 
 /**
@@ -64,6 +65,10 @@
 				keyCache.invalidate(username);
 			}
 			return keyCache.get(username);
+		} catch (InvalidCacheLoadException e) {
+			if (e.getMessage() == null || !e.getMessage().contains("returned null")) {
+				log.error(MessageFormat.format("failed to retrieve keys for {0}", username), e);
+			}
 		} catch (ExecutionException e) {
 			log.error(MessageFormat.format("failed to retrieve keys for {0}", username), e);
 		}

--
Gitblit v1.9.1