From 6aa20fc1aa29fa690f8c29a2c6675b79d2605ce9 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Wed, 11 Jan 2012 15:16:29 -0800 Subject: [PATCH] daemon: Fix --disable-sshd when HTTP is enabled If the HTTP server is enabled, but SSH is disabled with the command line flag, the HTTP server module setup must not try to use the sshdInjector and needs to have the NoSshModule bound in Guice. Change-Id: Ie07c85e3fe344a1d4275c0ce845c98340d25ab40 --- .../com/google/gerrit/httpd/GitOverHttpModule.java | 2 ++ .../main/java/com/google/gerrit/httpd/WebModule.java | 1 - .../src/main/java/com/google/gerrit/pgm/Daemon.java | 10 ++++++---- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/GitOverHttpModule.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/GitOverHttpModule.java index 9b9ec86a6d..e36754b30f 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/GitOverHttpModule.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/GitOverHttpModule.java @@ -31,6 +31,8 @@ public class GitOverHttpModule extends ServletModule { @Override protected void configureServlets() { + install(new ProjectServlet.Module()); + filter("/p/*").through(ProjectAccessPathFilter.class); if (authConfig.isTrustContainerAuth()) { filter("/p/*").through(ContainerAuthFilter.class); diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/WebModule.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/WebModule.java index f27526680c..4f1e4f8d87 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/WebModule.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/WebModule.java @@ -119,7 +119,6 @@ public class WebModule extends FactoryModule { install(new UrlModule()); install(new UiRpcModule()); install(new GerritRequestModule()); - install(new ProjectServlet.Module()); bind(GitWebConfig.class).toInstance(gitWebConfig); if (gitWebConfig.getGitwebCGI() != null) { diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java index def3aed887..73ddd50b57 100644 --- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java +++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java @@ -250,13 +250,15 @@ public class Daemon extends SiteProgram { private Injector createWebInjector() { final List modules = new ArrayList(); - modules.add(sshInjector.getInstance(WebModule.class)); - modules.add(sysInjector.getInstance(GitOverHttpModule.class)); - modules.add(sshInjector.getInstance(WebSshGlueModule.class)); modules.add(CacheBasedWebSession.module()); modules.add(HttpContactStoreConnection.module()); + modules.add(sysInjector.getInstance(WebModule.class)); + modules.add(sysInjector.getInstance(GitOverHttpModule.class)); if (sshd) { - modules.add(sshInjector.getInstance(ProjectQoSFilter.Module.class)); + modules.add(sshInjector.getInstance(WebSshGlueModule.class)); + modules.add(new ProjectQoSFilter.Module()); + } else { + modules.add(new NoSshModule()); } return sysInjector.createChildInjector(modules); }