Fixed a bug where mount_nfs would core-dump if used with IP# directly.

Also moved some KERBEROS related stuff inside the #ifdef.

Should we always try to do a reverse lookup (IP#->name) ?
It has som merit, but is probably against the tradition or huh ?
This commit is contained in:
Poul-Henning Kamp 1994-09-15 02:06:59 +00:00
parent 9640f31c89
commit 66e5de4524
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=2776

View File

@ -423,18 +423,20 @@ getnfsargs(spec, nfsargsp)
warnx("bad net address %s", hostp);
return (0);
}
if ((nfsargsp->flags & NFSMNT_KERB) &&
(hp = gethostbyaddr((char *)&saddr.sin_addr.s_addr,
} else if ((hp = gethostbyname(hostp)) != NULL) {
bcopy(hp->h_addr, (caddr_t)&saddr.sin_addr, hp->h_length);
} else {
warnx("can't get net id for host");
return (0);
}
#ifdef KERBEROS
if ((nfsargsp->flags & NFSMNT_KERB)) {
if ((hp = gethostbyaddr((char *)&saddr.sin_addr.s_addr,
sizeof (u_long), AF_INET)) == (struct hostent *)0) {
warnx("can't reverse resolve net address");
return (0);
}
} else if ((hp = gethostbyname(hostp)) == NULL) {
warnx("can't get net id for host");
return (0);
}
#ifdef KERBEROS
if (nfsargsp->flags & NFSMNT_KERB) {
bcopy(hp->h_addr, (caddr_t)&saddr.sin_addr, hp->h_length);
strncpy(inst, hp->h_name, INST_SZ);
inst[INST_SZ - 1] = '\0';
if (cp = strchr(inst, '.'))
@ -442,7 +444,6 @@ getnfsargs(spec, nfsargsp)
}
#endif /* KERBEROS */
bcopy(hp->h_addr, (caddr_t)&saddr.sin_addr, hp->h_length);
nfhret.stat = EACCES; /* Mark not yet successful */
while (retrycnt > 0) {
saddr.sin_family = AF_INET;