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>2017-03-29 01:39:47 +0100
commit74415628b380db26961259a25dcc47c4f02e8703 (patch)
tree36abae92a97bfe47e4e5b075c83b004f72a513da /readconf.c
parentfb7c3c37876359b7a110e1386a6b7887cd2c8ca2 (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: 2016-12-26 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 32a729574..0b1370a8e 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
@@ -321,6 +322,8 @@ static struct {
321 { "pubkeyacceptedkeytypes", oPubkeyAcceptedKeyTypes }, 322 { "pubkeyacceptedkeytypes", oPubkeyAcceptedKeyTypes },
322 { "ignoreunknown", oIgnoreUnknown }, 323 { "ignoreunknown", oIgnoreUnknown },
323 { "proxyjump", oProxyJump }, 324 { "proxyjump", oProxyJump },
325 { "protocolkeepalives", oProtocolKeepAlives },
326 { "setuptimeout", oSetupTimeOut },
324 327
325 { NULL, oBadOption } 328 { NULL, oBadOption }
326}; 329};
@@ -1417,6 +1420,8 @@ parse_keytypes:
1417 goto parse_flag; 1420 goto parse_flag;
1418 1421
1419 case oServerAliveInterval: 1422 case oServerAliveInterval:
1423 case oProtocolKeepAlives: /* Debian-specific compatibility alias */
1424 case oSetupTimeOut: /* Debian-specific compatibility alias */
1420 intptr = &options->server_alive_interval; 1425 intptr = &options->server_alive_interval;
1421 goto parse_time; 1426 goto parse_time;
1422 1427
@@ -2070,8 +2075,13 @@ fill_default_options(Options * options)
2070 options->rekey_interval = 0; 2075 options->rekey_interval = 0;
2071 if (options->verify_host_key_dns == -1) 2076 if (options->verify_host_key_dns == -1)
2072 options->verify_host_key_dns = 0; 2077 options->verify_host_key_dns = 0;
2073 if (options->server_alive_interval == -1) 2078 if (options->server_alive_interval == -1) {
2074 options->server_alive_interval = 0; 2079 /* in batch mode, default is 5mins */
2080 if (options->batch_mode == 1)
2081 options->server_alive_interval = 300;
2082 else
2083 options->server_alive_interval = 0;
2084 }
2075 if (options->server_alive_count_max == -1) 2085 if (options->server_alive_count_max == -1)
2076 options->server_alive_count_max = 3; 2086 options->server_alive_count_max = 3;
2077 if (options->control_master == -1) 2087 if (options->control_master == -1)