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

Pidgin trac at pidgin.im
Sat Nov 29 07:44:00 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  |   Keywords:  icq oscar oscar unable_to_add
---------------------+-------------------------------------------
 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;
 }
 }}}

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


More information about the Tracker mailing list