comparison mcabber/libjabber/jconn.c @ 403:17aa60c6dc63

Allow a different server name than the jid domain name Sync libjabber with upstream (centericq). The libjabber patch is from Ian Johannesen. This allows connecting to Google Talk, for example.
author Mikael Berthe <mikael@lilotux.net>
date Sat, 27 Aug 2005 11:21:27 +0200
parents bd5638c21834
children ec86d759ed54
comparison
equal deleted inserted replaced
402:4f36d41695a9 403:17aa60c6dc63
39 * 39 *
40 * results 40 * results
41 * a pointer to the connection structure 41 * a pointer to the connection structure
42 * or NULL if allocations failed 42 * or NULL if allocations failed
43 */ 43 */
44 jconn jab_new(char *user, char *pass, int port, int ssl) 44 jconn jab_new(char *user, char *pass, char *server, int port, int ssl)
45 { 45 {
46 pool p; 46 pool p;
47 jconn j; 47 jconn j;
48 48
49 if(!user) return(NULL); 49 if(!user) return(NULL);
55 j->p = p; 55 j->p = p;
56 56
57 j->user = jid_new(p, user); 57 j->user = jid_new(p, user);
58 j->pass = pstrdup(p, pass); 58 j->pass = pstrdup(p, pass);
59 j->port = port; 59 j->port = port;
60 j->server = server;
60 61
61 j->state = JCONN_STATE_OFF; 62 j->state = JCONN_STATE_OFF;
62 j->cw_state = 0; 63 j->cw_state = 0;
63 j->id = 1; 64 j->id = 1;
64 j->fd = -1; 65 j->fd = -1;
137 XML_SetUserData(j->parser, (void *)j); 138 XML_SetUserData(j->parser, (void *)j);
138 XML_SetElementHandler(j->parser, startElement, endElement); 139 XML_SetElementHandler(j->parser, startElement, endElement);
139 XML_SetCharacterDataHandler(j->parser, charData); 140 XML_SetCharacterDataHandler(j->parser, charData);
140 141
141 if (j->cw_state & CW_CONNECT_BLOCKING) 142 if (j->cw_state & CW_CONNECT_BLOCKING)
142 j->fd = make_netsocket(j->port, j->user->server, NETSOCKET_CLIENT, j->ssl); 143 j->fd = make_netsocket(j->port, j->server, NETSOCKET_CLIENT, j->ssl);
143 else 144 else
144 j->fd = make_nb_netsocket(j->port, j->user->server, NETSOCKET_CLIENT, j->ssl, &j->cw_state); 145 j->fd = make_nb_netsocket(j->port, j->server, NETSOCKET_CLIENT, j->ssl, &j->cw_state);
145 146
146 if(j->fd < 0) { 147 if(j->fd < 0) {
147 STATE_EVT(JCONN_STATE_OFF); 148 STATE_EVT(JCONN_STATE_OFF);
148 return; 149 return;
149 } 150 }
150 } 151 }