[PATCH] rpc.mountd: Remove duplicate and invalid secinfo setting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



NFSD return reply of client's SECINFO_NO_NAME request with four
security information number as, 1 1 0 0

It's caused by commit 4a1ad4aa30,
"mountd: Enable all auth flavors on pseudofs exports"

This patch removes duplicate secinfo and invalid secinfo (zero).

Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx>
---
 support/nfs/exports.c | 2 +-
 utils/mountd/v4root.c | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/support/nfs/exports.c b/support/nfs/exports.c
index 761a046..0aea6f1 100644
--- a/support/nfs/exports.c
+++ b/support/nfs/exports.c
@@ -408,7 +408,7 @@ int secinfo_addflavor(struct flav_info *flav, struct exportent *ep)
 	struct sec_entry *p;
 
 	for (p=ep->e_secinfo; p->flav; p++) {
-		if (p->flav == flav)
+		if (p->flav == flav || p->flav->fnum == flav->fnum)
 			return p - ep->e_secinfo;
 	}
 	if (p - ep->e_secinfo >= SECFLAVOR_COUNT) {
diff --git a/utils/mountd/v4root.c b/utils/mountd/v4root.c
index 429ebb8..d521725 100644
--- a/utils/mountd/v4root.c
+++ b/utils/mountd/v4root.c
@@ -69,6 +69,9 @@ set_pseudofs_security(struct exportent *pseudo, int flags)
 	for (flav = flav_map; flav < flav_map + flav_map_size; flav++) {
 		struct sec_entry *new;
 
+		if (!flav->fnum)
+			continue;
+
 		i = secinfo_addflavor(flav, pseudo);
 		new = &pseudo->e_secinfo[i];
 
-- 
2.3.5

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux