About Site Map Submit Contact Us Log in | Create an account
Create an account Log In
Average Rating
User Rating:
Visitors Rating:
My rating:

Write review
  • License: Freeware
  • Last update: 7 years ago
  • Total downloads: 73
  • Price: Free |
  • Operating system: Linux, Mac OS X, Win All, BSD, Solaris
  • Publisher: Everton da Silva Marques
See full specifications

scripts default iconRULI Publisher's description

RULI is a library built on top of an asynchronous DNS stub resolver.

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 goal is to promote wide deployment of SRV-cognizant software. RULI aims to fully support SRV-related standards. There are bindings for PHP, Perl, Guile/Scheme, Java, and Lua. IPv6 is supported.

- Automatic handling of SRV logic
Given a tuple, RULI fetches the corresponding SRV records and performs the required logic on them, issuing a ready-to-use list of records in a convenient format -- tuples.
- Transparent alias handling
Under certain circumstances, the SRV logic demands address queries be used as last resort mechanism; in these cases, CNAME issues may rise and must be properly dealt with. RULI handles alias records (CNAMEs) transparently.
- Service-specific support
SRV logic may be affected by a service specification. For instance, SRV support for HTTP service requires special behavior to handle the port number in URIs. RULI currently obeys such HTTP requirement and is intended to implement support for other special cases as soon as they're defined.
- IPv6-ready
As of version 0.25, RULI is fully able (1) to perform queries over IPv6 transport and (2) to fetch IN AAAA resource records. It's possible to disable IPv6 support if desired.
- Asynchronous event-based behavior
RULI's standard behavior is asynchronous. It's possible to handle many queries concurrently. This is designed for event-driven applications.
- Synchronous API
RULI provides a simpler API for synchronous (blocking) queries. It's easier to use, but blocking on name solving may not be acceptable for some applications. Also, multi-threaded applications are supposed to use the synchronous API, for thread-safety.
- Back-off to TCP mode
RULI automatically switches to TCP mode when resquested by the truncation bit of an UDP answer.
- No need for user-supplied input buffers
The underlying resolver used by RULI delivers answers in dynamic buffers of correct size. This avoids: (1) the need for user-provided buffers, (2) the application job of guessing/finding proper buffer sizes, (3) wasting memory.
- 8-bit clean domain names
RULI does not impose further restrictions on the valid characters for domain names. It's up to the application to build the query name and (later) to properly deal with characters returned in domain labels.
- Configurable round-robin retry of multiple recursive name servers
For server fail-over, RULI queries a list of name servers in a round-robin fashion. Each server is considered up to a specified number of retries.
- Explicit opaque state
RULI's state is stored under an opaque data structures explicitly allocated by the user. Thus a single program can manage multiple instances of the library simultaneously.

System Requirements:

В· DNS recursive resolver
В· liboop

Program Release Status:
Program Install Support: Install Only

Is RULI your software?

Manage your software

Most Popular

scripts default icon MBOT 5.2.0
MBOT application is an IRC bot coded in C .
scripts default icon Webalizer (Scripts) 2.23-03
The Webalizer is a fast, free web server log file analysis program.
scripts default icon OpenGl 3D 1.1
OpenGl 3D it! can generate 3D surface and terrain from a video source with image processing technique.
scripts default icon Weechat 0.2.4
Weechat is a modern IRC client, based on a text interface.
scripts default icon A Win Chat 1.1
A Win Chat is a chat program that works over the internet and LAN.