]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
manager: Make challenge work with allowmultiplelogin=no
authorJonathan Rose <jrose@digium.com>
Wed, 28 Nov 2012 16:30:27 +0000 (16:30 +0000)
committerJonathan Rose <jrose@digium.com>
Wed, 28 Nov 2012 16:30:27 +0000 (16:30 +0000)
Prior to this patch, challenge would yield a multiple logins error if used
without providing the username (which isn't really supposed to be an argument
to challenge) if allowmultiplelogin was set to no because allowmultiplelogin
finds a user with a zero length login name. This check is simply disabled for
the challenge action when the username is empty by this patch.

(closes issue ASTERISK-20677)
Reported by: Vladimir
Patches:
    challenge_action_nomultiplelogin.diff uploaded by Jonathan Rose (license 6182)
........

Merged revisions 376725 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376726 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/manager.c

index 34bd8b4dfa641d627bc8cb2c6e5397a6d7c3f1d8..6aeeb206cf14d0793039e5d03be4b9e7c1729c5e 100644 (file)
@@ -4840,7 +4840,7 @@ static int process_message(struct mansession *s, const struct message *m)
                        || !strcasecmp(action, "Challenge"))) {
                user = astman_get_header(m, "Username");
 
-               if (check_manager_session_inuse(user)) {
+               if (!ast_strlen_zero(user) && check_manager_session_inuse(user)) {
                        report_session_limit(s);
                        sleep(1);
                        mansession_lock(s);