SUNRPC: Define rpcsec_gss_info structure

The NFSv4 SECINFO procedure returns a list of security flavors.  Any
GSS flavor also has a GSS tuple containing an OID, a quality-of-
protection value, and a service value, which specifies a particular
GSS pseudoflavor.

For simplicity and efficiency, I'd like to return each GSS tuple
from the NFSv4 SECINFO XDR decoder and pass it straight into the RPC
client.

Define a data structure that is visible to both the NFS client and
the RPC client.  Take structure and field names from the relevant
standards to avoid confusion.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
Chuck Lever
2013-03-16 15:54:34 -04:00
committed by Trond Myklebust
parent 72f4dc117b
commit fb15b26f8b
5 changed files with 36 additions and 34 deletions

View File

@@ -1049,25 +1049,14 @@ struct nfs4_fs_locations_res {
struct nfs4_fs_locations *fs_locations;
};
struct nfs4_secinfo_oid {
unsigned int len;
char data[GSS_OID_MAX_LEN];
};
struct nfs4_secinfo_gss {
struct nfs4_secinfo_oid sec_oid4;
unsigned int qop4;
unsigned int service;
};
struct nfs4_secinfo_flavor {
unsigned int flavor;
struct nfs4_secinfo_gss gss;
struct nfs4_secinfo4 {
u32 flavor;
struct rpcsec_gss_info flavor_info;
};
struct nfs4_secinfo_flavors {
unsigned int num_flavors;
struct nfs4_secinfo_flavor flavors[0];
unsigned int num_flavors;
struct nfs4_secinfo4 flavors[0];
};
struct nfs4_secinfo_arg {