[asterisk-commits] dlee: branch dlee/ari-authn r392901 - /team/dlee/ari-authn/res/stasis_http/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Jun 25 15:37:53 CDT 2013
Author: dlee
Date: Tue Jun 25 15:37:51 2013
New Revision: 392901
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=392901
Log:
Print errors if password config is missing
Modified:
team/dlee/ari-authn/res/stasis_http/config.c
Modified: team/dlee/ari-authn/res/stasis_http/config.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/ari-authn/res/stasis_http/config.c?view=diff&rev=392901&r1=392900&r2=392901
==============================================================================
--- team/dlee/ari-authn/res/stasis_http/config.c (original)
+++ team/dlee/ari-authn/res/stasis_http/config.c Tue Jun 25 15:37:51 2013
@@ -275,6 +275,45 @@
return user;
}
+static int check_passwords_cb(void *obj, void *arg, int flags)
+{
+ struct ari_conf_user *user = obj;
+
+ if (ast_strlen_zero(user->password)) {
+ ast_log(LOG_ERROR, "User '%s' missing password\n",
+ user->username);
+ }
+
+ return 0;
+}
+
+static int process_config(int reload)
+{
+ RAII_VAR(struct ari_conf *, conf, NULL, ao2_cleanup);
+
+ switch (aco_process_config(&cfg_info, reload)) {
+ case ACO_PROCESS_ERROR:
+ return -1;
+ case ACO_PROCESS_OK:
+ case ACO_PROCESS_UNCHANGED:
+ break;
+ }
+
+ conf = ari_config_get();
+ if (!conf) {
+ ast_assert(0); /* We just configured; it should be there */
+ return -1;
+ }
+
+ if (ao2_container_count(conf->users) == 0) {
+ ast_log(LOG_ERROR, "No configured users for ARI\n");
+ }
+
+ ao2_callback(conf->users, OBJ_NODATA, check_passwords_cb, NULL);
+
+ return 0;
+}
+
int ari_config_init(void)
{
if (aco_info_init(&cfg_info)) {
@@ -300,25 +339,12 @@
aco_option_register_custom(&cfg_info, "password_format", ACO_EXACT,
user, "plain", password_format_handler, 0);
- if (aco_process_config(&cfg_info, 0)) {
- aco_info_destroy(&cfg_info);
- return -1;
- }
-
- return 0;
+ return process_config(0);
}
int ari_config_reload(void)
{
- switch (aco_process_config(&cfg_info, 1)) {
- case ACO_PROCESS_OK:
- case ACO_PROCESS_UNCHANGED:
- return 0;
- case ACO_PROCESS_ERROR:
- return -1;
- }
-
- return -1;
+ return process_config(1);
}
void ari_config_destroy(void)
More information about the asterisk-commits
mailing list