pike.git / lib / modules / Protocols.pmod / DNS.pmod

version» Context lines:

pike.git/lib/modules/Protocols.pmod/DNS.pmod:1: - // $Id: DNS.pmod,v 1.74 2006/12/11 16:03:15 bill Exp $ + // $Id: DNS.pmod,v 1.75 2008/03/10 13:41:19 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:943:    } 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:971:    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