summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn O. Pearce <sop@google.com>2009-02-09 08:19:07 -0800
committerShawn O. Pearce <sop@google.com>2009-02-09 08:19:07 -0800
commit1dcbaaa67c6791d74987f58f88cf0f69c6dfd109 (patch)
tree674d71edd695e69c84acb882a6621beb75421200
parent10a52b3ee9c2ebb4073bb9db659426eb819127b3 (diff)
Ensure our SSHD always disables compression
Currently the SSH daemon always disables compression, but that default might change in the future. We know that compression will never be useful on our data streams, as they are always moving highly compressed Git pack files. So we disable them ourselves just in case the default should ever change in the upstream SSH daemon code. Signed-off-by: Shawn O. Pearce <sop@google.com>
-rw-r--r--src/main/java/com/google/gerrit/server/ssh/SshServlet.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/com/google/gerrit/server/ssh/SshServlet.java b/src/main/java/com/google/gerrit/server/ssh/SshServlet.java
index 1c9e6b7597..03ce4eb02b 100644
--- a/src/main/java/com/google/gerrit/server/ssh/SshServlet.java
+++ b/src/main/java/com/google/gerrit/server/ssh/SshServlet.java
@@ -20,7 +20,9 @@ import com.google.gwtjsonrpc.server.XsrfException;
import com.google.gwtorm.client.OrmException;
import org.apache.sshd.SshServer;
+import org.apache.sshd.common.Compression;
import org.apache.sshd.common.NamedFactory;
+import org.apache.sshd.common.compression.CompressionNone;
import org.apache.sshd.common.keyprovider.FileKeyPairProvider;
import org.apache.sshd.common.util.SecurityUtils;
import org.apache.sshd.server.UserAuth;
@@ -90,6 +92,13 @@ public class SshServlet extends HttpServlet {
sshd.setKeyPairProvider(keyp);
}
+ // Always disable transparent compression. The majority of our data
+ // transfer is highly compressed Git pack files. We cannot make them
+ // any smaller than they already are.
+ //
+ sshd.setCompressionFactories(Arrays
+ .<NamedFactory<Compression>> asList(new CompressionNone.Factory()));
+
sshd.setUserAuthFactories(Arrays
.<NamedFactory<UserAuth>> asList(new UserAuthPublicKey.Factory()));
sshd.setPublickeyAuthenticator(new DatabasePubKeyAuth());