static int execute_command()
{
- struct json_object *exec, *oport;
+ struct json_object *exec, *oport, *otok;
struct sigaction siga;
char port[20];
const char *token;
}
else {
/* instantiate arguments and environment */
- token = afb_session_initial_token();
+ if (json_object_object_get_ex(main_config, "token", &otok))
+ token = json_object_get_string(otok);
+ else
+ token = SUBST_STR"p";
args = instanciate_command_args(exec, port, token);
if (args && instanciate_environ(port, token) >= 0) {
/* run */
}
/* initialize session handling */
- if (afb_session_init(max_session_count, session_timeout, token)) {
+ if (afb_session_init(max_session_count, session_timeout)) {
ERROR("initialisation of session manager failed");
goto error;
}
goto error;
}
if (addenv_int("AFB_PORT", http_port)
- || addenv("AFB_TOKEN", afb_session_initial_token())) {
+ || addenv("AFB_TOKEN", token?:"")) {
ERROR("can't set HTTP environment");
goto error;
}
/* run the command */
afb_debug("start-exec");
- if (execute_command() < 0)
+ if (execute_command(http_port, token) < 0)
goto error;
/* ready */