summaryrefslogtreecommitdiff
path: root/readconf.c
diff options
context:
space:
mode:
authorRichard Kettlewell <rjk@greenend.org.uk>2014-02-09 16:09:52 +0000
committerColin Watson <cjwatson@debian.org>2016-08-07 12:18:42 +0100
commit67c34f23edbcd0f39ebc2aadae9d33950bd1f98a (patch)
tree7a34e8f2b79cda73a178062c183d317f2b611cfe /readconf.c
parente35c0bb4c3997b8ef885c6afdcc600b403eb878b (diff)
Various keepalive extensions
Add compatibility aliases for ProtocolKeepAlives and SetupTimeOut, supported in previous versions of Debian's OpenSSH package but since superseded by ServerAliveInterval. (We're probably stuck with this bit for compatibility.) In batch mode, default ServerAliveInterval to five minutes. Adjust documentation to match and to give some more advice on use of keepalives. Author: Ian Jackson <ian@chiark.greenend.org.uk> Author: Matthew Vernon <matthew@debian.org> Author: Colin Watson <cjwatson@debian.org> Last-Update: 2015-11-29 Patch-Name: keepalive-extensions.patch
Diffstat (limited to 'readconf.c')
-rw-r--r--readconf.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/readconf.c b/readconf.c
index c0b7822e1..3a6c67ba5 100644
--- a/readconf.c
+++ b/readconf.c
@@ -173,6 +173,7 @@ typedef enum {
173 oStreamLocalBindMask, oStreamLocalBindUnlink, oRevokedHostKeys, 173 oStreamLocalBindMask, oStreamLocalBindUnlink, oRevokedHostKeys,
174 oFingerprintHash, oUpdateHostkeys, oHostbasedKeyTypes, 174 oFingerprintHash, oUpdateHostkeys, oHostbasedKeyTypes,
175 oPubkeyAcceptedKeyTypes, oProxyJump, 175 oPubkeyAcceptedKeyTypes, oProxyJump,
176 oProtocolKeepAlives, oSetupTimeOut,
176 oIgnoredUnknownOption, oDeprecated, oUnsupported 177 oIgnoredUnknownOption, oDeprecated, oUnsupported
177} OpCodes; 178} OpCodes;
178 179
@@ -308,6 +309,8 @@ static struct {
308 { "pubkeyacceptedkeytypes", oPubkeyAcceptedKeyTypes }, 309 { "pubkeyacceptedkeytypes", oPubkeyAcceptedKeyTypes },
309 { "ignoreunknown", oIgnoreUnknown }, 310 { "ignoreunknown", oIgnoreUnknown },
310 { "proxyjump", oProxyJump }, 311 { "proxyjump", oProxyJump },
312 { "protocolkeepalives", oProtocolKeepAlives },
313 { "setuptimeout", oSetupTimeOut },
311 314
312 { NULL, oBadOption } 315 { NULL, oBadOption }
313}; 316};
@@ -1403,6 +1406,8 @@ parse_keytypes:
1403 goto parse_flag; 1406 goto parse_flag;
1404 1407
1405 case oServerAliveInterval: 1408 case oServerAliveInterval:
1409 case oProtocolKeepAlives: /* Debian-specific compatibility alias */
1410 case oSetupTimeOut: /* Debian-specific compatibility alias */
1406 intptr = &options->server_alive_interval; 1411 intptr = &options->server_alive_interval;
1407 goto parse_time; 1412 goto parse_time;
1408 1413
@@ -2048,8 +2053,13 @@ fill_default_options(Options * options)
2048 options->rekey_interval = 0; 2053 options->rekey_interval = 0;
2049 if (options->verify_host_key_dns == -1) 2054 if (options->verify_host_key_dns == -1)
2050 options->verify_host_key_dns = 0; 2055 options->verify_host_key_dns = 0;
2051 if (options->server_alive_interval == -1) 2056 if (options->server_alive_interval == -1) {
2052 options->server_alive_interval = 0; 2057 /* in batch mode, default is 5mins */
2058 if (options->batch_mode == 1)
2059 options->server_alive_interval = 300;
2060 else
2061 options->server_alive_interval = 0;
2062 }
2053 if (options->server_alive_count_max == -1) 2063 if (options->server_alive_count_max == -1)
2054 options->server_alive_count_max = 3; 2064 options->server_alive_count_max = 3;
2055 if (options->control_master == -1) 2065 if (options->control_master == -1)