Hi All,
Can anyone tell me about a library that helps me to read contents from /etc/resolv.conf file and also update the same file with new entries. Does this possible with Resolver library routines? Any useful links or sample programs regarding this? Thanks in advance.
Renjith

Recommended Answers

All 5 Replies

The conf file is just a textfile, so you can use standard c++ file-acces:

#include <fstream>

[....]

std::ifstream in_file("/etc/resolv.conf");
if (!in_file.is_open())
    std::cout << "error opening file";
else
    // do stuff

Thanks for your reply. I have to use libraries to open this file.
With the help of the library routines I can add name server,
read the contents etc. Does this possible with Resolver library(http://swoolley.org/man.cgi/resolver)? Please let me know,
if need more info.

Hi,
Hi All,
Can anyone tell me about a library that helps me to read contents from /etc/resolv.conf file and also update the same file with new entries. Does this possible with Resolver library routines? Any useful links or sample programs regarding this? Thanks in advance.
Renjith

resolv.conf stores the DNS Servers your system should use, in plain text. Why would you want a special library to read it ???

If you look at the man resolv.conf, you can see different configuration options. I have to use some of those options. Is it possible to do with the 'resolver', a set of routines in the C library. Can I use those set of routines in my program to access/update resolv.conf file? or any other library available to do this?

Although I have never tried it, I have read the manual pages of both resolv.conf and resolver, and I found the following line which would interest you :-
This is from the resolv.conf manual page.

The resolver is a set of routines in the C library that provide access to the Internet Domain Name System (DNS). The resolver configuration file contains information that is read by the resolver routines the first time they are invoked by a process.

And this is from the resolver manual page:-

The res_init() function reads the configuration files (see resolv.conf(5)) to get the default domain name, search order and name server address(es). If no server is given, the local host is tried. If no domain is given, that associated with the local host is used. It can be overridden with the environment variable LOCALDOMAIN. res_init() is normally executed by the first call to one of the other functions.

So I guess you can read the resolv.conf file using resolver but I could not find any method that would actually write back to it.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.