version 1.20.2.3, 2001/03/21 19:46:25 |
version 1.20.2.4, 2001/05/07 21:09:29 |
|
|
FILE *f; |
FILE *f; |
char line[8192]; |
char line[8192]; |
int linenum = 0; |
int linenum = 0; |
u_int kbits, hostlen; |
u_int kbits; |
char *cp, *cp2; |
char *cp, *cp2; |
HostStatus end_return; |
HostStatus end_return; |
|
|
|
debug3("check_host_in_hostfile: filename %s", filename); |
if (key == NULL) |
if (key == NULL) |
fatal("no key to look up"); |
fatal("no key to look up"); |
/* Open the file containing the list of known hosts. */ |
/* Open the file containing the list of known hosts. */ |
|
|
if (!f) |
if (!f) |
return HOST_NEW; |
return HOST_NEW; |
|
|
/* Cache the length of the host name. */ |
|
hostlen = strlen(host); |
|
|
|
/* |
/* |
* Return value when the loop terminates. This is set to |
* Return value when the loop terminates. This is set to |
* HOST_CHANGED if we have seen a different key for the host and have |
* HOST_CHANGED if we have seen a different key for the host and have |
|
|
*/ |
*/ |
end_return = HOST_NEW; |
end_return = HOST_NEW; |
|
|
/* Go trough the file. */ |
/* Go through the file. */ |
while (fgets(line, sizeof(line), f)) { |
while (fgets(line, sizeof(line), f)) { |
cp = line; |
cp = line; |
linenum++; |
linenum++; |
|
|
/* Check if the current key is the same as the given key. */ |
/* Check if the current key is the same as the given key. */ |
if (key_equal(key, found)) { |
if (key_equal(key, found)) { |
/* Ok, they match. */ |
/* Ok, they match. */ |
|
debug3("check_host_in_hostfile: match line %d", linenum); |
fclose(f); |
fclose(f); |
return HOST_OK; |
return HOST_OK; |
} |
} |