parent
2bb48917a2
commit
090a91be0e
|
@ -7,11 +7,19 @@
|
|||
%
|
||||
\section{Overview}
|
||||
The \ex{dns} structure contains a library for querying DNS servers.
|
||||
The library contains sophisticated replacements for scsh's interface
|
||||
to the \ex{gethostbyname} and \ex{gethostbyaddr} and many extensions
|
||||
to these functions.
|
||||
|
||||
Features:
|
||||
The main features of the libraray include:
|
||||
\begin{itemize}
|
||||
\item Complete implementation of the DNS protocol
|
||||
\item Concurrent contacting of multiple DNS servers without blocking
|
||||
the scsh process
|
||||
\item Internal caching of DNS responses
|
||||
\item Parsing of \texttt{resolv.conf}, including \texttt{search}
|
||||
entries. This enables looking up the FQDN of a host.
|
||||
entries to generate FQDNs from unqualified host names
|
||||
\item Rich condition hierarchie
|
||||
\end{itemize}
|
||||
|
||||
\section{Conditions}
|
||||
|
@ -100,27 +108,25 @@ accept. \var{Nameserver} is either a \ipaddr or a dotted IP string.
|
|||
\begin{desc}
|
||||
Looks up the FQDN for the given IP address. The optional argument
|
||||
specifes the name servers to query, it defaults to the ones found in
|
||||
\texttt{/etc/resolv.conf}. \oops{use-cache? is not implemented yet}
|
||||
\texttt{/etc/resolv.conf}.
|
||||
\end{desc}
|
||||
|
||||
\defun{dns-lookup-nameserver}{name/\ipaddr [nameserver list][use-cache?]}{\ipaddr list}
|
||||
\begin{desc}
|
||||
Looks up an authoritative name server for a hostname, returns a list
|
||||
of name servers. The optional argument specifes the name servers to
|
||||
query, it defaults to the ones found in
|
||||
\texttt{/etc/resolv.conf}\oops{use-cache? is not implemented yet}
|
||||
of name servers.
|
||||
\end{desc}
|
||||
|
||||
\defun{dns-lookup-mail-exchanger}{name/\ipaddr [nameserver list][use-cache?]}{\fqdn list}
|
||||
\begin{desc}
|
||||
Looks up mail-exchangers for a hostname und returns them in a list
|
||||
sorted by preference. \oops{use-cache? is not implemented yet}
|
||||
sorted by preference.
|
||||
\end{desc}
|
||||
\defun{socket-address->fqdn}{socket-address [nameserver list][use-cache?]}{\fqdn}
|
||||
\begin{desc}
|
||||
Returns the FQDN for of the address bound to argument. The argument
|
||||
\var{cache?} indicates whether the internal cache may be queried to
|
||||
obtain the information.\oops{use-cache? is required by the implmentation}
|
||||
obtain the information.
|
||||
\end{desc}
|
||||
|
||||
\defun{maybe-dns-lookup-name}{name [nameserver list][use-cache?]}{\ipaddr or \sharpf}
|
||||
|
@ -128,7 +134,7 @@ accept. \var{Nameserver} is either a \ipaddr or a dotted IP string.
|
|||
\begin{desc}
|
||||
These procedures provide the same functionality as
|
||||
\ex{dns-lookup-name} and \ex{dns-lookup-ip} but return \sharpf{} in
|
||||
case of an \ex{dns-error}.\oops{optional arguments not implemented yet}
|
||||
case of an \ex{dns-error}.
|
||||
\end{desc}
|
||||
|
||||
\defun{host-fqdn} {name/socket-address [nameserver list][use-cache?]}{\fqdn}
|
||||
|
@ -139,7 +145,7 @@ accept. \var{Nameserver} is either a \ipaddr or a dotted IP string.
|
|||
address. The procedure \ex{system-fqdn} returns the FQDN of the
|
||||
local host. These procedures use a list of domain names obtained
|
||||
from \texttt{/etc/resolv.conf} to the generate FQDNs and try to
|
||||
resolve these FQDNs.\oops{optional arguments not implemented yet}
|
||||
resolve these FQDNs.
|
||||
\end{desc}
|
||||
|
||||
\section{Low-level Interface}
|
||||
|
@ -165,8 +171,7 @@ generating the \var{dns-message}.
|
|||
answer is not authoritative additional name servers sent with the
|
||||
reply are checked until an authoritative answer is found. If the
|
||||
predicate returns \sharpf{} but the answer is authoritative a
|
||||
\var{bad-address} condition is signalled. \oops{order of parameters
|
||||
differs in implementation}
|
||||
\var{bad-address} condition is signalled.
|
||||
\end{desc}
|
||||
|
||||
\dfn{network-protocol}{protocol-name}{network-protocol}{syntax}
|
||||
|
@ -179,7 +184,7 @@ generating the \var{dns-message}.
|
|||
\defun{dns-lookup}{\fqdn{}/\ipaddr type [nameserver list][use-cache?]}{dns-message}
|
||||
\begin{desc}
|
||||
Convenient shortcut to submit a DNS query. The return value
|
||||
is a \ex{dns-message} structure:\oops{optional arguments not implemented yet}
|
||||
is a \ex{dns-message} structure:
|
||||
\end{desc}
|
||||
|
||||
\defun{dns-message?}{thing}{\boolean}
|
||||
|
@ -421,7 +426,6 @@ field but we where no able to find test cases for them.
|
|||
subtype of the \var{dns-error} condition.
|
||||
\ex{resolv.conf-parse-error?} is the type predicate for this
|
||||
condition.
|
||||
\oops{this is not implemented yet}
|
||||
\end{desc}
|
||||
|
||||
\defun{resolv.conf}{}{{symbol$\rightarrow$string} alist}
|
||||
|
|
Loading…
Reference in New Issue