| 478 |
478 |
| 479 purple_debug_info("jabber", "got %d SRV responses for STUN.\n", results); |
479 purple_debug_info("jabber", "got %d SRV responses for STUN.\n", results); |
| 480 js->srv_query_data = NULL; |
480 js->srv_query_data = NULL; |
| 481 |
481 |
| 482 if (results > 0) { |
482 if (results > 0) { |
| |
483 PurpleAccount *account; |
| 483 purple_debug_info("jabber", "looking up IP for %s:%d\n", |
484 purple_debug_info("jabber", "looking up IP for %s:%d\n", |
| 484 resp[0].hostname, resp[0].port); |
485 resp[0].hostname, resp[0].port); |
| |
486 account = purple_connection_get_account(js->gc); |
| 485 js->stun_query = |
487 js->stun_query = |
| 486 purple_dnsquery_a(resp[0].hostname, resp[0].port, |
488 purple_dnsquery_a_account(account, resp[0].hostname, resp[0].port, |
| 487 jabber_disco_stun_lookup_cb, js); |
489 jabber_disco_stun_lookup_cb, js); |
| 488 } |
490 } |
| 489 } |
491 } |
| 490 |
492 |
| 491 |
493 |
| 546 jabber_google_send_jingle_info(js); |
548 jabber_google_send_jingle_info(js); |
| 547 } |
549 } |
| 548 } else if (purple_network_get_stun_ip() == NULL || |
550 } else if (purple_network_get_stun_ip() == NULL || |
| 549 purple_strequal(purple_network_get_stun_ip(), "")) { |
551 purple_strequal(purple_network_get_stun_ip(), "")) { |
| 550 js->srv_query_data = |
552 js->srv_query_data = |
| 551 purple_srv_resolve("stun", "udp", js->user->domain, |
553 purple_srv_resolve_account( |
| |
554 purple_connection_get_account(js->gc), "stun", "udp", |
| |
555 js->user->domain, |
| 552 jabber_disco_stun_srv_resolve_cb, js); |
556 jabber_disco_stun_srv_resolve_cb, js); |
| 553 /* TODO: add TURN support later... */ |
557 /* TODO: add TURN support later... */ |
| 554 } |
558 } |
| 555 } |
559 } |
| 556 |
560 |