mcabber/src/jabglue.c
changeset 407 79af85f08c28
parent 406 a9dd91e08eb3
child 408 73433860665c
equal deleted inserted replaced
406:a9dd91e08eb3 407:79af85f08c28
   790 
   790 
   791             }
   791             }
   792           }
   792           }
   793         } else if (!strcmp(type, "set")) {
   793         } else if (!strcmp(type, "set")) {
   794         } else if (!strcmp(type, "error")) {
   794         } else if (!strcmp(type, "error")) {
   795           char *name=NULL, *desc=NULL;
   795           char *name=NULL, *desc;
       
   796           char *text=NULL;
   796           int code = 0;
   797           int code = 0;
   797 
   798 
   798           x = xmlnode_get_tag(packet->x, "error");
   799           x = xmlnode_get_tag(packet->x, "error");
   799           p = xmlnode_get_attrib(x, "code"); if (p) code = atoi(p);
   800           p = xmlnode_get_attrib(x, "code"); if (p) code = atoi(p);
   800           p = xmlnode_get_attrib(x, "id"); if (p) name = p;
   801           p = xmlnode_get_attrib(x, "id"); if (p) name = p;
   801           p = xmlnode_get_tag_data(packet->x, "error"); if (p) desc = p;
   802           p = xmlnode_get_tag_data(packet->x, "error"); if (p) desc = p;
   802 
   803 
   803 #if 0
   804           // Sometimes there is a text message
       
   805           x = xmlnode_get_tag(x, "text");
       
   806           p = xmlnode_get_data(x); if (p) text = p;
       
   807 
   804           switch(code) {
   808           switch(code) {
   805             case 401: /* Unauthorized */
   809             case 401: desc = "Unauthorized";
   806             case 302: /* Redirect */
   810                 break;
   807             case 400: /* Bad request */
   811             case 302: desc = "Redirect";
   808             case 402: /* Payment Required */
   812                 break;
   809             case 403: /* Forbidden */
   813             case 400: desc = "Bad request";
   810             case 404: /* Not Found */
   814                 break;
   811             case 405: /* Not Allowed */
   815             case 402: desc = "Payment Required";
   812             case 406: /* Not Acceptable */
   816                 break;
   813             case 407: /* Registration Required */
   817             case 403: desc = "Forbidden";
   814             case 408: /* Request Timeout */
   818                 break;
   815             case 409: /* Conflict */
   819             case 404: desc = "Not Found";
   816             case 500: /* Internal Server Error */
   820                 break;
   817             case 501: /* Not Implemented */
   821             case 405: desc = "Not Allowed";
   818             case 502: /* Remote Server Error */
   822                 break;
   819             case 503: /* Service Unavailable */
   823             case 406: desc = "Not Acceptable";
   820             case 504: /* Remote Server Timeout */
   824                 break;
       
   825             case 407: desc = "Registration Required";
       
   826                 break;
       
   827             case 408: desc = "Request Timeout";
       
   828                 break;
       
   829             case 409: desc = "Conflict";
       
   830                 break;
       
   831             case 500: desc = "Internal Server Error";
       
   832                 break;
       
   833             case 501: desc = "Not Implemented";
       
   834                 break;
       
   835             case 502: desc = "Remote Server Error";
       
   836                 break;
       
   837             case 503: desc = "Service Unavailable";
       
   838                 break;
       
   839             case 504: desc = "Remote Server Timeout";
       
   840                 break;
   821             default:
   841             default:
   822                 /*
   842                 desc = NULL;
   823                 if (!regmode) {
       
   824                   face.log(desc.empty() ?
       
   825                           _("+ [jab] error %d") :
       
   826                           _("+ [jab] error %d: %s"),
       
   827                           code, desc.c_str());
       
   828 
       
   829                   if (!jhook.flogged && code != 501) {
       
   830                     close(jc->fd);
       
   831                     jc->fd = -1;
       
   832                   }
       
   833 
       
   834                 } else {
       
   835                   jhook.regerr = desc;
       
   836 
       
   837                 }
       
   838                 */
       
   839           }
   843           }
   840 #endif
   844 
   841           scr_LogPrint(LPRINT_LOGNORM, "Error code from server (%d)", code);
   845           scr_LogPrint(LPRINT_LOGNORM, "Error code from server: %d %s",
   842 
   846                        code, (desc ? desc : ""));
       
   847           if (text)
       
   848             scr_LogPrint(LPRINT_LOGNORM, "Server message: %s", text);
       
   849 
       
   850           if (name)
       
   851             scr_LogPrint(LPRINT_DEBUG, "Error id: %s", name);
   843         }
   852         }
   844         break;
   853         break;
   845 
   854 
   846     case JPACKET_PRESENCE:
   855     case JPACKET_PRESENCE:
   847         x = xmlnode_get_tag(packet->x, "show");
   856         x = xmlnode_get_tag(packet->x, "show");