|
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}