From e9872c8ca4d9af41794a851f2f81ed21c65bb85b Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 10 Apr 2014 19:01:30 -0400
Subject: [PATCH] Allow specifying accepted PUSH transports

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

diff --git a/src/main/java/com/gitblit/transport/ssh/CachingPublicKeyAuthenticator.java b/src/main/java/com/gitblit/transport/ssh/CachingPublicKeyAuthenticator.java
index 0120fa6..48e5aa2 100644
--- a/src/main/java/com/gitblit/transport/ssh/CachingPublicKeyAuthenticator.java
+++ b/src/main/java/com/gitblit/transport/ssh/CachingPublicKeyAuthenticator.java
@@ -73,30 +73,30 @@
 		return result;
 	}
 
-	protected boolean doAuthenticate(String username, PublicKey suppliedKey,
+	private boolean doAuthenticate(String username, PublicKey suppliedKey,
 			ServerSession session) {
 		SshDaemonClient client = session.getAttribute(SshDaemonClient.KEY);
 		Preconditions.checkState(client.getUser() == null);
 		username = username.toLowerCase(Locale.US);
-		List<PublicKey> keys = keyManager.getKeys(username);
+		List<SshKey> keys = keyManager.getKeys(username);
 		if (keys == null || keys.isEmpty()) {
 			log.info("{} has not added any public keys for ssh authentication",
 					username);
 			return false;
 		}
 
-		for (PublicKey key : keys) {
+		for (SshKey key : keys) {
 			if (key.equals(suppliedKey)) {
 				UserModel user = authManager.authenticate(username, key);
 				if (user != null) {
 					client.setUser(user);
+					client.setKey(key);
 					return true;
 				}
 			}
 		}
 
-		log.warn(
-				"could not authenticate {} for SSH using the supplied public key",
+		log.warn("could not authenticate {} for SSH using the supplied public key",
 				username);
 		return false;
 	}

--
Gitblit v1.9.1