Merged revisions 333410 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/10

................
  r333410 | jrose | 2011-08-26 11:28:03 -0500 (Fri, 26 Aug 2011) | 19 lines
  
  Merged revisions 333378 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r333378 | jrose | 2011-08-26 11:19:07 -0500 (Fri, 26 Aug 2011) | 13 lines
    
    [patch] Buddies are always auto-registered when processing the roster
    
    Reporter said autoregister flag was ignored for registering 'buddies' which
    had a subscription to us. Verified that this was the case and observed how
    the patch addressed this and made sure it didn't break anything.
    
    (closes issue ASTERISK-14233)
    Reported by: Simon Arlott
    Patches:
          asterisk-0015229.patch (license #5756) patch uploaded by Simon Arlott
    Tested by: Jonathan Rose
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@333428 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Jonathan Rose
2011-08-26 16:38:37 +00:00
parent a721549656
commit 10183c021e

View File

@@ -3058,10 +3058,12 @@ static int aji_filter_roster(void *data, ikspak *pak)
if (ast_test_flag(&client->flags, AJI_AUTOPRUNE)) {
ast_set_flag(&buddy->flags, AJI_AUTOPRUNE);
ASTOBJ_MARK(buddy);
} else if (!iks_strcmp(iks_find_attrib(x, "subscription"), "none") || !iks_strcmp(iks_find_attrib(x, "subscription"), "from")) {
/* subscribe to buddy's presence only
if we really need to */
ast_set_flag(&buddy->flags, AJI_AUTOREGISTER);
} else if (ast_test_flag(&client->flags, AJI_AUTOREGISTER)) {
if (!iks_strcmp(iks_find_attrib(x, "subscription"), "none") || !iks_strcmp(iks_find_attrib(x, "subscription"), "from")) {
/* subscribe to buddy's presence only
if we really need to */
ast_set_flag(&buddy->flags, AJI_AUTOREGISTER);
}
}
ASTOBJ_UNLOCK(buddy);
if (buddy) {