summaryrefslogtreecommitdiffstats
path: root/utils/gssd/gssd.h
diff options
context:
space:
mode:
authorOlga Kornievskaia <kolga@netapp.com>2016-05-14 12:13:29 -0400
committerSteve Dickson <steved@redhat.com>2016-05-14 12:35:14 -0400
commitd9ba9eede533fed6dde146f891d5d596016b314b (patch)
treef77624acc5ee7b2b92cd4b8332414ad8764c7727 /utils/gssd/gssd.h
parent28e244eb8eb986b75261a48c2e49685be2f2f005 (diff)
downloadnfs-utils-d9ba9eede533fed6dde146f891d5d596016b314b.tar.gz
nfs-utils-d9ba9eede533fed6dde146f891d5d596016b314b.tar.xz
nfs-utils-d9ba9eede533fed6dde146f891d5d596016b314b.zip
gssd: move read of upcall into main thread
This patch moves reading of the upcall information from the child thread into the main thread. It removes the need to synchronize between the parent and child thread before processing upcall. Also it creates the thread in a detached state. Signed-off-by: Olga Kornievskaia <kolga@netapp.com> Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'utils/gssd/gssd.h')
-rw-r--r--utils/gssd/gssd.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/utils/gssd/gssd.h b/utils/gssd/gssd.h
index 565bce3..f4f5975 100644
--- a/utils/gssd/gssd.h
+++ b/utils/gssd/gssd.h
@@ -49,7 +49,7 @@
#define GSSD_DEFAULT_MACHINE_CRED_SUFFIX "machine"
#define GSSD_DEFAULT_KEYTAB_FILE "/etc/krb5.keytab"
#define GSSD_SERVICE_NAME "nfs"
-
+#define RPC_CHAN_BUF_SIZE 32768
/*
* The gss mechanisms that we can handle
*/
@@ -85,8 +85,15 @@ struct clnt_info {
struct sockaddr_storage addr;
};
-void handle_krb5_upcall(struct clnt_info *clp);
-void handle_gssd_upcall(struct clnt_info *clp);
+struct clnt_upcall_info {
+ struct clnt_info *clp;
+ char lbuf[RPC_CHAN_BUF_SIZE];
+ int lbuflen;
+ uid_t uid;
+};
+
+void handle_krb5_upcall(struct clnt_upcall_info *clp);
+void handle_gssd_upcall(struct clnt_upcall_info *clp);
#endif /* _RPC_GSSD_H_ */