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

version» Context lines:

pike.git/lib/modules/Protocols.pmod/DNS.pmod:556:    mapping do_sync_query(string s)    {    object udp = Stdio.UDP();    udp->bind(0);    mapping m;    int i;    for (i=0; i < RETRIES; i++) {    udp->send(nameservers[i % sizeof(nameservers)], 53, s);       while (udp->wait(RETRY_DELAY)) { +  // udp->read() can throw an error on connection refused. +  catch {    m = udp->read();    if ((m->port == 53) &&    (m->data[0..1] == s[0..1]) &&    (search(nameservers, m->ip) != -1)) {    // Success.    return decode_res(m->data);    } -  +  };    }    }    // Failure.    return 0;    }       //!    //! method array gethostbyname(string hostname)    //! method array gethostbyaddr(string hostip)    //! Querys the host name or ip from the default or given