version 1.237, 2015/06/26 05:13:20 |
version 1.238, 2015/07/10 06:21:53 |
|
|
oCanonicalizeFallbackLocal, oCanonicalizePermittedCNAMEs, |
oCanonicalizeFallbackLocal, oCanonicalizePermittedCNAMEs, |
oStreamLocalBindMask, oStreamLocalBindUnlink, oRevokedHostKeys, |
oStreamLocalBindMask, oStreamLocalBindUnlink, oRevokedHostKeys, |
oFingerprintHash, oUpdateHostkeys, oHostbasedKeyTypes, |
oFingerprintHash, oUpdateHostkeys, oHostbasedKeyTypes, |
|
oPubkeyAcceptedKeyTypes, |
oIgnoredUnknownOption, oDeprecated, oUnsupported |
oIgnoredUnknownOption, oDeprecated, oUnsupported |
} OpCodes; |
} OpCodes; |
|
|
|
|
{ "fingerprinthash", oFingerprintHash }, |
{ "fingerprinthash", oFingerprintHash }, |
{ "updatehostkeys", oUpdateHostkeys }, |
{ "updatehostkeys", oUpdateHostkeys }, |
{ "hostbasedkeytypes", oHostbasedKeyTypes }, |
{ "hostbasedkeytypes", oHostbasedKeyTypes }, |
|
{ "pubkeyacceptedkeytypes", oPubkeyAcceptedKeyTypes }, |
{ "ignoreunknown", oIgnoreUnknown }, |
{ "ignoreunknown", oIgnoreUnknown }, |
|
|
{ NULL, oBadOption } |
{ NULL, oBadOption } |
|
|
break; |
break; |
|
|
case oHostKeyAlgorithms: |
case oHostKeyAlgorithms: |
|
charptr = &options->hostkeyalgorithms; |
|
parse_keytypes: |
arg = strdelim(&s); |
arg = strdelim(&s); |
if (!arg || *arg == '\0') |
if (!arg || *arg == '\0') |
fatal("%.200s line %d: Missing argument.", filename, linenum); |
fatal("%.200s line %d: Missing argument.", |
|
filename, linenum); |
if (!sshkey_names_valid2(arg, 1)) |
if (!sshkey_names_valid2(arg, 1)) |
fatal("%.200s line %d: Bad protocol 2 host key algorithms '%s'.", |
fatal("%s line %d: Bad key types '%s'.", |
filename, linenum, arg ? arg : "<NONE>"); |
filename, linenum, arg ? arg : "<NONE>"); |
if (*activep && options->hostkeyalgorithms == NULL) |
if (*activep && *charptr == NULL) |
options->hostkeyalgorithms = xstrdup(arg); |
*charptr = xstrdup(arg); |
break; |
break; |
|
|
case oProtocol: |
case oProtocol: |
|
|
|
|
case oHostbasedKeyTypes: |
case oHostbasedKeyTypes: |
charptr = &options->hostbased_key_types; |
charptr = &options->hostbased_key_types; |
arg = strdelim(&s); |
goto parse_keytypes; |
if (!arg || *arg == '\0') |
|
fatal("%.200s line %d: Missing argument.", |
|
filename, linenum); |
|
if (!sshkey_names_valid2(arg, 1)) |
|
fatal("%s line %d: Bad key types '%s'.", |
|
filename, linenum, arg ? arg : "<NONE>"); |
|
if (*activep && *charptr == NULL) |
|
*charptr = xstrdup(arg); |
|
break; |
|
|
|
|
case oPubkeyAcceptedKeyTypes: |
|
charptr = &options->pubkey_key_types; |
|
goto parse_keytypes; |
|
|
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->fingerprint_hash = -1; |
options->fingerprint_hash = -1; |
options->update_hostkeys = -1; |
options->update_hostkeys = -1; |
options->hostbased_key_types = NULL; |
options->hostbased_key_types = NULL; |
|
options->pubkey_key_types = NULL; |
} |
} |
|
|
/* |
/* |
|
|
if (options->update_hostkeys == -1) |
if (options->update_hostkeys == -1) |
options->update_hostkeys = 0; |
options->update_hostkeys = 0; |
if (options->hostbased_key_types == NULL) |
if (options->hostbased_key_types == NULL) |
options->hostbased_key_types = xstrdup("*"); |
options->hostbased_key_types = xstrdup(KEX_DEFAULT_PK_ALG); |
|
if (options->pubkey_key_types == NULL) |
|
options->pubkey_key_types = xstrdup(KEX_DEFAULT_PK_ALG); |
|
|
#define CLEAR_ON_NONE(v) \ |
#define CLEAR_ON_NONE(v) \ |
do { \ |
do { \ |