This is the mail archive of the
mailing list for the Cygwin project.
Re: How to deal with DHCP and DNS(-tools)?
- From: "Pierre A. Humblet" <pierre dot humblet at ieee dot org>
- To: cygwin at cygwin dot com
- Cc: Olaf dot Foellinger at sesa dot net
- Date: Tue, 4 Jan 2005 12:04:42 -0500
- Subject: Re: How to deal with DHCP and DNS(-tools)?
- References: <20050103205224.GA2696@sesa.net>
On Mon, Jan 03, 2005 at 09:52:24PM +0100, Olaf F?llinger wrote:
> 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
rename (_PATH_RESCONF, _PATH_RESCONF ".bak");
fd = fopen (_PATH_RESCONF, "wb");
_res.options |= RES_DEBUG; So you can see what happens
/* Print domain name */
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