comparison src/protocols/simple/srvresolve.c @ 11189:5f79dfde334c

[gaim-migrate @ 13307] added UDP transport for SIP/SIMPLE committer: Tailor Script <tailor@pidgin.im>
author Thomas Butter <tbutter>
date Thu, 04 Aug 2005 09:10:11 +0000
parents e5bbe5070e04
children b073da869a55
comparison
equal deleted inserted replaced
11188:12fc7a3fbc88 11189:5f79dfde334c
25 typedef union { 25 typedef union {
26 HEADER hdr; 26 HEADER hdr;
27 u_char buf[1024]; 27 u_char buf[1024];
28 } queryans; 28 } queryans;
29 29
30 struct getserver_return *getserver(const char *domain) { 30 struct getserver_return *getserver(const char *domain, const char *srv) {
31 static struct getserver_return ret; 31 static struct getserver_return ret;
32 queryans answer; 32 queryans answer;
33 int size; 33 int size;
34 int qdcount; 34 int qdcount;
35 int ancount; 35 int ancount;
38 gchar name[256]; 38 gchar name[256];
39 gchar *bestname = NULL; 39 gchar *bestname = NULL;
40 int bestport = 5060; 40 int bestport = 5060;
41 int bestpri=99999; 41 int bestpri=99999;
42 int type, dlen, pref, weight, port; 42 int type, dlen, pref, weight, port;
43 gchar *query = g_strdup_printf("_sip._tcp.%s",domain); 43 gchar *query = g_strdup_printf("%s.%s",srv,domain);
44 44
45 gaim_debug_info("simple","searching for %s\r\n",domain);
46 45
47 size = res_query( query, C_IN, T_SRV, (u_char*)&answer, sizeof( answer)); 46 size = res_query( query, C_IN, T_SRV, (u_char*)&answer, sizeof( answer));
48 47
49 g_free(query); 48 g_free(query);
50 49
51 qdcount = ntohs(answer.hdr.qdcount); 50 qdcount = ntohs(answer.hdr.qdcount);
52 ancount = ntohs(answer.hdr.ancount); 51 ancount = ntohs(answer.hdr.ancount);
53 52
54 gaim_debug_info("simple","ancount %d\r\n",ancount);
55 53
56 cp = (char*)&answer + sizeof(HEADER); 54 cp = (char*)&answer + sizeof(HEADER);
57 end = (char*)&answer + size; 55 end = (char*)&answer + size;
58 56
59 // skip over unwanted stuff 57 // skip over unwanted stuff