Mercurial > ~mikael > mcabber > hg
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 } |