Mercurial > pidgin
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 |