summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2015-01-08 13:44:36 +0000
committerDamien Miller <djm@mindrot.org>2015-01-09 00:45:50 +1100
commite752c6d547036c602b89e9e704851463bd160e32 (patch)
tree87c31dea768116096295a5db06dadeac98180e0b
parentab24ab847b0fc94c8d5e419feecff0bcb6d6d1bf (diff)
upstream commit
fix ssh_config FingerprintHash evaluation order; from Petr Lautrbach
-rw-r--r--readconf.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/readconf.c b/readconf.c
index 399b73e98..f1601af2e 100644
--- a/readconf.c
+++ b/readconf.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: readconf.c,v 1.224 2014/12/21 22:27:56 djm Exp $ */ 1/* $OpenBSD: readconf.c,v 1.225 2015/01/08 13:44:36 djm Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -1464,6 +1464,7 @@ parse_int:
1464 goto parse_string; 1464 goto parse_string;
1465 1465
1466 case oFingerprintHash: 1466 case oFingerprintHash:
1467 intptr = &options->fingerprint_hash;
1467 arg = strdelim(&s); 1468 arg = strdelim(&s);
1468 if (!arg || *arg == '\0') 1469 if (!arg || *arg == '\0')
1469 fatal("%.200s line %d: Missing argument.", 1470 fatal("%.200s line %d: Missing argument.",
@@ -1471,8 +1472,8 @@ parse_int:
1471 if ((value = ssh_digest_alg_by_name(arg)) == -1) 1472 if ((value = ssh_digest_alg_by_name(arg)) == -1)
1472 fatal("%.200s line %d: Invalid hash algorithm \"%s\".", 1473 fatal("%.200s line %d: Invalid hash algorithm \"%s\".",
1473 filename, linenum, arg); 1474 filename, linenum, arg);
1474 if (*activep) 1475 if (*activep && *intptr == -1)
1475 options->fingerprint_hash = value; 1476 *intptr = value;
1476 break; 1477 break;
1477 1478
1478 case oDeprecated: 1479 case oDeprecated: