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 |
