From 85fbc79605d886b2b4ec02aa8cfb5b8b05436576 Mon Sep 17 00:00:00 2001 From: James Moger Date: Sat, 8 Mar 2014 19:10:53 -0500 Subject: Authenticate SSH upload pack --- src/main/java/com/gitblit/git/GitblitUploadPackFactory.java | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/main/java/com/gitblit/git/GitblitUploadPackFactory.java') diff --git a/src/main/java/com/gitblit/git/GitblitUploadPackFactory.java b/src/main/java/com/gitblit/git/GitblitUploadPackFactory.java index 39ad0724..a72d4ad9 100644 --- a/src/main/java/com/gitblit/git/GitblitUploadPackFactory.java +++ b/src/main/java/com/gitblit/git/GitblitUploadPackFactory.java @@ -26,6 +26,7 @@ import org.eclipse.jgit.transport.resolver.UploadPackFactory; import com.gitblit.manager.IAuthenticationManager; import com.gitblit.models.UserModel; import com.gitblit.transport.git.GitDaemonClient; +import com.gitblit.transport.ssh.SshSession; /** * The upload pack factory creates an upload pack which controls what refs are @@ -62,6 +63,13 @@ public class GitblitUploadPackFactory implements UploadPackFactory { GitDaemonClient client = (GitDaemonClient) req; // set timeout from Git daemon timeout = client.getDaemon().getTimeout(); + } else if (req instanceof SshSession) { + // SSH request is always authenticated + SshSession client = (SshSession) req; + user = authenticationManager.authenticate(client); + if (user == null) { + throw new ServiceNotAuthorizedException(); + } } UploadPack up = new UploadPack(db); -- cgit v1.2.3