[Pidgin] #16481: Unable to add the buddy 1 for an unknown Reason

Pidgin trac at pidgin.im
Sat Nov 29 07:55:11 EST 2014


#16481: Unable to add the buddy 1 for an unknown Reason
-------------------------------------+--------------------------
 Reporter:  agr_agr                  |       Owner:  MarkDoliner
     Type:  defect                   |      Status:  new
Milestone:                           |   Component:  ICQ
  Version:  2.10.10                  |  Resolution:
 Keywords:  icq oscar unable_to_add  |
-------------------------------------+--------------------------
Description changed by agr_agr:

Old description:

> I am dealing with an unclear Problem on "Pidgin v2.10.10 (libpurple
> 2.10.10)" in Relation with ICQ.
>
> OS: Windows 7 Professional 32bit (v6.1 Build 7601: Service Pack 1)
>
> Seems related to: #10601, #15604, #16264 .
>
> The Debug-Logfile has these Messages in Relation to the Problem:
> {{{
> (12:34:51) oscar: ssi: status is 0x0003 for a 0x0008 action with name no
> item
> (12:34:51) oscar: ssi: Action 0x0008 was unsuccessful with error 0x0003
> }}}
>
> After these Messages the following Message is shown to the User:
> {{{
> Window Title: "Unable to add"
> Window Text: "Unable to add the buddy 1 for an unknown reason."
> }}}
>
> '''I think the Problem lies with''' blocking someone in ICQ, in this
> Case. I have not yet confirmed this.
>
> After skimming the Code, I was wondering. Would it be possible:
> * to find out, what the missing error codes mean? To get more descriptive
> Messages in the Debug Log?
> * '''to Log Message_Box-Title & Message_Box-Text automatically to the
> Debug-Log, so that such Messages are easier to find in the Debug-Log?'''
> * to modify the Message_Box-Text so that it is '''more explanatory'''
> than Buddy "1"?
> * to include a Setting (Default:OFF) to deactivate this specific
> Message_Box (maybe just for specific Errors)?
>

> The Message seems to originate in libpurple/protocols/oscar/oscar.c
> https://hg.pidgin.im/pidgin/main/file/e7949b2aa31a/libpurple/protocols/oscar/oscar.c
>
> {{{
> #!C
> static int purple_ssi_parseack(OscarData *od, FlapConnection *conn,
> FlapFrame *fr, ...) {
>         PurpleConnection *gc = od->gc;
>         va_list ap;
>         struct aim_ssi_tmp *retval;
>
>         va_start(ap, fr);
>         retval = va_arg(ap, struct aim_ssi_tmp *);
>         va_end(ap);
>
>         while (retval) {
>                 purple_debug_misc("oscar",
>                                    "ssi: status is 0x%04hx for a 0x%04hx
> action with name %s\n", retval->ack,  retval->action, retval->item ?
> (retval->item->name ? retval->item->name : "no name") : "no item");
>
>                 if (retval->ack != 0xffff)
>                 switch (retval->ack) {
>                         case 0x0000: { /* added successfully */
>                         } break;
>
>                         case 0x000c: { /* you are over the limit, the
> cheat is to the limit, come on fhqwhgads */
>                                 /* SNIP */
>                         } break;
>
>                         case 0x000e: { /* buddy requires authorization */
>                                 /* SNIP */
>                         } break;
>
>                         default: { /* La la la */
>                                 gchar *buf;
>                                 purple_debug_error("oscar", "ssi: Action
> 0x%04hx was unsuccessful with error 0x%04hx\n", retval->action,
> retval->ack);
>                                 buf = g_strdup_printf(_("Unable to add
> the buddy %s for an unknown reason."),
>                                                 (retval->name ?
> retval->name : _("(no name)")));
>                                 if ((retval->name != NULL) &&
> !purple_conv_present_error(retval->name,
> purple_connection_get_account(gc), buf))
>                                         purple_notify_error(gc, NULL,
> _("Unable to Add"), buf);
>                                 g_free(buf);
>                         } break;
>                 }
>
>                 retval = retval->next;
>         }
>
>         return 1;
> }
> }}}

New description:

 I am dealing with an unclear Problem on "Pidgin v2.10.10 (libpurple
 2.10.10)" in Relation with ICQ.

 OS: Windows 7 Professional 32bit (v6.1 Build 7601: Service Pack 1)

 Seems related to: #10601, #15604, #16264 .

 The Debug-Logfile has these Messages in Relation to the Problem:
 {{{
 (12:34:51) oscar: ssi: status is 0x0003 for a 0x0008 action with name no
 item
 (12:34:51) oscar: ssi: Action 0x0008 was unsuccessful with error 0x0003
 }}}

 After these Messages the following Message is shown to the User:
 {{{
 Window Title: "Unable to add"
 Window Text: "Unable to add the buddy 1 for an unknown reason."
 }}}

 (Note: I "Ignore" a few ICQ#, have not set anyone to "Always Invisible", a
 few are set to "Always Visible".
 The first ICQ# in the List starts with 1 in both cases.)

 After skimming the Code, I was wondering. Would it be possible:
 * to find out, what the missing error codes mean? To get more descriptive
 Messages in the Debug Log?
 * '''to Log Message_Box-Title & Message_Box-Text automatically to the
 Debug-Log, so that such Messages are easier to find in the Debug-Log?'''
 * to modify the Message_Box-Text so that it is '''more explanatory''' than
 Buddy "1"?
 * to include a Setting (Default:OFF) to deactivate this specific
 Message_Box (maybe just for specific Errors)?


 The Message seems to originate in libpurple/protocols/oscar/oscar.c
 https://hg.pidgin.im/pidgin/main/file/e7949b2aa31a/libpurple/protocols/oscar/oscar.c

 {{{
 #!C
 static int purple_ssi_parseack(OscarData *od, FlapConnection *conn,
 FlapFrame *fr, ...) {
         PurpleConnection *gc = od->gc;
         va_list ap;
         struct aim_ssi_tmp *retval;

         va_start(ap, fr);
         retval = va_arg(ap, struct aim_ssi_tmp *);
         va_end(ap);

         while (retval) {
                 purple_debug_misc("oscar",
                                    "ssi: status is 0x%04hx for a 0x%04hx
 action with name %s\n", retval->ack,  retval->action, retval->item ?
 (retval->item->name ? retval->item->name : "no name") : "no item");

                 if (retval->ack != 0xffff)
                 switch (retval->ack) {
                         case 0x0000: { /* added successfully */
                         } break;

                         case 0x000c: { /* you are over the limit, the
 cheat is to the limit, come on fhqwhgads */
                                 /* SNIP */
                         } break;

                         case 0x000e: { /* buddy requires authorization */
                                 /* SNIP */
                         } break;

                         default: { /* La la la */
                                 gchar *buf;
                                 purple_debug_error("oscar", "ssi: Action
 0x%04hx was unsuccessful with error 0x%04hx\n", retval->action,
 retval->ack);
                                 buf = g_strdup_printf(_("Unable to add the
 buddy %s for an unknown reason."),
                                                 (retval->name ?
 retval->name : _("(no name)")));
                                 if ((retval->name != NULL) &&
 !purple_conv_present_error(retval->name,
 purple_connection_get_account(gc), buf))
                                         purple_notify_error(gc, NULL,
 _("Unable to Add"), buf);
                                 g_free(buf);
                         } break;
                 }

                 retval = retval->next;
         }

         return 1;
 }
 }}}

--

--
Ticket URL: <https://developer.pidgin.im/ticket/16481#comment:2>
Pidgin <https://pidgin.im>
Pidgin


More information about the Tracker mailing list