| | |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | |
| | | import com.gitblit.GitBlit; |
| | | import com.gitblit.manager.IGitblit; |
| | | import com.gitblit.models.RepositoryModel; |
| | | import com.gitblit.models.UserModel; |
| | | import com.gitblit.transport.git.GitDaemonClient; |
| | | import com.gitblit.transport.ssh.SshSession; |
| | | |
| | | /** |
| | | * Resolves repositories and grants export access. |
| | |
| | | |
| | | private final Logger logger = LoggerFactory.getLogger(RepositoryResolver.class); |
| | | |
| | | private final GitBlit gitblit; |
| | | private final IGitblit gitblit; |
| | | |
| | | public RepositoryResolver(GitBlit gitblit) { |
| | | public RepositoryResolver(IGitblit gitblit) { |
| | | super(gitblit.getRepositoriesFolder(), true); |
| | | this.gitblit = gitblit; |
| | | } |
| | |
| | | // git request |
| | | GitDaemonClient client = (GitDaemonClient) req; |
| | | client.setRepositoryName(name); |
| | | } else if (req instanceof SshSession) { |
| | | SshSession s = (SshSession)req; |
| | | s.setRepositoryName(name); |
| | | } |
| | | return repo; |
| | | } |
| | |
| | | if (user == null) { |
| | | user = UserModel.ANONYMOUS; |
| | | } |
| | | } else if (req instanceof SshSession) { |
| | | SshSession s = (SshSession) req; |
| | | user = gitblit.authenticate(s); |
| | | if (user == null) { |
| | | throw new IOException(String.format("User %s not found", s.getRemoteUser())); |
| | | } |
| | | } |
| | | |
| | | if (user.canClone(model)) { |