summaryrefslogtreecommitdiff
path: root/hostfile.c
diff options
context:
space:
mode:
Diffstat (limited to 'hostfile.c')
-rw-r--r--hostfile.c16
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"
39RCSID("$OpenBSD: hostfile.c,v 1.21 2000/11/12 19:50:37 markus Exp $"); 39RCSID("$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
54int 54int
55hostfile_read_key(char **cpp, unsigned int *bitsp, Key *ret) 55hostfile_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
76int 76int
77auth_rsa_read_key(char **cpp, unsigned int *bitsp, BIGNUM * e, BIGNUM * n) 77auth_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
109HostStatus 109HostStatus
110check_host_in_hostfile(const char *filename, const char *host, Key *key, Key *found) 110check_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. */