#9626: away message is unset during login to AIM

View: New views
8 Messages — Rating Filter:   Alert me  

#9626: away message is unset during login to AIM

by Pidgin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

#9626: away message is unset during login to AIM
------------------+---------------------------------------------------------
Reporter:  tmm1   |        Type:  defect  
  Status:  new    |   Component:  libpurple
 Version:  2.5.8  |    Keywords:          
------------------+---------------------------------------------------------
 There's a race condition in the oscar prpl, where if purple_bosrights is
 called after purple_parse_locaterights, the away message set by
 locaterights is overwritten to a blank message.

 To recreate, simply:
 {{{
 acc = purple_account_new("sn", "prpl-aim");
 purple_account_set_password(acc, "pass");
 purple_account_set_status(acc, "away", TRUE, "message", "not here", NULL);
 purple_account_set_enabled(acc, U_ID, TRUE);
 }}}
 and watch the account's presence from another screen name. Half the time
 the away message will be set, and the rest of the time the screen name
 will be away but have no away message set.

 The following patch fixes the issue:
 {{{
 diff --git a/libpurple/protocols/oscar/family_locate.c
 b/libpurple/protocols/oscar/family_locate.c
 index 0646a2b..5c99dcf 100644
 --- a/libpurple/protocols/oscar/family_locate.c
 +++ b/libpurple/protocols/oscar/family_locate.c
 @@ -851,7 +853,7 @@ aim_srv_setextrainfo(OscarData *od,
         }
  #endif

 -       if (setavailmsg)
 +       if (setavailmsg && (availmsg || itmsurl))
         {
                 int availmsglen, itmsurllen;
                 ByteStream tmpbs;
 }}}

--
Ticket URL: <http://developer.pidgin.im/ticket/9626>
Pidgin <http://pidgin.im>
Pidgin
_______________________________________________
Tracker mailing list
Tracker@...
http://pidgin.im/cgi-bin/mailman/listinfo/tracker

Re: #9626: away message is unset during login to AIM

by Pidgin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

#9626: away message is unset during login to AIM
------------------------------------+---------------------------------------
 Reporter:  tmm1                    |        Owner:  MarkDoliner
     Type:  patch                   |       Status:  new        
Milestone:  Patches Needing Review  |    Component:  AIM        
  Version:  2.5.8                   |   Resolution:            
 Keywords:                          |  
------------------------------------+---------------------------------------
Changes (by darkrain42):

  * owner:  => MarkDoliner
  * type:  defect => patch
  * component:  libpurple => AIM
  * milestone:  => Patches Needing Review


--
Ticket URL: <http://developer.pidgin.im/ticket/9626#comment:1>
Pidgin <http://pidgin.im>
Pidgin
_______________________________________________
Tracker mailing list
Tracker@...
http://pidgin.im/cgi-bin/mailman/listinfo/tracker

Re: #9626: away message is unset during login to AIM

by Pidgin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

#9626: away message is unset during login to AIM
------------------------------------+---------------------------------------
 Reporter:  tmm1                    |        Owner:  MarkDoliner
     Type:  patch                   |       Status:  new        
Milestone:  Patches Needing Review  |    Component:  AIM        
  Version:  2.5.8                   |   Resolution:            
 Keywords:                          |  
------------------------------------+---------------------------------------

Comment(by darkrain42):

 tmm1, how does this work for you? I think this is what Mark was suggesting
 in #pidgin, although I'm not 100% sure. It seems to fix the issue for me.

--
Ticket URL: <http://developer.pidgin.im/ticket/9626#comment:2>
Pidgin <http://pidgin.im>
Pidgin
_______________________________________________
Tracker mailing list
Tracker@...
http://pidgin.im/cgi-bin/mailman/listinfo/tracker

Re: #9626: away message is unset during login to AIM

by Pidgin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

#9626: away message is unset during login to AIM
------------------------------------+---------------------------------------
 Reporter:  tmm1                    |        Owner:  MarkDoliner
     Type:  patch                   |       Status:  new        
Milestone:  Patches Needing Review  |    Component:  AIM        
  Version:  2.5.8                   |   Resolution:            
 Keywords:                          |  
------------------------------------+---------------------------------------

Comment(by darkrain42):

 Sorry, forgot to post the code. Here it is:

 {{{
 #
 # old_revision [ac87c285c7056f86005dc157b9870745de471f74]
 #
 # patch "libpurple/protocols/oscar/oscar.c"
 #  from [e11e875546106d01efbd959e5d1d89b8398c11db]
 #    to [8a94b09e8aeb48438395274cbd2d4c01911fa9ed]
 #
 ============================================================
 --- libpurple/protocols/oscar/oscar.c
 e11e875546106d01efbd959e5d1d89b8398c11db
 +++ libpurple/protocols/oscar/oscar.c
 8a94b09e8aeb48438395274cbd2d4c01911fa9ed
 @@ -3977,7 +3977,8 @@ static int purple_bosrights(OscarData *o
                 message = NULL;
         tmp = purple_markup_strip_html(message);
         itmsurl = purple_status_get_attr_string(status, "itmsurl");
 -       aim_srv_setextrainfo(od, FALSE, 0, TRUE, tmp, itmsurl);
 +
 +       aim_srv_setextrainfo(od, FALSE, 0, (message || itmsurl), tmp,
 itmsurl);
         g_free(tmp);

         presence = purple_status_get_presence(status);
 }}}

--
Ticket URL: <http://developer.pidgin.im/ticket/9626#comment:3>
Pidgin <http://pidgin.im>
Pidgin
_______________________________________________
Tracker mailing list
Tracker@...
http://pidgin.im/cgi-bin/mailman/listinfo/tracker

Re: #9626: away message is unset during login to AIM

by Pidgin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

#9626: away message is unset during login to AIM
------------------------------------+---------------------------------------
 Reporter:  tmm1                    |        Owner:  MarkDoliner
     Type:  patch                   |       Status:  new        
Milestone:  Patches Needing Review  |    Component:  AIM        
  Version:  2.5.8                   |   Resolution:            
 Keywords:                          |  
------------------------------------+---------------------------------------

Comment(by tmm1):

 That should be equivalent, but you probably want:
 {{{
 --- libpurple/protocols/oscar/oscar.c
 e11e875546106d01efbd959e5d1d89b8398c11db
 +++ libpurple/protocols/oscar/oscar.c
 8a94b09e8aeb48438395274cbd2d4c01911fa9ed
 @@ -3977,7 +3977,8 @@ static int purple_bosrights(OscarData *o
                 message = NULL;
         tmp = purple_markup_strip_html(message);
         itmsurl = purple_status_get_attr_string(status, "itmsurl");
 -       aim_srv_setextrainfo(od, FALSE, 0, TRUE, tmp, itmsurl);
 +
 +       aim_srv_setextrainfo(od, FALSE, 0, (message || itmsurl) ? TRUE :
 FALSE, tmp, itmsurl);
         g_free(tmp);

         presence = purple_status_get_presence(status);
 }}

 I guess the question is if aim_srv_setextrainfo() is ever used to
 explicitly set a null message/itmsurl. If so, this patch would be
 preferable, otherwise mine makes more sense.

--
Ticket URL: <http://developer.pidgin.im/ticket/9626#comment:4>
Pidgin <http://pidgin.im>
Pidgin
_______________________________________________
Tracker mailing list
Tracker@...
http://pidgin.im/cgi-bin/mailman/listinfo/tracker

Re: #9626: away message is unset during login to AIM

by Pidgin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

#9626: away message is unset during login to AIM
-------------------+--------------------------------------------------------
 Reporter:  tmm1   |        Owner:  MarkDoliner
     Type:  patch  |       Status:  closed    
Milestone:  2.6.0  |    Component:  AIM        
  Version:  2.5.8  |   Resolution:  fixed      
 Keywords:         |  
-------------------+--------------------------------------------------------
Changes (by markdoliner@...):

  * status:  new => closed
  * resolution:  => fixed
  * milestone:  Patches Needing Review => 2.6.0


Comment:

 (In [957a4a1d105ac470333d8b0f2d8d3a546db15c95]):[[BR]]
 Fix a bug where sometimes your away message wouldn't get set at sign on
 when signing in with an AIM account.  Fixes #9626.

--
Ticket URL: <http://developer.pidgin.im/ticket/9626#comment:5>
Pidgin <http://pidgin.im>
Pidgin
_______________________________________________
Tracker mailing list
Tracker@...
http://pidgin.im/cgi-bin/mailman/listinfo/tracker

Re: #9626: away message is unset during login to AIM

by Pidgin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

#9626: away message is unset during login to AIM
-------------------+--------------------------------------------------------
 Reporter:  tmm1   |        Owner:  MarkDoliner
     Type:  patch  |       Status:  closed    
Milestone:  2.6.0  |    Component:  AIM        
  Version:  2.5.8  |   Resolution:  fixed      
 Keywords:         |  
-------------------+--------------------------------------------------------

Comment(by MarkDoliner):

 Yeah, I was thinking something more along the lines of what darkrain42
 posted.  tmm1: Your version fixes the problem for me, but I think the
 message will explicitly be null when you want to clear your available
 message.

 Basically you only want to set the available message and itunes music
 store url if you're available.

 Anyhoo, thanks for finding this tmm1!

--
Ticket URL: <http://developer.pidgin.im/ticket/9626#comment:6>
Pidgin <http://pidgin.im>
Pidgin
_______________________________________________
Tracker mailing list
Tracker@...
http://pidgin.im/cgi-bin/mailman/listinfo/tracker

Re: #9626: away message is unset during login to AIM

by Pidgin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

#9626: away message is unset during login to AIM
-------------------+--------------------------------------------------------
 Reporter:  tmm1   |        Owner:  MarkDoliner
     Type:  patch  |       Status:  closed    
Milestone:  2.6.0  |    Component:  AIM        
  Version:  2.5.8  |   Resolution:  fixed      
 Keywords:         |  
-------------------+--------------------------------------------------------

Comment(by markdoliner@...):

 (In [0b2802e180d944397afb3a3fd16131e93af300c4]):[[BR]]
 Oh, make sure we still set the itmsurl if we're available but don't have
 an available message.  Refs #9626.

--
Ticket URL: <http://developer.pidgin.im/ticket/9626#comment:7>
Pidgin <http://pidgin.im>
Pidgin
_______________________________________________
Tracker mailing list
Tracker@...
http://pidgin.im/cgi-bin/mailman/listinfo/tracker