;
hasmanager = no
;
+; Set permissions for manager entry (see manager.conf.sample for documentation)
+; (defaults to *all* permissions)
+;managerread = system,call,log,verbose,command,agent,user,config
+;managerwrite = system,call,log,verbose,command,agent,user,config
+;
; Remaining options are not specific to users.conf entries but are general.
;
callwaiting = yes
struct ast_variable *v;
const char *password = NULL;
int hasmanager = 0;
+ const char *readperms = NULL;
+ const char *writeperms = NULL;
+
if (strcasecmp(cat, user) || !strcasecmp(cat, "general")) {
cat = ast_category_browse(cfg, cat);
continue;
password = v->value;
else if (!strcasecmp(v->name, "hasmanager"))
hasmanager = ast_true(v->value);
+ else if (!strcasecmp(v->name, "managerread"))
+ readperms = v->value;
+ else if (!strcasecmp(v->name, "managerwrite"))
+ writeperms = v->value;
}
if (!hasmanager)
break;
return -1;
}
ast_copy_string(s->username, cat, sizeof(s->username));
- s->readperm = -1;
- s->writeperm = -1;
+ s->readperm = readperms ? get_perm(readperms) : -1;
+ s->writeperm = writeperms ? get_perm(writeperms) : -1;
ast_config_destroy(cfg);
if (events)
set_eventmask(s, events);