summaryrefslogtreecommitdiff
path: root/hostfile.c
diff options
context:
space:
mode:
authorBen Lindstrom <mouring@eviladmin.org>2000-12-22 01:43:59 +0000
committerBen Lindstrom <mouring@eviladmin.org>2000-12-22 01:43:59 +0000
commit46c162204b5a6f7471525c2f75cb2c607c88b83f (patch)
tree9041b006ab612c18bdb16b606601839a00ca5b2c /hostfile.c
parenta074feb65d6f1fcad02e80b751e2287fd6230b09 (diff)
One way to massive patch. <sigh> It compiles and works under Linux..
And I think I have all the bits right from the OpenBSD tree. 20001222 - Updated RCSID for pty.c - (bal) OpenBSD CVS Updates: - markus@cvs.openbsd.org 2000/12/21 15:10:16 [auth-rh-rsa.c hostfile.c hostfile.h sshconnect.c] print keyfile:line for changed hostkeys, for deraadt@, ok deraadt@ - markus@cvs.openbsd.org 2000/12/20 19:26:56 [authfile.c] allow ssh -i userkey for root - markus@cvs.openbsd.org 2000/12/20 19:37:21 [authfd.c authfd.h kex.c sshconnect2.c sshd.c uidswap.c uidswap.h] fix prototypes; from stevesk@pobox.com - markus@cvs.openbsd.org 2000/12/20 19:32:08 [sshd.c] init pointer to NULL; report from Jan.Ivan@cern.ch - markus@cvs.openbsd.org 2000/12/19 23:17:54 [auth-krb4.c auth-options.c auth-options.h auth-rhosts.c auth-rsa.c auth1.c auth2-skey.c auth2.c authfd.c authfd.h authfile.c bufaux.c bufaux.h buffer.c canohost.c channels.c clientloop.c compress.c crc32.c deattack.c getput.h hmac.c hmac.h hostfile.c kex.c kex.h key.c key.h log.c login.c match.c match.h mpaux.c mpaux.h packet.c packet.h radix.c readconf.c rsa.c scp.c servconf.c servconf.h serverloop.c session.c sftp-server.c ssh-agent.c ssh-dss.c ssh-dss.h ssh-keygen.c ssh-keyscan.c ssh-rsa.c ssh-rsa.h ssh.c ssh.h uuencode.c uuencode.h sshconnect1.c sshconnect2.c sshd.c tildexpand.c] replace 'unsigned bla' with 'u_bla' everywhere. also replace 'char unsigned' with u_char.
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. */