Use default uid and gid from NFS AUTH_SYS when creating files
This commit is contained in:
@@ -133,6 +133,18 @@ struct rpc_msg {
|
||||
};
|
||||
typedef struct rpc_msg rpc_msg;
|
||||
|
||||
struct authsys_parms {
|
||||
u_int stamp;
|
||||
xdr_string_t machinename;
|
||||
u_int uid;
|
||||
u_int gid;
|
||||
struct {
|
||||
u_int gids_len;
|
||||
u_int *gids_val;
|
||||
} gids;
|
||||
};
|
||||
typedef struct authsys_parms authsys_parms;
|
||||
|
||||
/* the xdr functions */
|
||||
|
||||
|
||||
@@ -151,6 +163,7 @@ extern bool_t xdr_rpc_rejected_reply (XDR *, rpc_rejected_reply*);
|
||||
extern bool_t xdr_rpc_reply_body (XDR *, rpc_reply_body*);
|
||||
extern bool_t xdr_rpc_msg_body (XDR *, rpc_msg_body*);
|
||||
extern bool_t xdr_rpc_msg (XDR *, rpc_msg*);
|
||||
extern bool_t xdr_authsys_parms (XDR *, authsys_parms*);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -111,3 +111,11 @@ struct rpc_msg {
|
||||
u_int xid;
|
||||
rpc_msg_body body;
|
||||
};
|
||||
|
||||
struct authsys_parms {
|
||||
unsigned int stamp;
|
||||
string machinename<255>;
|
||||
unsigned int uid;
|
||||
unsigned int gid;
|
||||
unsigned int gids<16>;
|
||||
};
|
||||
|
||||
@@ -35,6 +35,7 @@ struct rpc_op_t
|
||||
void *client;
|
||||
void *buffer;
|
||||
XDR *xdrs;
|
||||
authsys_parms auth_sys;
|
||||
rpc_msg in_msg, out_msg;
|
||||
rdma_msg in_rdma_msg;
|
||||
rpc_rdma_errcode rdma_error;
|
||||
|
||||
@@ -251,3 +251,21 @@ xdr_rpc_msg (XDR *xdrs, rpc_msg *objp)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_authsys_parms (XDR *xdrs, authsys_parms *objp)
|
||||
{
|
||||
|
||||
if (!xdr_u_int (xdrs, &objp->stamp))
|
||||
return FALSE;
|
||||
if (!xdr_string (xdrs, &objp->machinename, 255))
|
||||
return FALSE;
|
||||
if (!xdr_u_int (xdrs, &objp->uid))
|
||||
return FALSE;
|
||||
if (!xdr_u_int (xdrs, &objp->gid))
|
||||
return FALSE;
|
||||
if (!xdr_array (xdrs, (char **)&objp->gids.gids_val, (u_int *) &objp->gids.gids_len, 16,
|
||||
sizeof (u_int), (xdrproc_t) xdr_u_int))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user