summaryrefslogtreecommitdiffstats
path: root/proxy/src/gp_workers.c
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2012-02-23 17:57:58 -0500
committerSimo Sorce <simo@redhat.com>2012-04-05 11:20:33 -0400
commit34d8ca04e148263ffd4860718652eb474087f848 (patch)
tree10af3408150ec6dc1515d88f94c63afccec3245d /proxy/src/gp_workers.c
parent99d24402236ab621f8c03fdba49e7a75e38263a5 (diff)
downloadgss-proxy-34d8ca04e148263ffd4860718652eb474087f848.tar.gz
gss-proxy-34d8ca04e148263ffd4860718652eb474087f848.tar.xz
gss-proxy-34d8ca04e148263ffd4860718652eb474087f848.zip
creds: add code to import krb5 credentials based on configuration.
Diffstat (limited to 'proxy/src/gp_workers.c')
-rw-r--r--proxy/src/gp_workers.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/proxy/src/gp_workers.c b/proxy/src/gp_workers.c
index 1a58136..0e388d6 100644
--- a/proxy/src/gp_workers.c
+++ b/proxy/src/gp_workers.c
@@ -428,11 +428,19 @@ static void *gp_worker_main(void *pvt)
static void gp_handle_query(struct gp_workers *w, struct gp_query *q)
{
+ struct gp_service *gpsvc;
uint8_t *buffer;
size_t buflen;
int ret;
- ret = gp_rpc_process_call(w->gpctx,
+ /* find service */
+ gpsvc = gp_creds_match_conn(w->gpctx, q->conn);
+ if (!gpsvc) {
+ q->status = GP_QUERY_ERR;
+ return;
+ }
+
+ ret = gp_rpc_process_call(w->gpctx, gpsvc,
q->buffer, q->buflen,
&buffer, &buflen);
if (ret) {