]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 243391 via svnmerge from
authorDavid Vossel <dvossel@digium.com>
Wed, 27 Jan 2010 00:01:32 +0000 (00:01 +0000)
committerDavid Vossel <dvossel@digium.com>
Wed, 27 Jan 2010 00:01:32 +0000 (00:01 +0000)
https://origsvn.digium.com/svn/asterisk/trunk

................
  r243391 | dvossel | 2010-01-26 17:56:57 -0600 (Tue, 26 Jan 2010) | 15 lines

  Merged revisions 243390 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.4

  ........
    r243390 | dvossel | 2010-01-26 17:55:49 -0600 (Tue, 26 Jan 2010) | 9 lines

    fixes bug with channel receiving wrong privileges after call parking

    (closes issue #16429)
    Reported by: Yasuhiro Konishi
    Patches:
          features.c.diff uploaded by Yasuhiro Konishi (license 947)
    Tested by: dvossel
  ........
................

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

main/features.c

index bb000dd0f430e1734d34c4f4254020f402b11d42..dd909396051ccf623fe5571274225da4f20fe1f7 100644 (file)
@@ -3074,8 +3074,12 @@ static int park_exec(struct ast_channel *chan, void *data)
                }
                ast_channel_unlock(peer);
 
+               /* When the datastores for both caller and callee are created, both the callee and caller channels
+                * use the features_caller flag variable to represent themselves. With that said, the config.features_callee
+                * flags should be copied from the datastore's caller feature flags regardless if peer was a callee
+                * or caller. */
                if (dialfeatures) {
-                       ast_copy_flags(&(config.features_callee), dialfeatures->is_caller ? &(dialfeatures->features_caller) : &(dialfeatures->features_callee), AST_FLAGS_ALL);
+                       ast_copy_flags(&(config.features_callee), &(dialfeatures->features_caller), AST_FLAGS_ALL);
                }
 
                if ((parkedcalltransfers == AST_FEATURE_FLAG_BYCALLEE) || (parkedcalltransfers == AST_FEATURE_FLAG_BYBOTH)) {