Show
Ignore:
Timestamp:
11/27/08 16:47:02 (4 years ago)
Author:
ahu
Message:

send Lua the 'local' address too

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/pdns/pdns/pdns_recursor.cc

    r1286 r1309  
    8585g_tcpListenSockets_t g_tcpListenSockets; 
    8686int g_tcpTimeout; 
    87  
     87map<int, ComboAddress> g_listenSocketsAddresses; 
    8888struct DNSComboWriter { 
    8989  DNSComboWriter(const char* data, uint16_t len, const struct timeval& now) : d_mdp(data, len), d_now(now), d_tcp(false), d_socket(-1) 
     
    540540    int res; 
    541541 
    542     if(!g_pdl.get() || !g_pdl->preresolve(dc->d_remote, dc->d_mdp.d_qname, QType(dc->d_mdp.d_qtype), ret, res)) { 
     542    if(!g_pdl.get() || !g_pdl->preresolve(dc->d_remote, g_listenSocketsAddresses[dc->d_socket], dc->d_mdp.d_qname, QType(dc->d_mdp.d_qtype), ret, res)) { 
    543543       res = sr.beginResolve(dc->d_mdp.d_qname, QType(dc->d_mdp.d_qtype), dc->d_mdp.d_qclass, ret); 
    544544 
    545545       if(g_pdl.get()) { 
    546546         if(res == RCode::NXDomain) 
    547            g_pdl->nxdomain(dc->d_remote, dc->d_mdp.d_qname, QType(dc->d_mdp.d_qtype), ret, res); 
     547           g_pdl->nxdomain(dc->d_remote, g_listenSocketsAddresses[dc->d_socket], dc->d_mdp.d_qname, QType(dc->d_mdp.d_qtype), ret, res); 
    548548       } 
    549549    } 
     
    10481048     
    10491049    Utility::setNonBlocking(fd); 
    1050     //    g_fdm->addReadFD(fd, handleNewUDPQuestion); 
     1050 
    10511051    deferredAdd.push_back(make_pair(fd, handleNewUDPQuestion)); 
    1052  
     1052    g_listenSocketsAddresses[fd]=sin; 
    10531053    if(sin.sin4.sin_family == AF_INET)  
    10541054      L<<Logger::Error<<"Listening for UDP queries on "<< sin.toString() <<":"<<st.port<<endl;