*/
-
#include "../include/local-def.h"
#include <stdarg.h>
#include <sys/stat.h>
#include <sys/types.h>
-
#define AFB_CONFIG_JTYPE "AFB_config"
PUBLIC char *ERROR_LABEL[]=ERROR_LABEL_DEF;
int fd;
json_object * AFBConfig, *value;
+ // TBD integrate alias-dir array with config-file
+ session->config->aliasdir = cliconfig->aliasdir;
+
// default HTTP port
if (cliconfig->httpdPort == 0) session->config->httpdPort=1234;
else session->config->httpdPort=cliconfig->httpdPort;
// default Plugin API timeout
- if (cliconfig->apiTimeout == 0) session->config->apiTimeout=10;
+ if (cliconfig->apiTimeout == 0) session->config->apiTimeout=DEFLT_API_TIMEOUT;
else session->config->apiTimeout=cliconfig->apiTimeout;
+
+ // default AUTH_TOKEN
+ if (cliconfig->token == NULL) session->config->token= DEFLT_AUTH_TOKEN;
+ else session->config->token=cliconfig->token;
// cache timeout default one hour
- if (cliconfig->cacheTimeout == 0) session->config->cacheTimeout=3600;
+ if (cliconfig->cacheTimeout == 0) session->config->cacheTimeout=DEFLT_CACHE_TIMEOUT;
else session->config->cacheTimeout=cliconfig->cacheTimeout;
+ // cache timeout default one hour
+ if (cliconfig->cntxTimeout == 0) session->config->cntxTimeout=DEFLT_CNTX_TIMEOUT;
+ else session->config->cntxTimeout=cliconfig->cntxTimeout;
+
if (cliconfig->rootdir == NULL) {
session->config->rootdir = getenv("AFBDIR");
if (session->config->rootdir == NULL) {
session->config->rootapi= cliconfig->rootapi;
}
- if (cliconfig->smack == NULL) {
- session->config->smack = "demo";
+ if (cliconfig->ldpaths == NULL) {
+ session->config->ldpaths = PLUGIN_INSTALL_DIR;
} else {
- session->config->smack= cliconfig->smack;
+ session->config->ldpaths= cliconfig->ldpaths;
}
- if (cliconfig->smack == NULL) {
- session->config->plugins = "all";
- } else {
- session->config->plugins= cliconfig->plugins;
- }
-
-
-
// if no session dir create a default path from rootdir
if (cliconfig->sessiondir == NULL) {
session->config->sessiondir = malloc (512);
session->config->rootapi = strdup (json_object_get_string (value));
}
- if (!cliconfig->smack && json_object_object_get_ex (AFBConfig, "smack", &value)) {
- session->config->smack = strdup (json_object_get_string (value));
- }
-
- if (!cliconfig->plugins && json_object_object_get_ex (AFBConfig, "plugins", &value)) {
- session->config->plugins = strdup (json_object_get_string (value));
+ if (!cliconfig->ldpaths && json_object_object_get_ex (AFBConfig, "plugins", &value)) {
+ session->config->ldpaths = strdup (json_object_get_string (value));
}
+ if (!cliconfig->setuid && json_object_object_get_ex (AFBConfig, "setuid", &value)) {
+ session->config->setuid = strdup (json_object_get_string (value));
+ }
+
if (!cliconfig->sessiondir && json_object_object_get_ex (AFBConfig, "sessiondir", &value)) {
session->config->sessiondir = strdup (json_object_get_string (value));
}
session->config->httpdPort = json_object_get_int (value);
}
- if (!cliconfig->setuid && json_object_object_get_ex (AFBConfig, "setuid", &value)) {
- session->config->setuid = json_object_get_int (value);
- }
if (!cliconfig->localhostOnly && json_object_object_get_ex (AFBConfig, "localhostonly", &value)) {
session->config->localhostOnly = json_object_get_int (value);
session->config->apiTimeout = json_object_get_int (value);
}
+ if (!cliconfig->cntxTimeout && json_object_object_get_ex (AFBConfig, "cntxtimeout", &value)) {
+ session->config->cntxTimeout = json_object_get_int (value);
+ }
+
// cacheTimeout is an integer but HTTPd wants it as a string
snprintf (cacheTimeout, sizeof (cacheTimeout),"%d", session->config->cacheTimeout);
session->cacheTimeout = cacheTimeout; // httpd uses cacheTimeout string version
json_object_object_add (AFBConfig, "rootdir" , json_object_new_string (session->config->rootdir));
json_object_object_add (AFBConfig, "rootapi" , json_object_new_string (session->config->rootapi));
json_object_object_add (AFBConfig, "rootbase" , json_object_new_string (session->config->rootbase));
- json_object_object_add (AFBConfig, "smack" , json_object_new_string (session->config->smack));
- json_object_object_add (AFBConfig, "plugins" , json_object_new_string (session->config->plugins));
+ json_object_object_add (AFBConfig, "plugins" , json_object_new_string (session->config->ldpaths));
json_object_object_add (AFBConfig, "sessiondir" , json_object_new_string (session->config->sessiondir));
json_object_object_add (AFBConfig, "pidfile" , json_object_new_string (session->config->pidfile));
+ json_object_object_add (AFBConfig, "setuid" , json_object_new_string (session->config->setuid));
json_object_object_add (AFBConfig, "httpdPort" , json_object_new_int (session->config->httpdPort));
- json_object_object_add (AFBConfig, "setuid" , json_object_new_int (session->config->setuid));
json_object_object_add (AFBConfig, "localhostonly" , json_object_new_int (session->config->localhostOnly));
json_object_object_add (AFBConfig, "cachetimeout" , json_object_new_int (session->config->cacheTimeout));
json_object_object_add (AFBConfig, "apitimeout" , json_object_new_int (session->config->apiTimeout));
+ json_object_object_add (AFBConfig, "cntxtimeout" , json_object_new_int (session->config->cntxTimeout));
err = json_object_to_file (session->config->configfile, AFBConfig);
json_object_put (AFBConfig); // decrease reference count to free the json object
}
verbose = verbosesav;
- // Load Plugins
- initPlugins (session);
-
return (session);
}