From dc6abce017e82bd41e75a4f6537864e80aa378e1 Mon Sep 17 00:00:00 2001 From: Vladimir Berezniker Date: Wed, 30 Jan 2013 22:05:20 -0500 Subject: [PATCH] Fix running daemon with --disable-sshd flag Commit 9a701696ae moved SshKeyCacheImpl into system injector, however it missed doing the same for case of NoSshKeyCache when the sshd daemon is disabled. Change-Id: Ic864e65131820c88131ba85326fd6c06e8a75df9 --- .../main/java/com/google/gerrit/pgm/Daemon.java | 7 ++++++- .../google/gerrit/server/ssh/NoSshKeyCache.java | 15 ++++++++++++++- .../com/google/gerrit/server/ssh/NoSshModule.java | 1 - 3 files changed, 20 insertions(+), 3 deletions(-) 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 fb49b5f28f..4ab858d22f 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 @@ -57,6 +57,7 @@ import com.google.gerrit.server.schema.SchemaUpdater; import com.google.gerrit.server.schema.SchemaVersionCheck; import com.google.gerrit.server.schema.UpdateUI; import com.google.gerrit.server.ssh.NoSshModule; +import com.google.gerrit.server.ssh.NoSshKeyCache; import com.google.gerrit.sshd.SshKeyCacheImpl; import com.google.gerrit.sshd.SshModule; import com.google.gerrit.sshd.commands.MasterCommandModule; @@ -316,7 +317,11 @@ public class Daemon extends SiteProgram { } }); } - modules.add(SshKeyCacheImpl.module()); + if (sshd) { + modules.add(SshKeyCacheImpl.module()); + } else { + modules.add(NoSshKeyCache.module()); + } if (!slave) { modules.add(new MasterNodeStartup()); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/ssh/NoSshKeyCache.java b/gerrit-server/src/main/java/com/google/gerrit/server/ssh/NoSshKeyCache.java index 6a07ca7c64..0957594f46 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/ssh/NoSshKeyCache.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/ssh/NoSshKeyCache.java @@ -16,8 +16,21 @@ package com.google.gerrit.server.ssh; import com.google.gerrit.common.errors.InvalidSshKeyException; import com.google.gerrit.reviewdb.client.AccountSshKey; +import com.google.inject.AbstractModule; +import com.google.inject.Module; + + +public class NoSshKeyCache implements SshKeyCache { + + public static Module module() { + return new AbstractModule() { + @Override + protected void configure() { + bind(SshKeyCache.class).to(NoSshKeyCache.class); + } + }; + } -class NoSshKeyCache implements SshKeyCache { @Override public void evict(String username) { } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/ssh/NoSshModule.java b/gerrit-server/src/main/java/com/google/gerrit/server/ssh/NoSshModule.java index 21b1a549ea..8781d46a3d 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/ssh/NoSshModule.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/ssh/NoSshModule.java @@ -23,6 +23,5 @@ public class NoSshModule extends AbstractModule { @Override protected void configure() { bind(SshInfo.class).to(NoSshInfo.class); - bind(SshKeyCache.class).to(NoSshKeyCache.class); } }