]> 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:37:26 +0000 (16:37 +0000)
committerJonathan Rose <jrose@digium.com>
Wed, 28 Nov 2012 16:37:26 +0000 (16:37 +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
........

Merged revisions 376726 from http://svn.asterisk.org/svn/asterisk/branches/10

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

main/manager.c

index a53baff9ed7c51641c6dd10faf5cfe96232c973d..c24610a38ca746351d850decf507c9002a690d13 100644 (file)
@@ -5095,7 +5095,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);