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>2020-02-21 12:06:03 +0000
commit3558be2914c0127489faae40ce2eae66142c3287 (patch)
tree25a77cf5d70b22f2ac271625b93c2872a14cf7b1 /readconf.c
parent11d571f137c76d8c2e38b1c1a537b04cc279f8e3 (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: 2020-02-21 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 0fc996871..2399208f8 100644
--- a/readconf.c
+++ b/readconf.c
@@ -176,6 +176,7 @@ typedef enum {
176 oFingerprintHash, oUpdateHostkeys, oHostbasedKeyTypes, 176 oFingerprintHash, oUpdateHostkeys, oHostbasedKeyTypes,
177 oPubkeyAcceptedKeyTypes, oCASignatureAlgorithms, oProxyJump, 177 oPubkeyAcceptedKeyTypes, oCASignatureAlgorithms, oProxyJump,
178 oSecurityKeyProvider, 178 oSecurityKeyProvider,
179 oProtocolKeepAlives, oSetupTimeOut,
179 oIgnore, oIgnoredUnknownOption, oDeprecated, oUnsupported 180 oIgnore, oIgnoredUnknownOption, oDeprecated, oUnsupported
180} OpCodes; 181} OpCodes;
181 182
@@ -326,6 +327,8 @@ static struct {
326 { "ignoreunknown", oIgnoreUnknown }, 327 { "ignoreunknown", oIgnoreUnknown },
327 { "proxyjump", oProxyJump }, 328 { "proxyjump", oProxyJump },
328 { "securitykeyprovider", oSecurityKeyProvider }, 329 { "securitykeyprovider", oSecurityKeyProvider },
330 { "protocolkeepalives", oProtocolKeepAlives },
331 { "setuptimeout", oSetupTimeOut },
329 332
330 { NULL, oBadOption } 333 { NULL, oBadOption }
331}; 334};
@@ -1495,6 +1498,8 @@ parse_keytypes:
1495 goto parse_flag; 1498 goto parse_flag;
1496 1499
1497 case oServerAliveInterval: 1500 case oServerAliveInterval:
1501 case oProtocolKeepAlives: /* Debian-specific compatibility alias */
1502 case oSetupTimeOut: /* Debian-specific compatibility alias */
1498 intptr = &options->server_alive_interval; 1503 intptr = &options->server_alive_interval;
1499 goto parse_time; 1504 goto parse_time;
1500 1505
@@ -2198,8 +2203,13 @@ fill_default_options(Options * options)
2198 options->rekey_interval = 0; 2203 options->rekey_interval = 0;
2199 if (options->verify_host_key_dns == -1) 2204 if (options->verify_host_key_dns == -1)
2200 options->verify_host_key_dns = 0; 2205 options->verify_host_key_dns = 0;
2201 if (options->server_alive_interval == -1) 2206 if (options->server_alive_interval == -1) {
2202 options->server_alive_interval = 0; 2207 /* in batch mode, default is 5mins */
2208 if (options->batch_mode == 1)
2209 options->server_alive_interval = 300;
2210 else
2211 options->server_alive_interval = 0;
2212 }
2203 if (options->server_alive_count_max == -1) 2213 if (options->server_alive_count_max == -1)
2204 options->server_alive_count_max = 3; 2214 options->server_alive_count_max = 3;
2205 if (options->control_master == -1) 2215 if (options->control_master == -1)