summaryrefslogtreecommitdiffstats
path: root/proxy/src/gp_proxy.h
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2013-04-12 17:09:06 -0400
committerSimo Sorce <simo@redhat.com>2013-04-23 12:02:50 -0700
commitedf939632c9a1dbab4e769f0c23fe393d7fc8a6a (patch)
treeb6fabfe341663ee072ef6cbe5be7f62e956991fd /proxy/src/gp_proxy.h
parent7f8078e906b138dcd34f84e0260cba87b63ca62f (diff)
downloadgss-proxy-edf939632c9a1dbab4e769f0c23fe393d7fc8a6a.tar.gz
gss-proxy-edf939632c9a1dbab4e769f0c23fe393d7fc8a6a.tar.xz
gss-proxy-edf939632c9a1dbab4e769f0c23fe393d7fc8a6a.zip
Add support for per-service sockets
This way different processes running as the same user can be configured as different servervices Signed-off-by: Simo Sorce <simo@redhat.com> Reviewed-by: Günther Deschner <gdeschner@redhat.com>
Diffstat (limited to 'proxy/src/gp_proxy.h')
-rw-r--r--proxy/src/gp_proxy.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/proxy/src/gp_proxy.h b/proxy/src/gp_proxy.h
index 8f5a059..6764f6a 100644
--- a/proxy/src/gp_proxy.h
+++ b/proxy/src/gp_proxy.h
@@ -51,6 +51,7 @@ struct gp_service {
uid_t euid;
bool trusted;
bool kernel_nfsd;
+ char *socket;
uint32_t mechs;
struct gp_cred_krb5 krb5;
@@ -76,6 +77,12 @@ struct gssproxy_ctx {
verto_ctx *vctx;
};
+struct gp_sock_ctx {
+ struct gssproxy_ctx *gpctx;
+ const char *socket;
+ int fd;
+};
+
struct gp_conn;
/* from gp_config.c */
@@ -91,12 +98,14 @@ void init_proc_nfsd(struct gp_config *cfg);
void write_pid(void);
/* from gp_socket.c */
-int init_unix_socket(const char *file_name);
+struct gp_sock_ctx *init_unix_socket(struct gssproxy_ctx *gpctx,
+ const char *file_name);
void accept_sock_conn(verto_ctx *vctx, verto_ev *ev);
void gp_conn_free(struct gp_conn *conn);
void gp_socket_send_data(verto_ctx *vctx, struct gp_conn *conn,
uint8_t *buffer, size_t buflen);
struct gp_creds *gp_conn_get_creds(struct gp_conn *conn);
+const char *gp_conn_get_socket(struct gp_conn *conn);
/* from gp_workers.c */
int gp_workers_init(struct gssproxy_ctx *gpctx);