summaryrefslogtreecommitdiffstats
path: root/sys/fs/nfs/nfs_var.h
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2012-09-20 02:49:25 +0000
committerrmacklem <rmacklem@FreeBSD.org>2012-09-20 02:49:25 +0000
commitc071417ab75fafe695cda10425f1bcdc10389918 (patch)
treeae0ff57ee81231d9f0632d41e4fff6d7aec42b1a /sys/fs/nfs/nfs_var.h
parent02ad3abcdd157c2d458fbad597489b46824eea5b (diff)
downloadFreeBSD-src-c071417ab75fafe695cda10425f1bcdc10389918.zip
FreeBSD-src-c071417ab75fafe695cda10425f1bcdc10389918.tar.gz
Modify the NFSv4 client so that it can handle owner
and owner_group strings that consist entirely of digits, interpreting them as the uid/gid number. This change was needed since new (>= 3.3) Linux servers reply with these strings by default. This change is mandated by the rfc3530bis draft. Reported on freebsd-stable@ under the Subject heading "Problem with Linux >= 3.3 as NFSv4 server" by Norbert Aschendorff on Aug. 20, 2012. Tested by: norbert.aschendorff at yahoo.de Reviewed by: jhb MFC after: 2 weeks
Diffstat (limited to 'sys/fs/nfs/nfs_var.h')
-rw-r--r--sys/fs/nfs/nfs_var.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h
index d733073..e5bacb2 100644
--- a/sys/fs/nfs/nfs_var.h
+++ b/sys/fs/nfs/nfs_var.h
@@ -295,9 +295,11 @@ void nfsrv_adj(mbuf_t, int, int);
void nfsrv_postopattr(struct nfsrv_descript *, int, struct nfsvattr *);
int nfsd_errmap(struct nfsrv_descript *);
void nfsv4_uidtostr(uid_t, u_char **, int *, NFSPROC_T *);
-int nfsv4_strtouid(u_char *, int, uid_t *, NFSPROC_T *);
+int nfsv4_strtouid(struct nfsrv_descript *, u_char *, int, uid_t *,
+ NFSPROC_T *);
void nfsv4_gidtostr(gid_t, u_char **, int *, NFSPROC_T *);
-int nfsv4_strtogid(u_char *, int, gid_t *, NFSPROC_T *);
+int nfsv4_strtogid(struct nfsrv_descript *, u_char *, int, gid_t *,
+ NFSPROC_T *);
int nfsrv_checkuidgid(struct nfsrv_descript *, struct nfsvattr *);
void nfsrv_fixattr(struct nfsrv_descript *, vnode_t,
struct nfsvattr *, NFSACL_T *, NFSPROC_T *, nfsattrbit_t *,
OpenPOWER on IntegriCloud