diff options
Diffstat (limited to 'hostfile.c')
-rw-r--r-- | hostfile.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/hostfile.c b/hostfile.c index 3b0f286fd..1c3fb22ad 100644 --- a/hostfile.c +++ b/hostfile.c | |||
@@ -36,7 +36,7 @@ | |||
36 | */ | 36 | */ |
37 | 37 | ||
38 | #include "includes.h" | 38 | #include "includes.h" |
39 | RCSID("$OpenBSD: hostfile.c,v 1.21 2000/11/12 19:50:37 markus Exp $"); | 39 | RCSID("$OpenBSD: hostfile.c,v 1.23 2000/12/21 15:10:16 markus Exp $"); |
40 | 40 | ||
41 | #include "packet.h" | 41 | #include "packet.h" |
42 | #include "match.h" | 42 | #include "match.h" |
@@ -52,7 +52,7 @@ RCSID("$OpenBSD: hostfile.c,v 1.21 2000/11/12 19:50:37 markus Exp $"); | |||
52 | */ | 52 | */ |
53 | 53 | ||
54 | int | 54 | int |
55 | hostfile_read_key(char **cpp, unsigned int *bitsp, Key *ret) | 55 | hostfile_read_key(char **cpp, u_int *bitsp, Key *ret) |
56 | { | 56 | { |
57 | char *cp; | 57 | char *cp; |
58 | 58 | ||
@@ -74,7 +74,7 @@ hostfile_read_key(char **cpp, unsigned int *bitsp, Key *ret) | |||
74 | } | 74 | } |
75 | 75 | ||
76 | int | 76 | int |
77 | auth_rsa_read_key(char **cpp, unsigned int *bitsp, BIGNUM * e, BIGNUM * n) | 77 | auth_rsa_read_key(char **cpp, u_int *bitsp, BIGNUM * e, BIGNUM * n) |
78 | { | 78 | { |
79 | Key *k = key_new(KEY_RSA1); | 79 | Key *k = key_new(KEY_RSA1); |
80 | int ret = hostfile_read_key(cpp, bitsp, k); | 80 | int ret = hostfile_read_key(cpp, bitsp, k); |
@@ -107,12 +107,13 @@ hostfile_check_key(int bits, Key *key, const char *host, const char *filename, i | |||
107 | */ | 107 | */ |
108 | 108 | ||
109 | HostStatus | 109 | HostStatus |
110 | check_host_in_hostfile(const char *filename, const char *host, Key *key, Key *found) | 110 | check_host_in_hostfile(const char *filename, const char *host, Key *key, |
111 | Key *found, int *numret) | ||
111 | { | 112 | { |
112 | FILE *f; | 113 | FILE *f; |
113 | char line[8192]; | 114 | char line[8192]; |
114 | int linenum = 0; | 115 | int linenum = 0; |
115 | unsigned int kbits, hostlen; | 116 | u_int kbits, hostlen; |
116 | char *cp, *cp2; | 117 | char *cp, *cp2; |
117 | HostStatus end_return; | 118 | HostStatus end_return; |
118 | 119 | ||
@@ -149,7 +150,7 @@ check_host_in_hostfile(const char *filename, const char *host, Key *key, Key *fo | |||
149 | ; | 150 | ; |
150 | 151 | ||
151 | /* Check if the host name matches. */ | 152 | /* Check if the host name matches. */ |
152 | if (match_hostname(host, cp, (unsigned int) (cp2 - cp)) != 1) | 153 | if (match_hostname(host, cp, (u_int) (cp2 - cp)) != 1) |
153 | continue; | 154 | continue; |
154 | 155 | ||
155 | /* Got a match. Skip host name. */ | 156 | /* Got a match. Skip host name. */ |
@@ -164,6 +165,9 @@ check_host_in_hostfile(const char *filename, const char *host, Key *key, Key *fo | |||
164 | if (!hostfile_check_key(kbits, found, host, filename, linenum)) | 165 | if (!hostfile_check_key(kbits, found, host, filename, linenum)) |
165 | continue; | 166 | continue; |
166 | 167 | ||
168 | if (numret != NULL) | ||
169 | *numret = linenum; | ||
170 | |||
167 | /* Check if the current key is the same as the given key. */ | 171 | /* Check if the current key is the same as the given key. */ |
168 | if (key_equal(key, found)) { | 172 | if (key_equal(key, found)) { |
169 | /* Ok, they match. */ | 173 | /* Ok, they match. */ |