diff options
Diffstat (limited to 'proxy/src')
-rw-r--r-- | proxy/src/gp_config.c | 7 | ||||
-rw-r--r-- | proxy/src/gp_proxy.h | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/proxy/src/gp_config.c b/proxy/src/gp_config.c index 1b676d3..ac5197c 100644 --- a/proxy/src/gp_config.c +++ b/proxy/src/gp_config.c @@ -194,6 +194,13 @@ static int load_services(struct gp_config *cfg, struct gp_ini_context *ctx) } } + ret = gp_config_get_string(ctx, secname, "impersonate", &value); + if (ret == 0) { + if (gp_boolean_is_true(value)) { + cfg->svcs[n]->impersonate = true; + } + } + ret = gp_config_get_string(ctx, secname, "socket", &value); if (ret == 0) { cfg->svcs[n]->socket = strdup(value); diff --git a/proxy/src/gp_proxy.h b/proxy/src/gp_proxy.h index dc7aada..47fbdba 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; + bool impersonate; char *socket; uint32_t mechs; |