summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/nfs/auth.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/nfs/auth.h')
-rw-r--r--usr/src/uts/common/nfs/auth.h26
1 files changed, 20 insertions, 6 deletions
diff --git a/usr/src/uts/common/nfs/auth.h b/usr/src/uts/common/nfs/auth.h
index 365b1ff6d7..5293e3fdd1 100644
--- a/usr/src/uts/common/nfs/auth.h
+++ b/usr/src/uts/common/nfs/auth.h
@@ -18,12 +18,14 @@
*
* CDDL HEADER END
*/
+
/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
+ * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
*/
+
/*
- * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
*/
#ifndef _AUTH_H
@@ -50,6 +52,7 @@
* int req_flavor; # auth flavor
* uid_t req_clnt_uid; # client's uid
* gid_t req_clnt_gid; # client's gid
+ * gid_t req_clnt_gids<>; # client's supplemental groups
* };
*
* const NFSAUTH_DENIED = 0x01; # Access denied
@@ -60,6 +63,7 @@
* # try a different flavor
* const NFSAUTH_UIDMAP = 0x100; # uid mapped
* const NFSAUTH_GIDMAP = 0x200; # gid mapped
+ * const NFSAUTH_GROUPS = 0x400; # translated supplemental groups
* #
* # The following are not part of the protocol.
* #
@@ -68,9 +72,10 @@
* const NFSAUTH_LIMITED = 0x80; # Access limited to visible nodes
*
* struct auth_res {
- * int auth_perm;
- * uid_t auth_srv_uid;
- * gid_t auth_srv_gid;
+ * int auth_perm;
+ * uid_t auth_srv_uid; # translated uid
+ * gid_t auth_srv_gid; # translated gid
+ * gid_t auth_srv_gids<>; # translated supplemental groups
* };
*
* program NFSAUTH_PROG {
@@ -113,6 +118,7 @@ extern "C" {
#define NFSAUTH_LIMITED 0x80
#define NFSAUTH_UIDMAP 0x100
#define NFSAUTH_GIDMAP 0x200
+#define NFSAUTH_GROUPS 0x400
struct auth_req {
netobj req_client;
@@ -121,6 +127,10 @@ struct auth_req {
int req_flavor;
uid_t req_clnt_uid;
gid_t req_clnt_gid;
+ struct {
+ uint_t len;
+ gid_t *val;
+ } req_clnt_gids;
};
typedef struct auth_req auth_req;
@@ -128,6 +138,10 @@ struct auth_res {
int auth_perm;
uid_t auth_srv_uid;
gid_t auth_srv_gid;
+ struct {
+ uint_t len;
+ gid_t *val;
+ } auth_srv_gids;
};
typedef struct auth_res auth_res;