A long time ago I hacked mountd so that it would deal intelligently

with export lines where the same hostname was specified more than once
(this happens a lot with netgroups sometimes). Recently I discovered
that it needs to be hacked to deal with multiple instances of the
same IP address too.

I've been using this modification locally for several months with no
hassles.
This commit is contained in:
Bill Paul 1998-06-25 21:26:06 +00:00
parent 79962d3ede
commit 021e3d59aa
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=37157
2 changed files with 10 additions and 6 deletions

View File

@ -43,7 +43,7 @@ static char copyright[] =
#ifndef lint
/*static char sccsid[] = "@(#)mountd.c 8.15 (Berkeley) 5/1/95"; */
static const char rcsid[] =
"$Id: mountd.c,v 1.29 1998/06/15 15:41:41 joerg Exp $";
"$Id: mountd.c,v 1.30 1998/06/15 15:43:13 joerg Exp $";
#endif /*not lint*/
#include <sys/param.h>
@ -1483,10 +1483,12 @@ get_host(cp, grp, tgrp)
* for this host in the grouplist.
*/
checkgrp = tgrp;
while (checkgrp) {
while (checkgrp != NULL) {
if (checkgrp->gr_type == GT_HOST &&
checkgrp->gr_ptr.gt_hostent != NULL &&
!strcmp(checkgrp->gr_ptr.gt_hostent->h_name, hp->h_name)) {
(!strcmp(checkgrp->gr_ptr.gt_hostent->h_name, hp->h_name)
|| *(unsigned long *)checkgrp->gr_ptr.gt_hostent->h_addr ==
*(unsigned long *)hp->h_addr)) {
grp->gr_type = GT_IGNORE;
return(0);
}

View File

@ -43,7 +43,7 @@ static char copyright[] =
#ifndef lint
/*static char sccsid[] = "@(#)mountd.c 8.15 (Berkeley) 5/1/95"; */
static const char rcsid[] =
"$Id: mountd.c,v 1.29 1998/06/15 15:41:41 joerg Exp $";
"$Id: mountd.c,v 1.30 1998/06/15 15:43:13 joerg Exp $";
#endif /*not lint*/
#include <sys/param.h>
@ -1483,10 +1483,12 @@ get_host(cp, grp, tgrp)
* for this host in the grouplist.
*/
checkgrp = tgrp;
while (checkgrp) {
while (checkgrp != NULL) {
if (checkgrp->gr_type == GT_HOST &&
checkgrp->gr_ptr.gt_hostent != NULL &&
!strcmp(checkgrp->gr_ptr.gt_hostent->h_name, hp->h_name)) {
(!strcmp(checkgrp->gr_ptr.gt_hostent->h_name, hp->h_name)
|| *(unsigned long *)checkgrp->gr_ptr.gt_hostent->h_addr ==
*(unsigned long *)hp->h_addr)) {
grp->gr_type = GT_IGNORE;
return(0);
}