mcabber/src/jabglue.c
changeset 686 98de2d166a11
parent 684 3282276e7413
child 691 3c0a0a993de8
equal deleted inserted replaced
685:f033345d1315 686:98de2d166a11
   107   jb_disconnect();
   107   jb_disconnect();
   108 
   108 
   109   utf8_jid = to_utf8(jid);
   109   utf8_jid = to_utf8(jid);
   110   if (!utf8_jid) return jc;
   110   if (!utf8_jid) return jc;
   111 
   111 
   112   s_id = 1;
       
   113   jc = jab_new(utf8_jid, (char*)pass, (char*)server, port, ssl);
   112   jc = jab_new(utf8_jid, (char*)pass, (char*)server, port, ssl);
   114   g_free(utf8_jid);
   113   g_free(utf8_jid);
   115 
   114 
   116   /* These 3 functions can deal with a NULL jc, no worry... */
   115   /* These 3 functions can deal with a NULL jc, no worry... */
   117   jab_logger(jc, logger);
   116   jab_logger(jc, logger);
   169   KeepaliveDelay = delay;
   168   KeepaliveDelay = delay;
   170 }
   169 }
   171 
   170 
   172 void jb_main()
   171 void jb_main()
   173 {
   172 {
   174   xmlnode x, z;
       
   175   char *cid;
       
   176 
       
   177   if (!online) {
   173   if (!online) {
   178     safe_usleep(10000);
   174     safe_usleep(10000);
   179     return;
   175     return;
   180   }
   176   }
   181 
   177 
   187 
   183 
   188   jab_poll(jc, 50);
   184   jab_poll(jc, 50);
   189 
   185 
   190   if (jstate == STATE_CONNECTING) {
   186   if (jstate == STATE_CONNECTING) {
   191     if (jc) {
   187     if (jc) {
   192       x = jutil_iqnew(JPACKET__GET, NS_AUTH);
   188       iqs *iqn;
   193       cid = jab_getid(jc);
   189       xmlnode z;
   194       xmlnode_put_attrib(x, "id", cid);
   190 
   195       // id = atoi(cid);
   191       iqn = iqs_new(JPACKET__GET, NS_AUTH, "auth", IQS_DEFAULT_TIMEOUT);
   196 
   192       iqn->callback = &iqscallback_auth;
   197       z = xmlnode_insert_tag(xmlnode_get_tag(x, "query"), "username");
   193 
       
   194       z = xmlnode_insert_tag(xmlnode_get_tag(iqn->xmldata, "query"),
       
   195                              "username");
   198       xmlnode_insert_cdata(z, jc->user->user, (unsigned) -1);
   196       xmlnode_insert_cdata(z, jc->user->user, (unsigned) -1);
   199       jab_send(jc, x);
   197       jab_send(jc, iqn->xmldata);
   200       xmlnode_free(x);
       
   201 
   198 
   202       jstate = STATE_GETAUTH;
   199       jstate = STATE_GETAUTH;
   203     }
   200     }
   204 
   201 
   205     if (!jc || jc->state == JCONN_STATE_OFF) {
   202     if (!jc || jc->state == JCONN_STATE_OFF) {