dns proxy, samba 3.0.2a

Dmitry Melekhov dm at belkam.com
Fri Mar 12 09:20:31 GMT 2004


I just found why dns proxy doesn't work in samba 3.

It do dns lookup for first time and then caches value with some TTL.
Than it checks for name in cache first.
But, when TTL is expired nmbd doesn't delete name from cache!
This is why dns proxy doesn't work.
I don't know how this cache machanism works and have no enough time to 
learn :-(
So, I just did quick hack- if nmbd finds that name is expired it tries 
to resolve it with dns.

diff nmbd_winsserver.c.orig nmbd_winsserver.c

 >                       if(lp_dns_proxy() && ((question->name_type == 
0x20) || question->name_type == 0)) {
 >                               DEBUG(3,("wins_process_name_query: name 
query for name %s is expired - doing dns lookup.\n",
 >                               nmb_namestr(question) ));
 >                               queue_dns_query(p, question, &namerec);
 >                               return;
 >                       }

Certanly, this is not right way, but this works for me.

More information about the samba-technical mailing list