>>>>> Radhakrishnan Suryanarayanan <[EMAIL PROTECTED]> 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.
>> 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?
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