Subject: [dnsop] Light-weight DNS resolver

From: Radhakrishnan Suryanarayanan <[email-masked]>
Date: Tue, 27 Jul 2004 12:37:10 +0530

Hi,
  Can anyone tell me where i can find a free light-weight DNS v4/v6 resolver source-code implemented using c?

Thanks & Regards
S.Radhakrishnan

---

From: bert hubert <[email-masked]>
Date: Tue, 27 Jul 2004 10:04:07 +0200

>   Can anyone tell me where i can find a free light-weight DNS v4/v6 resolver source-code implemented using c?

If you can swallow C++, the powerdns recursor is rather small, 1500 lines or
so.

-- 
http://www.PowerDNS.com      Open source, database driven DNS Software 
http://lartc.org           Linux Advanced Routing & Traffic Control HOWTO
.
dnsop resources:_____________________________________________________
web user interface: http://darkwing.uoregon.edu/~llynch/dnsop.html
mhonarc archive: http://darkwing.uoregon.edu/~llynch/dnsop/index.html

---

From: Radhakrishnan Suryanarayanan <[email-masked]>
Date: Tue, 27 Jul 2004 15:19:50 +0530

Hi,
    I would prefer a one implemented with C language.
Also "drill" is too bare minimum. Some API support along with caching will
be helpful.

Thanks & Regards
Radhakrishnan

----- Original Message ----- 
From: "bert hubert" <[email-masked]>
To: "Radhakrishnan Suryanarayanan" <[email-masked]>
Cc: <[email-masked]>
Sent: Tuesday, July 27, 2004 1:34 PM
Subject: Re: [dnsop] Light-weight DNS resolver

> >   Can anyone tell me where i can find a free light-weight DNS v4/v6
resolver source-code implemented using c?

.

---

From: Kenneth Porter <[email-masked]>
Date: Tue, 27 Jul 2004 18:21:26 -0700

> resolver source-code implemented using c?

What do you consider "light-weight"? BIND comes with a resolver claimed to 
be so. Grab the sources at the ISC website.

.

---

From: Radhakrishnan Suryanarayanan <[email-masked]>
Date: Wed, 28 Jul 2004 12:23:15 +0530

Hi,
  I want to port a DNSv4/v6 client to an embedded system.
The DNS client should have :-
(1) A Resolver
(2) Cache
(3) API support like gethostbyname,getnamebyhost and getaddrinfo.

This is what i call a light-weight DNS resolver.

BIND is very huge for use in embedded systems and also resolver & nameserver
daemon are inter-dependent.

Can anyone help me?

Thanks
Radhakrishnan
----- Original Message ----- 
From: "Kenneth Porter" <[email-masked]>
To: <[email-masked]>
Sent: Wednesday, July 28, 2004 6:51 AM
Subject: Re: [dnsop] Light-weight DNS resolver

.

---

From: Jim Reid <[email-masked]>
Date: Wed, 28 Jul 2004 09:21:37 +0100

>>>>> Radhakrishnan Suryanarayanan <[email-masked]> writes:

    >> Hi, I want to port a DNSv4/v6 client to an embedded system.
    >> The DNS client should have :- (1) A Resolver (2) Cache (3) API
    >> support like gethostbyname,getnamebyhost and getaddrinfo.

    >> BIND is very huge for use in embedded systems and also resolver
    >> & nameserver daemon are inter-dependent.

    >> Can anyone help me?

Probably not based on the info you've provided. For instance, you've
not defined what you mean by "resolver". Is it a full service resolver
like you'd find in a name server or a stub resolver that just makes
one query? [I suspect it's the latter but your reference to cache
suggests the former.] You've also not given details of the OS and
hardware constraints. Or the intended operating environment: ie what
and how this lightweight resolver is expected to get used. So it's
hardly surprising you get few pointers. Not that there are more than a
handful of open source resolvers anyway. A google search will tell you
that you've already been told about the most common implementations.

Full service resolving is hard and complex. It'll get even harder once
DNSSEC gets deployed. This is not a task for any device that has
limited resources or a primitive OS: the typical embedded system in
other words. So it will probably be best to leave the hard work of
resolving and cache management to a local name server. ie Your
embedded system just makes regular DNS queries to some local name
server. This also saves you upgrading the firmware in these embedded
systems whenever the DNS protocol gets extended, say for a new
resource record or changes to DNSSEC semantics.

Bear in mind too that a client-side cache is usually a Bad Idea. It
adds complexity and leads to inconsistency: ie stale stuff lies in
this cache long after it expired from the DNS. Is the cost of a local
cache lookup worth it? You may be as well just to make a DNS query to
the local name server without interposing some lobotomised internal
cache.
.
dnsop resources:_____________________________________________________
web user interface: http://darkwing.uoregon.edu/~llynch/dnsop.html
mhonarc archive: http://darkwing.uoregon.edu/~llynch/dnsop/index.html