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

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

main/manager.c

index d9577a00cdc43bef7b5dfc244164e9b165f98e68..252c5c92b4f2ce27e55dc3d33dab85527b3186da 100644 (file)
@@ -4696,7 +4696,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);