On Mon, Jan 03, 2005 at 09:52:24PM +0100, Olaf F?llinger wrote: > Hi, > > on my notebook with WinXP I'm using cygwin day by day. I receive the ip > configuration by dhcp from windows. While most of the cygwins tools have > no problem the dns tools(host, dig,...) seems to insist on a working > /etc/resolv.conf. Does anyone have a automatic solution for updating > this file with the current settings? You could write a program using minires. It should call res_init to initialize the _res structure and then print the fields to /etc/resolv.conf, as sketched below.
Note that if /etc/resolv.conf exists, then minires will use it in preference to the Windows values. Thus /etc/resolv must be renamed in your program. Also /etc/resolv.conf will affect applications using minires. On Win2000 and XP they will call the nameservers specified in /etc/resolv.conf instead of using the native Windows resolver, except if the "options" line in /etc/resolv.conf contains the "osquery" keyword. Pierre #include <stdio.h> #include <netinet/in.h> #include <netdb.h> #include <resolv.h> main() { FILE *fd; int i; rename (_PATH_RESCONF, _PATH_RESCONF ".bak"); fd = fopen (_PATH_RESCONF, "wb"); _res.options |= RES_DEBUG; So you can see what happens res_init (); /* Print domain name */ if (_res.defdname[0]) fprintf (fd, "domain %s", _res.defdname); /* Print search list */ for (i=0; _res.dnsrch[i]; i++) fprintf(fd, ..., _res.dnsrch[i]); /* Print name server addresses */ for (i=0; i < _res.nscount; i++) fprintf (fd, ..., _res.nsaddr_list[i]...); } -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/