+2000-05-01 H.J. Lu <hjl@lucon.org>
+
+ * utils/rquotad/rquota_server.c (getquotainfo): Call stat ()
+ to check for the mounting point.
+
2000-04-29 Chip Salzenberg <chip@valinux.com>
Neil Brown <neilb@cse.unsw.edu.au>
struct mntent *mnt;
char *pathname, *qfpathname;
int fd, err, id, type;
- struct stat st;
+ struct stat stm, stn;
struct statfs stf;
-
+
/*
* First check authentication.
*/
fp = setmntent(MNTTAB, "r");
while ((mnt = getmntent(fp)) != (struct mntent *)0) {
- if (strcasecmp (mnt->mnt_dir, pathname))
- continue;
+ if (stat(mnt->mnt_dir, &stm) == -1
+ || stat(pathname, &stn) == -1)
+ break;
+ else if (stm.st_dev != stn.st_dev)
+ continue;
if (mnt->mnt_fsname [0] != '/'
|| strcasecmp (mnt->mnt_type, MNTTYPE_NFS) == 0
|| strcasecmp (mnt->mnt_type, MNTTYPE_AUTOFS) == 0
|| strcasecmp (mnt->mnt_type, MNTTYPE_SWAP) == 0
- || strcasecmp (mnt->mnt_type, MNTTYPE_IGNORE) == 0
- || stat(pathname, &st) == -1)
+ || strcasecmp (mnt->mnt_type, MNTTYPE_IGNORE) == 0)
break;
if (statfs(pathname, &stf) == -1) {