json_t *jlog = NULL;
json_t *jconthres = NULL;
json_t *jlogthres = NULL;
+ json_t *jcfgpoll = NULL;
+ json_t *jcfgsettle = NULL;
if ((!trc) || (!jcfg))
return TR_CFG_BAD_PARAMS;
return TR_CFG_NOPARSE;
}
}
+ if (NULL != (jcfgpoll = json_object_get(jint, "cfg_poll_interval"))) {
+ if (json_is_number(jcfgpoll)) {
+ trc->internal->cfg_poll_interval = json_integer_value(jcfgpoll);
+ } else {
+ tr_debug("tr_cfg_parse_internal: Parsing error, cfg_poll_interval is not a number.");
+ return TR_CFG_NOPARSE;
+ }
+ }
+ if (NULL != (jcfgsettle = json_object_get(jint, "cfg_settle_count"))) {
+ if (json_is_number(jcfgsettle)) {
+ trc->internal->cfg_settle_count = json_integer_value(jcfgsettle);
+ } else {
+ tr_debug("tr_cfg_parse_internal: Parsing error, cfg_settle_count is not a number.");
+ return TR_CFG_NOPARSE;
+ }
+ }
if (NULL != (jlog = json_object_get(jint, "logging"))) {
if (NULL != (jlogthres = json_object_get(jlog, "log_threshold"))) {
trc->rp_clients = rp;
}
}
+ tr_debug("tr_cfg_parse_rp_clients: Finished (rc=%d)", rc);
return rc;
}
temp_aaa->next = aaa;
aaa = temp_aaa;
}
+ tr_debug("tr_cfg_parse_aaa_servers: Finished (rc=%d)", *rc);
return aaa;
}
return NULL;
}
+ tr_debug("tr_cfg_parse_apcs: Finished (rc=%d)", *rc);
return apc;
}
}
}
+ tr_debug("tr_cfg_parse_default_servers: Finished (rc=%d)", rc);
return rc;
}
}
}
+ tr_debug("tr_cfg_parse_idp_realms: Finished (rc=%d)", rc);
return rc;
}
trc->comms = comm;
}
}
+ tr_debug("tr_cfg_parse_comms: Finished (rc=%d)", rc);
return rc;
}
json_t *jcfg;
json_error_t rc;
char *file_with_path;
+ int ii;
if ((!new_cfg) || (!cfg_files) || (n<=0))
return TR_CFG_BAD_PARAMS;
/* Parse configuration information from each config file */
- while (n--) {
- file_with_path=join_paths(config_dir, cfg_files[n]->d_name); /* must free result with talloc_free */
+ for (ii=0; ii<n; ii++) {
+ file_with_path=join_paths(config_dir, cfg_files[ii]->d_name); /* must free result with talloc_free */
if(file_with_path == NULL) {
tr_crit("tr_parse_config: error joining path.");
return TR_CFG_NOMEM;
}
- tr_debug("tr_parse_config: Parsing %s.", cfg_files[n]->d_name); /* print the filename without the path */
+ tr_debug("tr_parse_config: Parsing %s.", cfg_files[ii]->d_name); /* print the filename without the path */
if (NULL == (jcfg = json_load_file(file_with_path,
JSON_DISABLE_EOF_CHECK, &rc))) {
tr_debug("tr_parse_config: Error parsing config file %s.",
- cfg_files[n]->d_name);
+ cfg_files[ii]->d_name);
talloc_free(file_with_path);
return TR_CFG_NOPARSE;
}
* by scandir(). These can be freed with tr_free_config_file_list().
*/
int tr_find_config_files (const char *config_dir, struct dirent ***cfg_files) {
- int n = 0, i = 0;
+ int n = 0, ii = 0;
- n = scandir(config_dir, cfg_files, &is_cfg_file, 0);
+ n = scandir(config_dir, cfg_files, is_cfg_file, alphasort);
if (n < 0) {
perror("scandir");
} else if (n == 0) {
tr_debug("tr_find_config: No config files found.");
} else {
- i = n;
- while(i--) {
- tr_debug("tr_find_config: Config file found (%s).", (*cfg_files)[i]->d_name);
+ for (ii=0; ii<n; ii++) {
+ tr_debug("tr_find_config: Config file found (%s).", (*cfg_files)[ii]->d_name);
}
}