|
|
|
@ -862,11 +862,13 @@ static int authenticate(struct mansession *s, struct message *m)
|
|
|
|
|
cfg = ast_config_load("manager.conf");
|
|
|
|
|
if (!cfg)
|
|
|
|
|
return -1;
|
|
|
|
|
cat = ast_category_browse(cfg, NULL);
|
|
|
|
|
while (cat) {
|
|
|
|
|
if (strcasecmp(cat, "general")) {
|
|
|
|
|
/* This is a user */
|
|
|
|
|
if (!strcasecmp(cat, user)) {
|
|
|
|
|
cat = NULL;
|
|
|
|
|
while ( (cat = ast_category_browse(cfg, cat)) ) {
|
|
|
|
|
if (!strcasecmp(cat, "general") || strcasecmp(cat, user))
|
|
|
|
|
continue; /* skip 'general' and non-matching sections */
|
|
|
|
|
|
|
|
|
|
/* XXX fix indentation */
|
|
|
|
|
{
|
|
|
|
|
struct ast_variable *v;
|
|
|
|
|
struct ast_ha *ha = NULL;
|
|
|
|
|
char *password = NULL;
|
|
|
|
@ -931,8 +933,6 @@ static int authenticate(struct mansession *s, struct message *m)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
cat = ast_category_browse(cfg, cat);
|
|
|
|
|
}
|
|
|
|
|
if (cat) {
|
|
|
|
|
ast_copy_string(s->username, cat, sizeof(s->username));
|
|
|
|
|
s->readperm = get_perm(ast_variable_retrieve(cfg, cat, "read"));
|
|
|
|
|