Projects / Resolver User Layer Interface

Resolver User Layer Interface

RULI stands for Resolver User Layer Interface. It's a library built on top of an asynchronous DNS stub resolver. RULI provides an easy-to-use interface for querying DNS SRV resource records. The main goal is to promote wide deployment of SRV-cognizant programs. RULI aims to automatically perform all the SRV logic described by RFC 2782, and to comply with related specifications. As a side-effect, RULI also provides a general-purpose, event-driven, asynchronous, stub DNS resolver. There are bindings for Perl, PHP, Guile/Scheme, Java, and Lua. IPv6 is supported.

Operating Systems

Recent releases

  •  21 Jul 2005 16:01

    Release Notes: An option for allowing CNAME in SRV targets has been added. Some minor bugs have been fixed.

    •  17 Jun 2005 14:49

      Release Notes: This release adds support for RFC3484 destination address selection rules and changes ruli_getaddrinfo() to respect the address family specified in hints.

      •  27 Oct 2004 04:59

        Release Notes: Fallback MX records are now sorted by priority, and IPv6 addresses are delivered before IPv4 addresses by default. A binding for the Lua language has been added, and specific support for HTTP queries has been added.

        •  05 Oct 2004 08:13

          Release Notes: A Java interface has been added and the Perl module has been moved to Net::RULI to match the CPAN namespace.

          •  15 Aug 2004 10:34

            Release Notes: An extension for Guile/Scheme has been added.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.