pike.git
/
lib
/
modules
/
Protocols.pmod
/
DNS.pmod
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/lib/modules/Protocols.pmod/DNS.pmod:1:
-
// $Id: DNS.pmod,v 1.
94
2008/
01
/
31
22
:
45
:
09
grubba Exp $
+
// $Id: DNS.pmod,v 1.
95
2008/
03
/
10
13
:
41
:
11
grubba Exp $
// Not yet finished -- Fredrik Hubinette //! Domain Name System //! RFC 1035 #pike __REAL_VERSION__ constant NOERROR=0; constant FORMERR=1; constant SERVFAIL=2;
pike.git/lib/modules/Protocols.pmod/DNS.pmod:1123:
} else { m=do_sync_query(mkquery(host, C_IN, T_MX)); } if (!m) { return 0; } int minpref=29372974; string ret; foreach(m->an, mapping m2) {
-
if(m2->preference<minpref)
+
if(m2->
mx && m2->
preference<minpref)
{ ret=m2->mx; minpref=m2->preference; } } return ret; } array(string) get_mx(string host) {
pike.git/lib/modules/Protocols.pmod/DNS.pmod:1151:
if(m && m->an && sizeof(m->an)) break; } } } else { m = do_sync_query(mkquery(host, C_IN, T_MX)); } if (!m) { return 0; }
-
array a = m->an;
+
array a =
filter(
m->an
, `[], "mx")
;
array(string) b = column( a, "mx"); sort( column( a, "preference"), b); return b; } } #define REMOVE_DELAY 120 #define GIVE_UP_DELAY (RETRIES * RETRY_DELAY + REMOVE_DELAY)*2