comparison mcabber/src/jabglue.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 f8f3c7493457
children a9dd91e08eb3
comparison
equal deleted inserted replaced
402:4f36d41695a9 403:17aa60c6dc63
112 const char *resource) 112 const char *resource)
113 { 113 {
114 char *jid = g_new(char, 3 + 114 char *jid = g_new(char, 3 +
115 strlen(username) + strlen(servername) + strlen(resource)); 115 strlen(username) + strlen(servername) + strlen(resource));
116 strcpy(jid, username); 116 strcpy(jid, username);
117 strcat(jid, "@"); 117 if (!strchr(jid, '@')) {
118 strcat(jid, servername); 118 strcat(jid, "@");
119 strcat(jid, servername);
120 }
119 strcat(jid, "/"); 121 strcat(jid, "/");
120 strcat(jid, resource); 122 strcat(jid, resource);
121 return jid; 123 return jid;
122 } 124 }
123 125
124 jconn jb_connect(const char *jid, unsigned int port, int ssl, const char *pass) 126 jconn jb_connect(const char *jid, const char *server, unsigned int port,
127 int ssl, const char *pass)
125 { 128 {
126 if (!port) { 129 if (!port) {
127 if (ssl) 130 if (ssl)
128 port = JABBERSSLPORT; 131 port = JABBERSSLPORT;
129 else 132 else
131 } 134 }
132 135
133 jb_disconnect(); 136 jb_disconnect();
134 137
135 s_id = 1; 138 s_id = 1;
136 jc = jab_new((char*)jid, (char*)pass, port, ssl); 139 jc = jab_new((char*)jid, (char*)pass, (char*)server, port, ssl);
137 140
138 /* These 3 functions can deal with a NULL jc, no worry... */ 141 /* These 3 functions can deal with a NULL jc, no worry... */
139 jab_logger(jc, logger); 142 jab_logger(jc, logger);
140 jab_packet_handler(jc, &packethandler); 143 jab_packet_handler(jc, &packethandler);
141 jab_state_handler(jc, &statehandler); 144 jab_state_handler(jc, &statehandler);