summaryrefslogtreecommitdiffstats
path: root/proxy/src
diff options
context:
space:
mode:
Diffstat (limited to 'proxy/src')
-rw-r--r--proxy/src/gp_config.c7
-rw-r--r--proxy/src/gp_proxy.h1
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;