version 1.381, 2023/08/28 03:31:16 |
version 1.382, 2023/10/11 22:42:26 |
|
|
oFingerprintHash, oUpdateHostkeys, oHostbasedAcceptedAlgorithms, |
oFingerprintHash, oUpdateHostkeys, oHostbasedAcceptedAlgorithms, |
oPubkeyAcceptedAlgorithms, oCASignatureAlgorithms, oProxyJump, |
oPubkeyAcceptedAlgorithms, oCASignatureAlgorithms, oProxyJump, |
oSecurityKeyProvider, oKnownHostsCommand, oRequiredRSASize, |
oSecurityKeyProvider, oKnownHostsCommand, oRequiredRSASize, |
oEnableEscapeCommandline, oObscureKeystrokeTiming, |
oEnableEscapeCommandline, oObscureKeystrokeTiming, oChannelTimeout, |
oIgnore, oIgnoredUnknownOption, oDeprecated, oUnsupported |
oIgnore, oIgnoredUnknownOption, oDeprecated, oUnsupported |
} OpCodes; |
} OpCodes; |
|
|
|
|
{ "requiredrsasize", oRequiredRSASize }, |
{ "requiredrsasize", oRequiredRSASize }, |
{ "enableescapecommandline", oEnableEscapeCommandline }, |
{ "enableescapecommandline", oEnableEscapeCommandline }, |
{ "obscurekeystroketiming", oObscureKeystrokeTiming }, |
{ "obscurekeystroketiming", oObscureKeystrokeTiming }, |
|
{ "channeltimeout", oChannelTimeout }, |
|
|
{ NULL, oBadOption } |
{ NULL, oBadOption } |
}; |
}; |
|
|
*intptr = value; |
*intptr = value; |
break; |
break; |
|
|
|
case oChannelTimeout: |
|
uvalue = options->num_channel_timeouts; |
|
i = 0; |
|
while ((arg = argv_next(&ac, &av)) != NULL) { |
|
/* Allow "none" only in first position */ |
|
if (strcasecmp(arg, "none") == 0) { |
|
if (i > 0 || ac > 0) { |
|
error("%s line %d: keyword %s \"none\" " |
|
"argument must appear alone.", |
|
filename, linenum, keyword); |
|
goto out; |
|
} |
|
} else if (parse_pattern_interval(arg, |
|
NULL, NULL) != 0) { |
|
fatal("%s line %d: invalid channel timeout %s", |
|
filename, linenum, arg); |
|
} |
|
if (!*activep || uvalue != 0) |
|
continue; |
|
opt_array_append(filename, linenum, keyword, |
|
&options->channel_timeouts, |
|
&options->num_channel_timeouts, arg); |
|
} |
|
break; |
|
|
case oDeprecated: |
case oDeprecated: |
debug("%s line %d: Deprecated option \"%s\"", |
debug("%s line %d: Deprecated option \"%s\"", |
filename, linenum, keyword); |
filename, linenum, keyword); |
|
|
options->enable_escape_commandline = -1; |
options->enable_escape_commandline = -1; |
options->obscure_keystroke_timing_interval = -1; |
options->obscure_keystroke_timing_interval = -1; |
options->tag = NULL; |
options->tag = NULL; |
|
options->channel_timeouts = NULL; |
|
options->num_channel_timeouts = 0; |
} |
} |
|
|
/* |
/* |
|
|
v = NULL; \ |
v = NULL; \ |
} \ |
} \ |
} while(0) |
} while(0) |
|
#define CLEAR_ON_NONE_ARRAY(v, nv, none) \ |
|
do { \ |
|
if (options->nv == 1 && \ |
|
strcasecmp(options->v[0], none) == 0) { \ |
|
free(options->v[0]); \ |
|
free(options->v); \ |
|
options->v = NULL; \ |
|
options->nv = 0; \ |
|
} \ |
|
} while (0) |
CLEAR_ON_NONE(options->local_command); |
CLEAR_ON_NONE(options->local_command); |
CLEAR_ON_NONE(options->remote_command); |
CLEAR_ON_NONE(options->remote_command); |
CLEAR_ON_NONE(options->proxy_command); |
CLEAR_ON_NONE(options->proxy_command); |
|
|
CLEAR_ON_NONE(options->pkcs11_provider); |
CLEAR_ON_NONE(options->pkcs11_provider); |
CLEAR_ON_NONE(options->sk_provider); |
CLEAR_ON_NONE(options->sk_provider); |
CLEAR_ON_NONE(options->known_hosts_command); |
CLEAR_ON_NONE(options->known_hosts_command); |
|
CLEAR_ON_NONE_ARRAY(channel_timeouts, num_channel_timeouts, "none"); |
|
#undef CLEAR_ON_NONE |
|
#undef CLEAR_ON_NONE_ARRAY |
if (options->jump_host != NULL && |
if (options->jump_host != NULL && |
strcmp(options->jump_host, "none") == 0 && |
strcmp(options->jump_host, "none") == 0 && |
options->jump_port == 0 && options->jump_user == NULL) { |
options->jump_port == 0 && options->jump_user == NULL) { |
|
|
dump_cfg_strarray(oSetEnv, o->num_setenv, o->setenv); |
dump_cfg_strarray(oSetEnv, o->num_setenv, o->setenv); |
dump_cfg_strarray_oneline(oLogVerbose, |
dump_cfg_strarray_oneline(oLogVerbose, |
o->num_log_verbose, o->log_verbose); |
o->num_log_verbose, o->log_verbose); |
|
dump_cfg_strarray_oneline(oChannelTimeout, |
|
o->num_channel_timeouts, o->channel_timeouts); |
|
|
/* Special cases */ |
/* Special cases */ |
|
|