comparison mcabber/src/jabglue.c @ 686:98de2d166a11

Use the new IQ system for authentication
author Mikael Berthe <mikael@lilotux.net>
date Mon, 06 Feb 2006 21:06:19 +0100
parents 3282276e7413
children 3c0a0a993de8
comparison
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) {