diff options
-rw-r--r-- | src/afb-session.c | 5 | ||||
-rw-r--r-- | src/afb-session.h | 1 | ||||
-rw-r--r-- | src/main.c | 6 |
3 files changed, 10 insertions, 2 deletions
diff --git a/src/afb-session.c b/src/afb-session.c index d3e658dd..8b566838 100644 --- a/src/afb-session.c +++ b/src/afb-session.c @@ -135,6 +135,11 @@ void afb_session_init (int max_session_count, int timeout, const char *initok) } } +const char *afb_session_initial_token() +{ + return sessions.initok; +} + static struct afb_session *search (const char* uuid) { int idx; diff --git a/src/afb-session.h b/src/afb-session.h index e79d0376..ccedb4ab 100644 --- a/src/afb-session.h +++ b/src/afb-session.h @@ -20,6 +20,7 @@ struct afb_session; extern void afb_session_init(int max_session_count, int timeout, const char *initok); +extern const char *afb_session_initial_token(); extern struct afb_session *afb_session_create (const char *uuid, int timeout); extern struct afb_session *afb_session_get (const char *uuid, int *created); @@ -397,6 +397,7 @@ static int execute_command() { struct sigaction siga; char port[20]; + const char *token; int rc; /* check whether a command is to execute or not */ @@ -427,8 +428,9 @@ static int execute_command() } else { /* instanciate arguments and environment */ - if (instanciate_command_args(port, config->token) >= 0 - && instanciate_environ(port, config->token) >= 0) { + token = afb_session_initial_token(); + if (instanciate_command_args(port, token) >= 0 + && instanciate_environ(port, token) >= 0) { /* run */ if (!SELF_PGROUP) setpgid(0, 0); |