oops, missed the case of a 0 permission (which should mean everybody is allowed,...
authorTilghman Lesher <tilghman@meg.abyt.es>
Thu, 10 Jan 2008 00:39:34 +0000 (00:39 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Thu, 10 Jan 2008 00:39:34 +0000 (00:39 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97655 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/manager.c

index ba3ad92..a2ed428 100644 (file)
@@ -1392,7 +1392,7 @@ static int action_listcommands(struct mansession *s, const struct message *m)
 
        astman_start_ack(s, m);
        AST_RWLIST_TRAVERSE(&actions, cur, list) {
-               if (s->writeperm & cur->authority)
+               if (s->writeperm & cur->authority || cur->authority == 0)
                        astman_append(s, "%s: %s (Priv: %s)\r\n",
                                cur->action, cur->synopsis, authority_to_str(cur->authority, &temp));
        }
@@ -2510,7 +2510,7 @@ static int process_message(struct mansession *s, const struct message *m)
        AST_RWLIST_TRAVERSE(&actions, tmp, list) {
                if (strcasecmp(action, tmp->action))
                        continue;
-               if (s->writeperm & tmp->authority)
+               if (s->writeperm & tmp->authority || tmp->authority == 0)
                        ret = tmp->func(s, m);
                else
                        astman_send_error(s, m, "Permission denied");