version 1.389, 2023/01/06 02:47:18 |
version 1.390, 2023/01/17 09:44:48 |
|
|
options->required_rsa_size = -1; |
options->required_rsa_size = -1; |
options->channel_timeouts = NULL; |
options->channel_timeouts = NULL; |
options->num_channel_timeouts = 0; |
options->num_channel_timeouts = 0; |
|
options->unused_connection_timeout = -1; |
} |
} |
|
|
/* Returns 1 if a string option is unset or set to "none" or 0 otherwise. */ |
/* Returns 1 if a string option is unset or set to "none" or 0 otherwise. */ |
|
|
options->sk_provider = xstrdup("internal"); |
options->sk_provider = xstrdup("internal"); |
if (options->required_rsa_size == -1) |
if (options->required_rsa_size == -1) |
options->required_rsa_size = SSH_RSA_MINIMUM_MODULUS_SIZE; |
options->required_rsa_size = SSH_RSA_MINIMUM_MODULUS_SIZE; |
|
if (options->unused_connection_timeout == -1) |
|
options->unused_connection_timeout = 0; |
|
|
assemble_algorithms(options); |
assemble_algorithms(options); |
|
|
|
|
sStreamLocalBindMask, sStreamLocalBindUnlink, |
sStreamLocalBindMask, sStreamLocalBindUnlink, |
sAllowStreamLocalForwarding, sFingerprintHash, sDisableForwarding, |
sAllowStreamLocalForwarding, sFingerprintHash, sDisableForwarding, |
sExposeAuthInfo, sRDomain, sPubkeyAuthOptions, sSecurityKeyProvider, |
sExposeAuthInfo, sRDomain, sPubkeyAuthOptions, sSecurityKeyProvider, |
sRequiredRSASize, sChannelTimeout, |
sRequiredRSASize, sChannelTimeout, sUnusedConnectionTimeout, |
sDeprecated, sIgnore, sUnsupported |
sDeprecated, sIgnore, sUnsupported |
} ServerOpCodes; |
} ServerOpCodes; |
|
|
|
|
{ "securitykeyprovider", sSecurityKeyProvider, SSHCFG_GLOBAL }, |
{ "securitykeyprovider", sSecurityKeyProvider, SSHCFG_GLOBAL }, |
{ "requiredrsasize", sRequiredRSASize, SSHCFG_ALL }, |
{ "requiredrsasize", sRequiredRSASize, SSHCFG_ALL }, |
{ "channeltimeout", sChannelTimeout, SSHCFG_ALL }, |
{ "channeltimeout", sChannelTimeout, SSHCFG_ALL }, |
|
{ "unusedconnectiontimeout", sUnusedConnectionTimeout, SSHCFG_ALL }, |
{ NULL, sBadOption, 0 } |
{ NULL, sBadOption, 0 } |
}; |
}; |
|
|
|
|
} |
} |
break; |
break; |
|
|
|
case sUnusedConnectionTimeout: |
|
intptr = &options->unused_connection_timeout; |
|
/* peek at first arg for "none" so we can reuse parse_time */ |
|
if (av[0] != NULL && strcasecmp(av[0], "none") == 0) { |
|
(void)argv_next(&ac, &av); /* consume arg */ |
|
if (*activep) |
|
*intptr = 0; |
|
break; |
|
} |
|
goto parse_time; |
|
|
case sDeprecated: |
case sDeprecated: |
case sIgnore: |
case sIgnore: |
case sUnsupported: |
case sUnsupported: |
|
|
M_CP_INTOPT(rekey_interval); |
M_CP_INTOPT(rekey_interval); |
M_CP_INTOPT(log_level); |
M_CP_INTOPT(log_level); |
M_CP_INTOPT(required_rsa_size); |
M_CP_INTOPT(required_rsa_size); |
|
M_CP_INTOPT(unused_connection_timeout); |
|
|
/* |
/* |
* The bind_mask is a mode_t that may be unsigned, so we can't use |
* The bind_mask is a mode_t that may be unsigned, so we can't use |
|
|
static void |
static void |
dump_cfg_int(ServerOpCodes code, int val) |
dump_cfg_int(ServerOpCodes code, int val) |
{ |
{ |
|
if (code == sUnusedConnectionTimeout && val == 0) { |
|
printf("%s none\n", lookup_opcode_name(code)); |
|
return; |
|
} |
printf("%s %d\n", lookup_opcode_name(code), val); |
printf("%s %d\n", lookup_opcode_name(code), val); |
} |
} |
|
|
|
|
dump_cfg_int(sClientAliveCountMax, o->client_alive_count_max); |
dump_cfg_int(sClientAliveCountMax, o->client_alive_count_max); |
dump_cfg_int(sRequiredRSASize, o->required_rsa_size); |
dump_cfg_int(sRequiredRSASize, o->required_rsa_size); |
dump_cfg_oct(sStreamLocalBindMask, o->fwd_opts.streamlocal_bind_mask); |
dump_cfg_oct(sStreamLocalBindMask, o->fwd_opts.streamlocal_bind_mask); |
|
dump_cfg_int(sUnusedConnectionTimeout, o->unused_connection_timeout); |
|
|
/* formatted integer arguments */ |
/* formatted integer arguments */ |
dump_cfg_fmtint(sPermitRootLogin, o->permit_root_login); |
dump_cfg_fmtint(sPermitRootLogin, o->permit_root_login); |