home | realbasic | download | project page

RB DNS is a complete DNS resolver written in pure REALbasic. RB DNS is portable to Windows and Mac OS (Classic and OS X), and soon Linux. No external DNS libraries are used; all DNS query generation and response parsing is performed in RB code. Since it is a complete resolver, all types of DNS query are supported (e.g MX, IP, reverse lookup etc.). Some basic response generation code is included, meaning that the classes could be used as the basis for a DNS server.

RB DNS is in the public domain and so can be used in any way you want without recognition or licence. True freedom doesn't limit anybody from using anything anyway they need.

How do I use it?
Take a look at the sample project, wait until some decent documentation is written (why is it always the last thing anyone does?) or read the quick setup guide here:
1. Include ALL the RB DNS (aka SL [Slate] DNS) classes and interfaces.
2. Make a subclass of SLDNSTCPSocket.
3. Fill in code in the "queryComplete" event (should access "me.response.answers" - an array of answer records of type SLDNSResource).
4. Queries can be performed by calling the "sendQuery" method of your SLDNSTCPSocket subclass. This will fire the "queryComplete" event once a query has been completed.
5. If you're lazy, the parameter for the "sendQuery" method (an SLDNSMessage object) can be constructed by calling SLDNSConstructLookup and passing the domain name as a parameter.

It may sound a little complex, but it's really actually very easy. Plus, unlike other plugin or library based DNS solutions, this library gives you full access to the entire DNS server response (including authority records and additional records).

How do I get involved, and/or how do I contact the author of this project?
Email me: willcannings@users.sourceforge.net