|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T p
Length: 3421 (0xd5d)
Types: TextFile
Names: »passwd.tex«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
└─⟦35176feda⟧ »EurOpenD22/isode/isode-6.tar.Z«
└─⟦de7628f85⟧
└─⟦this⟧ »isode-6.0/doc/manual/passwd.tex«
% run this through LaTeX with the appropriate wrapper
\f
\chapter {A Complete Example}\label{cook:example}
Now, let's consider a complete example.
Our application is modeled after the example given in \cite{Courier.BSD}.
In short,
we wish to implement a remote lookup facility of the \unix/ \file{/etc/passwd}
database.
\f
\section {Service Definitions}
We begin by defining the mundane naming and addressing information for the
service.
Using the ``standard'' approach described in Section~\ref{service:define},
we select:
\begin{describe}
\item[abstract syntax:] defined in the \man isobjects(5) file as:
\begin{quote}\small\begin{verbatim}
"local service pci" 1.17.2.n.1
\end{verbatim}\end{quote}
If we select \verb"n" as the lowest unassigned number in the \verb"1.17.2"
subtree, e.g., \verb"7", we might have:
\begin{quote}\small\begin{verbatim}
"isode passwd lookup pci" 1.17.2.7.1
\end{verbatim}\end{quote}
\item[application context name:] defined in the \man isobjects(5) file as:
\begin{quote}\small\begin{verbatim}
"local service" 1.17.2.n.2
\end{verbatim}\end{quote}
Similarly, for a value of \verb"7" for \verb"n", we have:
\begin{quote}\small\begin{verbatim}
"isode passwd lookup" 1.17.2.7.2
\end{verbatim}\end{quote}
\item[{\small application-entity information/presentation address:}]
defined with:
\begin{quote}\small\begin{verbatim}
default servicestore 1.17.4.1.n "" "" #p
\end{verbatim}\end{quote}
in the \man isoentities(5) file.
If we select \verb"p" as the lowest unassigned TSAP ID between \verb"1024"
and \verb"2047" inclusive, e.g., \verb"1040", we might have:
\begin{quote}\small\begin{verbatim}
default passwdstore 1.17.4.1.7 "" "" #1040
\end{verbatim}\end{quote}
\item[local program:] defined in the \man isoservices(5) file as:
\begin{quote}\small\begin{verbatim}
"tsap/local service" #p program arg1 arg2 ... argN
\end{verbatim}\end{quote}
If we select \pgm{ros.lookup} as the \unix/ program implementing this
service,
we might have something like:
\begin{quote}\small\begin{verbatim}
"tsap/isode passwd" #1040 ros.lookup
\end{verbatim}\end{quote}
\end{describe}
\f
\section {Remote Operations Module}
The remote operations module for the service is placed in \file{lookup.ry}.
This file shown in Figure~\ref{passwd:rom} starting on
page~\pageref{passwd:rom}.
The \file{Makefile} for the service is shown in Figure~\ref{passwd:make}
starting on page~\pageref{passwd:make}.
\newpage
\tagrindfile{passwd-ops}%
{Remote Operations Module for the Password Lookup Service}{passwd:rom}
\newpage
\tagrindfile{passwd-make}{Makefile for the Password Lookup Service}%
{passwd:make}
\newpage
\f
\section {Interactive Initiator}\label{passwd:initiator}
The interactive initiator of the service is placed in \file{lookup.c}.
This file is shown in Figure~\ref{passwd:init} starting on
page~\pageref{passwd:init}.
\tagrindfile{passwd-init}{Initiator for the Password Lookup Service}%
{passwd:init}
\newpage
\f
\section {Responder}\label{passwd:responder}
The responder for the service is placed in \file{lookupd.c}.
This file is shown in Figure~\ref{passwd:resp} starting on
page~\pageref{passwd:resp}.
Note that if actual network addresses were associated with the service
definitions made earlier,
then the responder could operate using the static discipline.
\tagrindfile{passwd-resp}{Responder for the Password Lookup Service}%
{passwd:resp}