Mercurial > pidgin.yaz
comparison libpurple/protocols/jabber/jabber.c @ 21603:a4b6854737d5
Implement more of XEP-0065 to support sending files through a proxy. To avoid adding strings this close to a release, it only supports using a proxy that is discovered from the server, but we'll include an account option to manually specify a ft proxy in the next release. Lots of this is based on a patch from galt - Fixes #3730, #116, #1768
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Wed, 21 Nov 2007 05:22:39 +0000 |
parents | 68b036c452f3 |
children | d20a1c190c2f 98604b4bfa3b |
comparison
equal
deleted
inserted
replaced
21602:53fee49ce1c5 | 21603:a4b6854737d5 |
---|---|
1232 g_hash_table_destroy(js->disco_callbacks); | 1232 g_hash_table_destroy(js->disco_callbacks); |
1233 if(js->buddies) | 1233 if(js->buddies) |
1234 g_hash_table_destroy(js->buddies); | 1234 g_hash_table_destroy(js->buddies); |
1235 if(js->chats) | 1235 if(js->chats) |
1236 g_hash_table_destroy(js->chats); | 1236 g_hash_table_destroy(js->chats); |
1237 | |
1237 while(js->chat_servers) { | 1238 while(js->chat_servers) { |
1238 g_free(js->chat_servers->data); | 1239 g_free(js->chat_servers->data); |
1239 js->chat_servers = g_list_delete_link(js->chat_servers, js->chat_servers); | 1240 js->chat_servers = g_list_delete_link(js->chat_servers, js->chat_servers); |
1240 } | 1241 } |
1242 | |
1241 while(js->user_directories) { | 1243 while(js->user_directories) { |
1242 g_free(js->user_directories->data); | 1244 g_free(js->user_directories->data); |
1243 js->user_directories = g_list_delete_link(js->user_directories, js->user_directories); | 1245 js->user_directories = g_list_delete_link(js->user_directories, js->user_directories); |
1244 } | 1246 } |
1245 if(js->stream_id) | 1247 |
1246 g_free(js->stream_id); | 1248 while(js->bs_proxies) { |
1249 JabberBytestreamsStreamhost *sh = js->bs_proxies->data; | |
1250 g_free(sh->jid); | |
1251 g_free(sh->host); | |
1252 g_free(sh->zeroconf); | |
1253 g_free(sh); | |
1254 js->bs_proxies = g_list_delete_link(js->bs_proxies, js->bs_proxies); | |
1255 } | |
1256 | |
1257 g_free(js->stream_id); | |
1247 if(js->user) | 1258 if(js->user) |
1248 jabber_id_free(js->user); | 1259 jabber_id_free(js->user); |
1249 if(js->avatar_hash) | 1260 g_free(js->avatar_hash); |
1250 g_free(js->avatar_hash); | 1261 |
1251 purple_circ_buffer_destroy(js->write_buffer); | 1262 purple_circ_buffer_destroy(js->write_buffer); |
1252 if(js->writeh) | 1263 if(js->writeh) |
1253 purple_input_remove(js->writeh); | 1264 purple_input_remove(js->writeh); |
1254 #ifdef HAVE_CYRUS_SASL | 1265 #ifdef HAVE_CYRUS_SASL |
1255 if(js->sasl) | 1266 if(js->sasl) |
1256 sasl_dispose(&js->sasl); | 1267 sasl_dispose(&js->sasl); |
1257 if(js->sasl_mechs) | 1268 if(js->sasl_mechs) |
1258 g_string_free(js->sasl_mechs, TRUE); | 1269 g_string_free(js->sasl_mechs, TRUE); |
1259 if(js->sasl_cb) | 1270 g_free(js->sasl_cb); |
1260 g_free(js->sasl_cb); | |
1261 #endif | 1271 #endif |
1262 if(js->serverFQDN) | 1272 g_free(js->serverFQDN); |
1263 g_free(js->serverFQDN); | |
1264 while(js->commands) { | 1273 while(js->commands) { |
1265 JabberAdHocCommands *cmd = js->commands->data; | 1274 JabberAdHocCommands *cmd = js->commands->data; |
1266 g_free(cmd->jid); | 1275 g_free(cmd->jid); |
1267 g_free(cmd->node); | 1276 g_free(cmd->node); |
1268 g_free(cmd->name); | 1277 g_free(cmd->name); |
1270 js->commands = g_list_delete_link(js->commands, js->commands); | 1279 js->commands = g_list_delete_link(js->commands, js->commands); |
1271 } | 1280 } |
1272 g_free(js->server_name); | 1281 g_free(js->server_name); |
1273 g_free(js->gmail_last_time); | 1282 g_free(js->gmail_last_time); |
1274 g_free(js->gmail_last_tid); | 1283 g_free(js->gmail_last_tid); |
1275 if(js->old_msg) | 1284 g_free(js->old_msg); |
1276 g_free(js->old_msg); | 1285 g_free(js->old_avatarhash); |
1277 if(js->old_avatarhash) | 1286 g_free(js->old_artist); |
1278 g_free(js->old_avatarhash); | 1287 g_free(js->old_title); |
1279 if(js->old_artist) | 1288 g_free(js->old_source); |
1280 g_free(js->old_artist); | 1289 g_free(js->old_uri); |
1281 if(js->old_title) | 1290 g_free(js->old_track); |
1282 g_free(js->old_title); | 1291 |
1283 if(js->old_source) | |
1284 g_free(js->old_source); | |
1285 if(js->old_uri) | |
1286 g_free(js->old_uri); | |
1287 if(js->old_track) | |
1288 g_free(js->old_track); | |
1289 | |
1290 g_free(js); | 1292 g_free(js); |
1291 | 1293 |
1292 gc->proto_data = NULL; | 1294 gc->proto_data = NULL; |
1293 } | 1295 } |
1294 | 1296 |