From 8b63e0aaf044b36627e9ce02a1d73618e50700e4 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 10 Apr 2014 18:58:08 -0400
Subject: [PATCH] Listen for ssh clients on all interfaces, by default
---
src/main/java/com/gitblit/GitBlit.java | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 52 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/gitblit/GitBlit.java b/src/main/java/com/gitblit/GitBlit.java
index a1abfcd..a15bed8 100644
--- a/src/main/java/com/gitblit/GitBlit.java
+++ b/src/main/java/com/gitblit/GitBlit.java
@@ -121,11 +121,21 @@
String username = StringUtils.encodeUsername(UserModel.ANONYMOUS.equals(user) ? "" : user.username);
List<RepositoryUrl> list = new ArrayList<RepositoryUrl>();
+
// http/https url
if (settings.getBoolean(Keys.git.enableGitServlet, true)) {
AccessPermission permission = user.getRepositoryPermission(repository).permission;
if (permission.exceeds(AccessPermission.NONE)) {
list.add(new RepositoryUrl(getRepositoryUrl(request, username, repository), permission));
+ }
+ }
+
+ // ssh daemon url
+ String sshDaemonUrl = servicesManager.getSshDaemonUrl(request, user, repository);
+ if (!StringUtils.isEmpty(sshDaemonUrl)) {
+ AccessPermission permission = servicesManager.getSshDaemonAccessPermission(user, repository);
+ if (permission.exceeds(AccessPermission.NONE)) {
+ list.add(new RepositoryUrl(sshDaemonUrl, permission));
}
}
@@ -180,9 +190,14 @@
@Override
public boolean deleteRepository(String repositoryName) {
RepositoryModel repository = repositoryManager.getRepositoryModel(repositoryName);
- boolean success = repositoryManager.deleteRepository(repositoryName);
+ return deleteRepositoryModel(repository);
+ }
+
+ @Override
+ public boolean deleteRepositoryModel(RepositoryModel model) {
+ boolean success = repositoryManager.deleteRepositoryModel(model);
if (success && ticketService != null) {
- return ticketService.deleteAll(repository);
+ return ticketService.deleteAll(model);
}
return success;
}
@@ -205,7 +220,9 @@
try {
Class<? extends ITicketService> serviceClass = (Class<? extends ITicketService>) Class.forName(clazz);
ticketService = injector.get(serviceClass).start();
- if (ticketService.isReady()) {
+ if (ticketService instanceof NullTicketService) {
+ logger.warn("No ticket service configured.");
+ } else if (ticketService.isReady()) {
logger.info("{} is ready.", ticketService);
} else {
logger.warn("{} is disabled.", ticketService);
@@ -284,5 +301,37 @@
@Provides @Singleton IGitblit provideGitblit() {
return GitBlit.this;
}
+
+ @Provides @Singleton NullTicketService provideNullTicketService() {
+ return new NullTicketService(
+ runtimeManager,
+ notificationManager,
+ userManager,
+ repositoryManager);
+ }
+
+ @Provides @Singleton FileTicketService provideFileTicketService() {
+ return new FileTicketService(
+ runtimeManager,
+ notificationManager,
+ userManager,
+ repositoryManager);
+ }
+
+ @Provides @Singleton BranchTicketService provideBranchTicketService() {
+ return new BranchTicketService(
+ runtimeManager,
+ notificationManager,
+ userManager,
+ repositoryManager);
+ }
+
+ @Provides @Singleton RedisTicketService provideRedisTicketService() {
+ return new RedisTicketService(
+ runtimeManager,
+ notificationManager,
+ userManager,
+ repositoryManager);
+ }
}
}
--
Gitblit v1.9.1