diff --git a/Documentation/config-gerrit.txt b/Documentation/config-gerrit.txt index 7ebbbbe761..0c13b23721 100644 --- a/Documentation/config-gerrit.txt +++ b/Documentation/config-gerrit.txt @@ -3113,6 +3113,24 @@ programmatic configuration. + By default, true. +[[sshd.rekeyBytesLimit]]sshd.rekeyBytesLimit:: ++ +Sshd Mina will issue a rekeying after a certain amount of data. +This configuration option allows you to tweak that setting. ++ +By default, 1073741824 (bytes, 1GB). ++ +The rekeyBytesLimit cannot be set to lower than 32. + +[[sshd.rekeyTimeLimit]]sshd.rekeyTimeLimit:: ++ +Sshd Mina will issue a rekeying after a certain amount of time. +This configuration option allows you to tweak that setting. ++ +By default, 1h. ++ +Set to 0 to disable this check. + [[suggest]] === Section suggest diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshDaemon.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshDaemon.java index 73bc7c2bab..2f4b293927 100644 --- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshDaemon.java +++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshDaemon.java @@ -189,6 +189,15 @@ public class SshDaemon extends SshServer implements SshInfo, LifecycleListener { IDLE_TIMEOUT, String.valueOf(SECONDS.toMillis(idleTimeoutSeconds))); + long rekeyTimeLimit = ConfigUtil.getTimeUnit(cfg, "sshd", null, + "rekeyTimeLimit", 3600, SECONDS); + getProperties().put( + REKEY_TIME_LIMIT, + String.valueOf(SECONDS.toMillis(rekeyTimeLimit))); + + getProperties().put(REKEY_BYTES_LIMIT, + String.valueOf(cfg.getLong("sshd", "rekeyBytesLimit", 1024 * 1024 * 1024 /* 1GB */))); + final int maxConnectionsPerUser = cfg.getInt("sshd", "maxConnectionsPerUser", 64); if (0 < maxConnectionsPerUser) {