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

version» Context lines:

pike.git/lib/modules/Protocols.pmod/DNS.pmod:206:    return m;    }   };         class client {    inherit protocol;       static private int is_ip(string ip)    { -  return(replace(rest, +  return(replace(ip,    ({ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "." }), -  ({ "", "", "", "", "", "", "", "", ""; "", "" })) == ""); +  ({ "", "", "", "", "", "", "", "", "", "", "" })) == "");    }       static private mapping etc_hosts;       static private string match_etc_hosts(string host)    {    if (!etc_hosts) {    string raw = Stdio.read_file("/etc/hosts");    -  etc_hosts = ([ "localhost", "127.0.0.1" ]); +  etc_hosts = ([ "localhost":"127.0.0.1" ]);       if (raw) {    foreach(raw/"\n", string line) {    // Handle comments, and split the line on white-space -  line = replace((line/"#")[0], "\t", " "); +  line = lower_case(replace((line/"#")[0], "\t", " "));    array arr = (line/" ") - ({ "" });       if (sizeof(arr) > 1) {    if (is_ip(arr[0])) { -  foreach(arr[1..], name) { +  foreach(arr[1..], string name) {    etc_hosts[name] = arr[0];    }    } else {    // Bad /etc/hosts entry ignored.    }    }    }    } else {    // Couldn't read /etc/hosts.    }    } -  return(etc_hosts[host]); +  return(etc_hosts[lower_case(host)]);    }       array(string) nameservers = ({});    array domains = ({});    void create(void|string server)    {    if(!server)    {    string domain;    string resolv_conf = Stdio.read_file("/etc/resolv.conf");
pike.git/lib/modules/Protocols.pmod/DNS.pmod:299:    nameservers += ({ rest });    }    break;    }    }    if (!sizeof(nameservers)) {    nameservers = ({ "127.0.0.1" });    }    if(domain)    domains = ({ domain }) + domains; +  domains = Array.map(domains, lambda(string d) { +  if (d[-1] == '.') { +  return d[..sizeof(d)-2]; +  } +  return d; +  });    } else {    nameservers= ({ server });    }    }          // Warning: NO TIMEOUT    mapping do_sync_query(string s)    {    object udp=spider.dumUDP();