Hi Martin, > > - report on his dns resolver work > I'm interested in this, could you please share some more details here on the > mailing list? Sure, if there is much to share :-)
You can watch my progress here: https://code.launchpad.net/~jsvoboda/helenos/dnsr http://trac.helenos.org/ticket/189 At the time of the meeting all I had was a stub with a header file dns_std.h with definitions from the RFC standard and another header dns_msg.h. In a similar fashion to other network services, dns_msg.h defines a more high-level representation of DNS requests, with the strategy to encode and decode them just before transmission / after reception. The resolver will be implemented as a service 'dnsres' which might also perform caching in the future. An application wishing to use it will naturally call a wrapper from the C library to communicate with the service. I haven't drafted an API yet, but it will be probably something original and I will add a BSD-style wrapper (gethostbyname()) when/where needed, later. For transport I will only support UDP first, then add TCP later (will use the sockets API for now). Internally the server will be structured into a 'transport' layer which will take care of selecting the proper DNS server, UDP/TCP (un)wrapping, retrying and timing out. It will probably also encode/decode the message between the serialized form and the high-level (dns_message_t) representation and matching requests and responses. Requests and responses are matched using the ID field in the DNS message header. On top of the transport layer there will be the implementation of the actual user requests (e.g. get the address corresponding to a host name) that will compose the necessary DNS request (in the high-level form) and pass it to the transport layer. Since the meeting I've had some chance to continue my work on this, I have implemented enough encoding to be able to compose a simple query, now I need to add a skeletal transport layer (without most of the mentioned features) to be able to actually send it. This is still uncommitted on my HD, will push when enough progress is made. Let me know if you have questions. Regards -Jiri _______________________________________________ HelenOS-devel mailing list [email protected] http://lists.modry.cz/cgi-bin/listinfo/helenos-devel
