Difference between revisions of "RFC1373"

From RFC-Wiki
imported>Admin
(Created page with " Network Working Group T. Tignor Request for Comments: 1373 ISI ...")
 
Line 1: Line 1:
 
  
  
Line 8: Line 7:
 
Request for Comments: 1373                                            ISI
 
Request for Comments: 1373                                            ISI
 
                                                           October 1992
 
                                                           October 1992
 
  
 
                           PORTABLE DUAs
 
                           PORTABLE DUAs
 
 
Status of this Memo
 
Status of this Memo
 
 
This memo provides information for the Internet community.  It does
 
This memo provides information for the Internet community.  It does
 
not specify an Internet standard.  Distribution of this memo is
 
not specify an Internet standard.  Distribution of this memo is
 
unlimited.
 
unlimited.
 
 
INTRODUCTION
 
INTRODUCTION
 
 
This document comes in two parts. The first part is for regular
 
This document comes in two parts. The first part is for regular
 
people who wish to set up their own DUAs (Directory User Interfaces)
 
people who wish to set up their own DUAs (Directory User Interfaces)
Line 34: Line 28:
 
instructions for the first time and have a working DUA
 
instructions for the first time and have a working DUA
 
package/supporting service when he finishes.
 
package/supporting service when he finishes.
 
 
The document currently has four sub-parts for each larger part. The
 
The document currently has four sub-parts for each larger part. The
 
sub-parts detail the following DUAs: WHOIS, "de," dixie's "ud" and
 
sub-parts detail the following DUAs: WHOIS, "de," dixie's "ud" and
 
ISODE's "doog." It is intended that additional sub-parts will be
 
ISODE's "doog." It is intended that additional sub-parts will be
 
added to the document as new, portable DUA packages are designed.
 
added to the document as new, portable DUA packages are designed.
 
 
Where pertinent, the document assumes ISODE 8.0 is being used.
 
Where pertinent, the document assumes ISODE 8.0 is being used.
 
 
1.  Instructions for DUA-Users
 
1.  Instructions for DUA-Users
 
 
WHOIS
 
WHOIS
 
 
A WHOIS interface to X.500 may be available on any ISODE-resident
 
A WHOIS interface to X.500 may be available on any ISODE-resident
 
machine which also runs a DSA (Directory System Agent.) Check with
 
machine which also runs a DSA (Directory System Agent.) Check with
 
your local, ISODE-maintainer. If the service is available, users can
 
your local, ISODE-maintainer. If the service is available, users can
 
access the Directory with the following command:
 
access the Directory with the following command:
 +
    whois -h <hostname> <name in UFN format>
 +
  
    whois -h <hostname> <name in UFN format>
 
  
  
Line 64: Line 54:
 
(Attribute types are omitted.) The criteria for identifying DN
 
(Attribute types are omitted.) The criteria for identifying DN
 
components in UFN is often less stringent than normal.  For example:
 
components in UFN is often less stringent than normal.  For example:
 
 
     @c=US@st=California@o=Information Sciences
 
     @c=US@st=California@o=Information Sciences
 
     Institute@ou=HPCC@cn=Tom Tignor
 
     Institute@ou=HPCC@cn=Tom Tignor
 
 
could be uniquely specified in UFN syntax as
 
could be uniquely specified in UFN syntax as
 
 
     tignor,isi,ca,us
 
     tignor,isi,ca,us
 
 
So to find this entry through WHOIS, one would type:
 
So to find this entry through WHOIS, one would type:
 
 
     whois -h "gum.isi.edu" tignor,isi,ca,us
 
     whois -h "gum.isi.edu" tignor,isi,ca,us
 
 
See Steve Hardcastle-Kille's Work in Progress, "User Friendly Naming"
 
See Steve Hardcastle-Kille's Work in Progress, "User Friendly Naming"
 
for details.
 
for details.
 
  
 
De
 
De
 
 
Use of the "de" DUA is fully explained by the program's help section.
 
Use of the "de" DUA is fully explained by the program's help section.
 
New users should type "?" at the first prompt after installing and
 
New users should type "?" at the first prompt after installing and
 
running the de executable.
 
running the de executable.
 
 
The de executable can be created and installed by the following
 
The de executable can be created and installed by the following
 
simple steps:
 
simple steps:
 
 
     If you do not have a file called ".unknown_tailor" in your home
 
     If you do not have a file called ".unknown_tailor" in your home
 
     directory, create it now. This file should contain the following
 
     directory, create it now. This file should contain the following
 
     single line:
 
     single line:
 
           etcpath:  <fullpathname>/isode/etc/
 
           etcpath:  <fullpathname>/isode/etc/
 
 
     where <fullpathname> is the full path name of your $HOME
 
     where <fullpathname> is the full path name of your $HOME
 
     directory.
 
     directory.
 
 
     If you do not have a directory $HOME/isode/bin, where "$HOME" is
 
     If you do not have a directory $HOME/isode/bin, where "$HOME" is
 
     your home directory, create it now.
 
     your home directory, create it now.
 
 
     ftp the compressed tar file "de-portable.tar.Z" from your local,
 
     ftp the compressed tar file "de-portable.tar.Z" from your local,
 
     ISODE-resident machine and put it in your isode directory. If
 
     ISODE-resident machine and put it in your isode directory. If
 
     you cannot find this file locally, it is available by anonymous
 
     you cannot find this file locally, it is available by anonymous
 +
 +
  
  
Line 112: Line 91:
  
 
     ftp from "gum.isi.edu" in the "x500" directory.
 
     ftp from "gum.isi.edu" in the "x500" directory.
 
 
     cd $HOME/isode
 
     cd $HOME/isode
 
 
     uncompress < de-portable.tar.Z | tar xf -
 
     uncompress < de-portable.tar.Z | tar xf -
 
 
     If your name is listed in the Directory, edit the de/detailor
 
     If your name is listed in the Directory, edit the de/detailor
 
     file and add a line reading:
 
     file and add a line reading:
 
           username: <yourDN>
 
           username: <yourDN>
 
 
     where <yourDN> indicates your Distinguished Name in the
 
     where <yourDN> indicates your Distinguished Name in the
 
     Directory.
 
     Directory.
 
 
     cp de/detailor de/etc/detailor
 
     cp de/detailor de/etc/detailor
 
 
     Edit the CONFIG.make variables BINDIR, ETCDIR and SBINDIR to
 
     Edit the CONFIG.make variables BINDIR, ETCDIR and SBINDIR to
 
     refer to your isode/bin, isode/etc and isode/etc directories,
 
     refer to your isode/bin, isode/etc and isode/etc directories,
 
     respectively.  (The isode/etc directory was created by the
 
     respectively.  (The isode/etc directory was created by the
 
     previous command.)
 
     previous command.)
 
 
     ranlib libdsap.a
 
     ranlib libdsap.a
 
 
     ranlib libisode.a
 
     ranlib libisode.a
 
 
     cd de
 
     cd de
 
 
     ./make all
 
     ./make all
 
 
     ./make inst-all
 
     ./make inst-all
 
 
There is one error you may encounter during this procedure, following
 
There is one error you may encounter during this procedure, following
 
the "./make all" command:
 
the "./make all" command:
 
 
     "Redeclaration of sprintf." in general.h
 
     "Redeclaration of sprintf." in general.h
 
 
If this error occurs, the following sub-procedure will fix the
 
If this error occurs, the following sub-procedure will fix the
 
problem:
 
problem:
 
 
     Invoke your editor for the file ../h/general.h
 
     Invoke your editor for the file ../h/general.h
 
 
     Search for the string "sprintf".
 
     Search for the string "sprintf".
 
 
     Cut the line with the "#endif" string which follows the line
 
     Cut the line with the "#endif" string which follows the line
 
     reading:
 
     reading:
 
           char *sprintf ();
 
           char *sprintf ();
 
 
     Paste the line under the line which reads "#endif". This second
 
     Paste the line under the line which reads "#endif". This second
 
     #endif line is exactly three lines below the current line.
 
     #endif line is exactly three lines below the current line.
 +
 +
  
  
Line 165: Line 128:
  
 
     Save the file and quit the editor.
 
     Save the file and quit the editor.
 
 
Type "./make all" again. It should now compile smoothly. Finish up by
 
Type "./make all" again. It should now compile smoothly. Finish up by
 
typing "./make inst-all".
 
typing "./make inst-all".
 
  
 
Dixie/Ud
 
Dixie/Ud
 
 
The "ud" DUA is designed for users doing most of their X.500 queries
 
The "ud" DUA is designed for users doing most of their X.500 queries
 
in one branch of the DIT (Directory Information Tree.) The DUA
 
in one branch of the DIT (Directory Information Tree.) The DUA
Line 177: Line 137:
 
branches above the entries to be queried. The base is usually an
 
branches above the entries to be queried. The base is usually an
 
organization name, such as:
 
organization name, such as:
 
 
     @c=US@st=California@o=Information Sciences Institute
 
     @c=US@st=California@o=Information Sciences Institute
 
 
Ud starts with a preset base. (See below.) But this base can be
 
Ud starts with a preset base. (See below.) But this base can be
 
changed with the "cb" command. "cb" takes the full DN of the new base
 
changed with the "cb" command. "cb" takes the full DN of the new base
 
as an argument. For example:
 
as an argument. For example:
 
 
     cb @c=GB@o=University College London
 
     cb @c=GB@o=University College London
 
 
With a preset base, searching is easy. The user finds entries below
 
With a preset base, searching is easy. The user finds entries below
 
the base with the "find" command. "find" takes the last component of
 
the base with the "find" command. "find" takes the last component of
Line 192: Line 148:
 
return the desired data or a clarification request if the name is at
 
return the desired data or a clarification request if the name is at
 
all close to the real thing.
 
all close to the real thing.
 
 
For example, with a base "@c=US@st=California@o=Information Sciences
 
For example, with a base "@c=US@st=California@o=Information Sciences
 
Institute", the RDN
 
Institute", the RDN
 
 
     ou=HPCC@cn=Tom Tignor
 
     ou=HPCC@cn=Tom Tignor
 
 
could be found by entering
 
could be found by entering
 
 
     find tignor
 
     find tignor
 
 
at the ud prompt.
 
at the ud prompt.
 
 
Other commands in ud are briefly described by the program's help
 
Other commands in ud are briefly described by the program's help
 
section. Interested users should type "?" at the first prompt, after
 
section. Interested users should type "?" at the first prompt, after
 
installing and running the executable.
 
installing and running the executable.
 
 
"Ud" comes with the "dixie" package, a mini-environment designed
 
"Ud" comes with the "dixie" package, a mini-environment designed
 
specifically to support lightweight Directory access. Using ud
 
specifically to support lightweight Directory access. Using ud
 
requires that a dixie server is running along with a DSA on your
 
requires that a dixie server is running along with a DSA on your
 
local, ISODE-resident machine. Before retrieving the dixie package,
 
local, ISODE-resident machine. Before retrieving the dixie package,
 +
 +
  
  
Line 219: Line 170:
 
check with your local DSA manager to see that the dixie server is up
 
check with your local DSA manager to see that the dixie server is up
 
and running.
 
and running.
 
 
Once you're sure that everything is set up at the DSA-manager's end,
 
Once you're sure that everything is set up at the DSA-manager's end,
 
the ud executable can be created and installed by the following
 
the ud executable can be created and installed by the following
 
simple steps:
 
simple steps:
 
 
     If you do not have a directory $HOME/isode/bin, where "$HOME" is
 
     If you do not have a directory $HOME/isode/bin, where "$HOME" is
 
     your home directory, create it now.
 
     your home directory, create it now.
 
 
     ftp (anonymously) the compressed tar file "dixie-<version
 
     ftp (anonymously) the compressed tar file "dixie-<version
 
     #>.tar.Z", where <version #> is the number of the latest
 
     #>.tar.Z", where <version #> is the number of the latest
Line 232: Line 180:
 
     directory. The file is available in the "x500" directory on
 
     directory. The file is available in the "x500" directory on
 
     terminator.
 
     terminator.
 
 
     cd $HOME/isode
 
     cd $HOME/isode
 
 
     uncompress < dixie-<version #>.tar.Z | tar xf -
 
     uncompress < dixie-<version #>.tar.Z | tar xf -
 
 
This creates the dixie environment. As a user interested in ud only,
 
This creates the dixie environment. As a user interested in ud only,
 
there are a number of things in the package that will be taking up
 
there are a number of things in the package that will be taking up
 
space to no purpose. The following sequence of commands will get rid
 
space to no purpose. The following sequence of commands will get rid
 
of them.
 
of them.
 
 
     cd dixie-<version #>
 
     cd dixie-<version #>
 
 
     rm -r dos
 
     rm -r dos
 
 
     rm -r macintosh
 
     rm -r macintosh
 
 
     rm -r server
 
     rm -r server
 
 
     rm -r vms
 
     rm -r vms
 
 
     cd ..
 
     cd ..
 
 
That done, we continue to bring ud to life.
 
That done, we continue to bring ud to life.
 
 
     cd dixie-<version #>
 
     cd dixie-<version #>
 
 
     Edit the file "ud/ud.h". There are two constants for which you
 
     Edit the file "ud/ud.h". There are two constants for which you
 
     will need to supply new values: DEFAULT_BASE and DEFAULT_SERVER.
 
     will need to supply new values: DEFAULT_BASE and DEFAULT_SERVER.
Line 265: Line 201:
 
     DEFAULT_SERVER identifies the machine which hosts the dixie
 
     DEFAULT_SERVER identifies the machine which hosts the dixie
 
     server, i.e. your local, ISODE-resident machine. This constant
 
     server, i.e. your local, ISODE-resident machine. This constant
 +
 +
  
  
Line 271: Line 209:
  
 
     takes a quoted string as a value, e.g., "gum.isi.edu".
 
     takes a quoted string as a value, e.g., "gum.isi.edu".
 
 
     Edit the file "Makefile". Set the value of the BINDIR variable
 
     Edit the file "Makefile". Set the value of the BINDIR variable
 
     to "<mypath>/isode/bin", where <mypath> is the full pathname of
 
     to "<mypath>/isode/bin", where <mypath> is the full pathname of
 
     the user's home directory.
 
     the user's home directory.
 
 
     make depend-ud
 
     make depend-ud
 
 
     make ud-only
 
     make ud-only
 
 
     make inst-ud
 
     make inst-ud
 
  
 
Doog
 
Doog
 
 
The "doog" DUA retrieves information on entries supplied by the user
 
The "doog" DUA retrieves information on entries supplied by the user
 
in UFN format. UFN format refers to a special, user-friendly syntax
 
in UFN format. UFN format refers to a special, user-friendly syntax
Line 291: Line 223:
 
criteria for identifying DN components in UFN is often less stringent
 
criteria for identifying DN components in UFN is often less stringent
 
than normal.  For example:
 
than normal.  For example:
 
 
     @c=US@st=California@o=Information Sciences
 
     @c=US@st=California@o=Information Sciences
 
     Institute@ou=HPCC@cn=Tom Tignor
 
     Institute@ou=HPCC@cn=Tom Tignor
 
 
could be specified in UFN syntax (and doog) as
 
could be specified in UFN syntax (and doog) as
 
 
     tignor,isi,ca,us
 
     tignor,isi,ca,us
 
 
See Steve Hardcastle-Kille's Work in Progress, "User Friendly Naming"
 
See Steve Hardcastle-Kille's Work in Progress, "User Friendly Naming"
 
for details.
 
for details.
 
 
Other commands in doog are briefly described by the program's help
 
Other commands in doog are briefly described by the program's help
 
section. Interested users should type "?" at the first prompt, after
 
section. Interested users should type "?" at the first prompt, after
 
installing and running the executable.
 
installing and running the executable.
 
 
The doog executable can be created and installed by the following
 
The doog executable can be created and installed by the following
 
simple steps:
 
simple steps:
 
 
     If you do not have a file called ".unknown_tailor" in your home
 
     If you do not have a file called ".unknown_tailor" in your home
 
     directory, create it now. This file should contain the following
 
     directory, create it now. This file should contain the following
 
     single line:
 
     single line:
 
           etcpath:  <fullpathname>/isode/etc/
 
           etcpath:  <fullpathname>/isode/etc/
 
 
     where <fullpathname> is the full path name of your $HOME
 
     where <fullpathname> is the full path name of your $HOME
 
     directory.
 
     directory.
 +
    If you do not have a directory $HOME/isode/bin, where "$HOME" is
 +
  
    If you do not have a directory $HOME/isode/bin, where "$HOME" is
 
  
  
Line 324: Line 249:
  
 
     your home directory, create it now.
 
     your home directory, create it now.
 
 
     ftp the compressed tar file "doog-portable.tar.Z" from your
 
     ftp the compressed tar file "doog-portable.tar.Z" from your
 
     local, ISODE-resident machine and put it in your isode
 
     local, ISODE-resident machine and put it in your isode
 
     directory. If you cannot find this file locally, it is available
 
     directory. If you cannot find this file locally, it is available
 
     by anonymous ftp from "gum.isi.edu" in the "x500" directory.
 
     by anonymous ftp from "gum.isi.edu" in the "x500" directory.
 
 
     cd $HOME/isode
 
     cd $HOME/isode
 
 
     uncompress < doog-isode-8.0.tar.Z | tar xf -
 
     uncompress < doog-isode-8.0.tar.Z | tar xf -
 
 
     Edit the CONFIG.make variables BINDIR, ETCDIR and SBINDIR to
 
     Edit the CONFIG.make variables BINDIR, ETCDIR and SBINDIR to
 
     refer to your isode/bin, isode/etc and isode/etc directories,
 
     refer to your isode/bin, isode/etc and isode/etc directories,
 
     respectively.  (The isode/etc directory was created by the
 
     respectively.  (The isode/etc directory was created by the
 
     previous command.)
 
     previous command.)
 
 
     ranlib libdsap.a
 
     ranlib libdsap.a
 
 
     ranlib libisode.a
 
     ranlib libisode.a
 
 
     cd doog
 
     cd doog
 
 
     ./make all
 
     ./make all
 
 
     ./make inst-all
 
     ./make inst-all
 
 
2.  Instructions for ISODE-Maintainers
 
2.  Instructions for ISODE-Maintainers
 
 
WHOIS
 
WHOIS
 
 
"WHOIS" is a simple program already available at most UNIX
 
"WHOIS" is a simple program already available at most UNIX
 
workstations and hosts. It is normally used to access the database of
 
workstations and hosts. It is normally used to access the database of
Line 359: Line 272:
 
instructions are taken nearly word for word from the "PSI White Pages
 
instructions are taken nearly word for word from the "PSI White Pages
 
Pilot Project Administrator's Guide," section 2.8.3.
 
Pilot Project Administrator's Guide," section 2.8.3.
 
 
Choose a machine in your local environment which is running the pilot
 
Choose a machine in your local environment which is running the pilot
 
project software. This machine will offer the white pages service via
 
project software. This machine will offer the white pages service via
 
a network port offering an emulation of the WHOIS service.
 
a network port offering an emulation of the WHOIS service.
 
 
On this machine, modify the /etc/services file so that it contains an
 
On this machine, modify the /etc/services file so that it contains an
 
entry like this:
 
entry like this:
 +
    whitepages 17005/tcp
 +
Next, edit the file /etc/servers so that it has an entry like this:
  
    whitepages 17005/tcp
 
  
Next, edit the file /etc/servers so that it has an entry like this:
 
  
  
Line 377: Line 288:
  
 
     whitepages tcp  $(SBINDIR)in.whitepages
 
     whitepages tcp  $(SBINDIR)in.whitepages
 
 
Because most user interfaces to WHOIS, e.g., whois(1c), do not allow
 
Because most user interfaces to WHOIS, e.g., whois(1c), do not allow
 
the user to specify a special port, you should probably also add this
 
the user to specify a special port, you should probably also add this
 
line as well:
 
line as well:
 
 
     whois tcp$(SBINDIR)in.whitepages
 
     whois tcp$(SBINDIR)in.whitepages
 
 
If you already have a line for whois in the servers file, then you
 
If you already have a line for whois in the servers file, then you
 
are already running a WHOIS service, and you should NOT add a second
 
are already running a WHOIS service, and you should NOT add a second
 
whois line. This machine is not a good choice for running the white
 
whois line. This machine is not a good choice for running the white
 
pages via WHOIS emulation.
 
pages via WHOIS emulation.
 
 
Note that on newer systems derived from Berkeley UNIX, /etc/servers
 
Note that on newer systems derived from Berkeley UNIX, /etc/servers
 
is called /etc/inetd.conf.
 
is called /etc/inetd.conf.
 
 
     The whitepages Command
 
     The whitepages Command
 
 
On those systems which are to access the white pages via the network
 
On those systems which are to access the white pages via the network
 
and not locally (i.e., those systems which are not running the pilot
 
and not locally (i.e., those systems which are not running the pilot
Line 399: Line 304:
 
WHOIS service via the network. For UNIX systems, you should provide a
 
WHOIS service via the network. For UNIX systems, you should provide a
 
shell script like this:
 
shell script like this:
 
 
     : run this script through /bin/sh
 
     : run this script through /bin/sh
 
 
     exec /usr/ucb/whois -h wp.psi.net "$*"
 
     exec /usr/ucb/whois -h wp.psi.net "$*"
 
 
where the name of a host running the pilot project software is
 
where the name of a host running the pilot project software is
 
substituted for whitepages, e.g., wp.psi.net. This host must have the
 
substituted for whitepages, e.g., wp.psi.net. This host must have the
 
files /etc/services and /etc/servers edited as described above.
 
files /etc/services and /etc/servers edited as described above.
 
  
 
De
 
De
 
 
The compressed tar file for "de" can be created by the following
 
The compressed tar file for "de" can be created by the following
 
sequence of commands. (Note: In the instructions which follow,
 
sequence of commands. (Note: In the instructions which follow,
 
<toplevel> indicates the top level of the ISODE distribution.)
 
<toplevel> indicates the top level of the ISODE distribution.)
 
 
     cd <toplevel>/others/quipu/uips
 
     cd <toplevel>/others/quipu/uips
 
 
     Edit the de/detailor file to set the following options:
 
     Edit the de/detailor file to set the following options:
 
 
           dsa_address:            (the address of your DSA)
 
           dsa_address:            (the address of your DSA)
 
           default_country:        (your country)
 
           default_country:        (your country)
 
           default_org:            (your organization)
 
           default_org:            (your organization)
 +
    cp de/make temp1
 +
  
    cp de/make temp1
 
  
  
Line 430: Line 328:
  
 
     Edit the de/make file so that the last line reads as follows:
 
     Edit the de/make file so that the last line reads as follows:
 
 
           exec $M TOPDIR=../ -f ../CONFIG.make -f Makefile ${1+"$@"}
 
           exec $M TOPDIR=../ -f ../CONFIG.make -f Makefile ${1+"$@"}
 
 
     tar -cf de-portable.tar de/*
 
     tar -cf de-portable.tar de/*
 
 
     mv temp1 de/make
 
     mv temp1 de/make
 
 
     mv de-portable.tar <aboveETCDIR>
 
     mv de-portable.tar <aboveETCDIR>
 
           (Here, <aboveETCDIR> is the directory immediately above
 
           (Here, <aboveETCDIR> is the directory immediately above
 
           ETCDIR.)
 
           ETCDIR.)
 
 
     cd <aboveETCDIR>
 
     cd <aboveETCDIR>
 
 
     tar -rf de-portable.tar etc/dsaptailor etc/isomacros
 
     tar -rf de-portable.tar etc/dsaptailor etc/isomacros
 
     etc/oidtable.at etc/oidtable.oc etc/oidtable.gen
 
     etc/oidtable.at etc/oidtable.oc etc/oidtable.gen
 
 
     mv de-portable.tar <toplevel>
 
     mv de-portable.tar <toplevel>
 
 
     cd <toplevel>
 
     cd <toplevel>
 
 
     cp config/CONFIG.make .
 
     cp config/CONFIG.make .
 
 
     tar -rf de-portable.tar h/* h/quipu/* util/* CONFIG.make
 
     tar -rf de-portable.tar h/* h/quipu/* util/* CONFIG.make
 
     libdsap.a libisode.a
 
     libdsap.a libisode.a
 
 
     rm CONFIG.make
 
     rm CONFIG.make
 
 
     compress de-portable.tar
 
     compress de-portable.tar
 
 
The compressed tar file for de will appear in the top level directory
 
The compressed tar file for de will appear in the top level directory
 
of the ISODE distribution as "de-portable.tar.Z".
 
of the ISODE distribution as "de-portable.tar.Z".
 
  
 
Dixie/Ud
 
Dixie/Ud
 
 
The latest version of the dixie distribution is available by
 
The latest version of the dixie distribution is available by
 
anonymous ftp at "terminator.cc.umich.edu" in the "x500" directory.
 
anonymous ftp at "terminator.cc.umich.edu" in the "x500" directory.
 
The file is named "dixie-<version #>.tar.Z", where <version #> is the
 
The file is named "dixie-<version #>.tar.Z", where <version #> is the
 
number of the latest release.
 
number of the latest release.
 
 
In order for anyone to use dixie clients, there must be a running
 
In order for anyone to use dixie clients, there must be a running
 
dixie server which they can connect to. To set up the dixie server,
 
dixie server which they can connect to. To set up the dixie server,
Line 475: Line 357:
 
it in the top level directory of the ISODE distribution. This is done
 
it in the top level directory of the ISODE distribution. This is done
 
with the following command:
 
with the following command:
 +
    uncompress < dixie-<version #>.tar.Z | tar xf -
 +
  
    uncompress < dixie-<version #>.tar.Z | tar xf -
 
  
  
Line 489: Line 372:
 
"dos", "macintosh" and "vms". UNIX users should feel free to delete
 
"dos", "macintosh" and "vms". UNIX users should feel free to delete
 
these directories and all their contents. Commands of the form:
 
these directories and all their contents. Commands of the form:
 
 
     rm -r <dirname>
 
     rm -r <dirname>
 
 
where <dirname> is the directory name, should accomplish this task.
 
where <dirname> is the directory name, should accomplish this task.
 
 
In the top level of the dixie distribution is a file called
 
In the top level of the dixie distribution is a file called
 
"Makefile". The file holds several variables which should be
 
"Makefile". The file holds several variables which should be
 
configured to match those of your ISODE environment.
 
configured to match those of your ISODE environment.
 
  
 
         BINDIR                  ISODEINCLUDEDIR
 
         BINDIR                  ISODEINCLUDEDIR
Line 503: Line 382:
 
         INCLUDEDIR              ISODELIBS
 
         INCLUDEDIR              ISODELIBS
 
         INSTLIBDIR
 
         INSTLIBDIR
 
  
 
In the "server" directory below the top level of the dixie
 
In the "server" directory below the top level of the dixie
 
distribution is another "Makefile" file. Configure the ISODELIBS
 
distribution is another "Makefile" file. Configure the ISODELIBS
 
variable in this file, as well.
 
variable in this file, as well.
 
 
After setting these variables, cd to the top level of the dixie
 
After setting these variables, cd to the top level of the dixie
 
distribution and type the following commands:
 
distribution and type the following commands:
 
 
         make depend-server
 
         make depend-server
 
         make server-only
 
         make server-only
 
         make inst-server
 
         make inst-server
 
  
 
This will create and install the dixie server in your ETCDIR.  cd to
 
This will create and install the dixie server in your ETCDIR.  cd to
 
the ETCDIR and type "dixie" to start the server.
 
the ETCDIR and type "dixie" to start the server.
 
  
 
Doog
 
Doog
 
 
The compressed tar file for "doog" can be created by the following
 
The compressed tar file for "doog" can be created by the following
 
sequence of commands. (Note: In the instructions which follow,
 
sequence of commands. (Note: In the instructions which follow,
 
<toplevel> indicates the top level of the ISODE distribution.)
 
<toplevel> indicates the top level of the ISODE distribution.)
 +
    cd <toplevel>/others/quipu/uips
 +
    cp doog/make temp1
  
    cd <toplevel>/others/quipu/uips
 
  
    cp doog/make temp1
 
  
  
Line 536: Line 409:
  
 
     Edit the doog/make file so that the last line reads as follows:
 
     Edit the doog/make file so that the last line reads as follows:
 
 
           exec $M TOPDIR=../ -f ../CONFIG.make -f Makefile ${1+"$@"}
 
           exec $M TOPDIR=../ -f ../CONFIG.make -f Makefile ${1+"$@"}
 
 
     cp doog/query/make temp2
 
     cp doog/query/make temp2
 
 
     Edit the doog/query/make file so that the last line reads as
 
     Edit the doog/query/make file so that the last line reads as
 
     follows:
 
     follows:
 
 
           exec $M TOPDIR=../../ -f ../../CONFIG.make -f Makefile
 
           exec $M TOPDIR=../../ -f ../../CONFIG.make -f Makefile
 
           ${1+"$@"}
 
           ${1+"$@"}
 
 
     tar -cf doog-portable.tar doog/*
 
     tar -cf doog-portable.tar doog/*
 
 
     mv temp1 doog/make
 
     mv temp1 doog/make
 
 
     mv temp2 doog/query/make
 
     mv temp2 doog/query/make
 
 
     mv doog-portable.tar ../../..
 
     mv doog-portable.tar ../../..
 
 
     cd ../../..
 
     cd ../../..
 
 
     cp config/CONFIG.make .
 
     cp config/CONFIG.make .
 
 
     tar -rf doog-portable.tar h/* h/quipu/* util/* CONFIG.make
 
     tar -rf doog-portable.tar h/* h/quipu/* util/* CONFIG.make
 
     libdsap.a libisode.a
 
     libdsap.a libisode.a
 
 
     rm CONFIG.make
 
     rm CONFIG.make
 
 
     mv doog-portable.tar <aboveETCDIR>
 
     mv doog-portable.tar <aboveETCDIR>
 
           (Here, <aboveETCDIR> is the directory immediately above
 
           (Here, <aboveETCDIR> is the directory immediately above
 
           ETCDIR.)
 
           ETCDIR.)
 
 
     cd <aboveETCDIR>
 
     cd <aboveETCDIR>
 
 
     tar -rf doog-portable.tar etc/dsaptailor etc/isomacros
 
     tar -rf doog-portable.tar etc/dsaptailor etc/isomacros
 
     etc/oidtable.at etc/oidtable.gen etc/oidtable.oc
 
     etc/oidtable.at etc/oidtable.gen etc/oidtable.oc
 
 
     compress doog-portable.tar
 
     compress doog-portable.tar
 
 
The compressed tar file for doog will appear in the directory
 
The compressed tar file for doog will appear in the directory
 
immediately above ETCDIR as "doog-portable.tar.Z".
 
immediately above ETCDIR as "doog-portable.tar.Z".
 +
Security Considerations
 +
Security issues are not discussed in this memo.
  
Security Considerations
 
  
Security issues are not discussed in this memo.
 
  
  
Line 589: Line 445:
  
 
Author's Address
 
Author's Address
 
 
Tom Tignor
 
Tom Tignor
 
University of Southern California
 
University of Southern California
Line 595: Line 450:
 
4676 Admiralty Way
 
4676 Admiralty Way
 
Marina del Rey, CA 90292
 
Marina del Rey, CA 90292
 
 
Phone: (310) 822-1511
 
Phone: (310) 822-1511
  

Revision as of 06:59, 23 September 2020



Network Working Group T. Tignor Request for Comments: 1373 ISI

                                                          October 1992
                         PORTABLE DUAs

Status of this Memo This memo provides information for the Internet community. It does not specify an Internet standard. Distribution of this memo is unlimited. INTRODUCTION This document comes in two parts. The first part is for regular people who wish to set up their own DUAs (Directory User Interfaces) to access the Directory. It includes some brief notes on the operation of the DUAs and instructions for their creation and installation. The instructions are given in an easy-to-follow, step- by-step format. It is fully expected that the user will be able to perform the necessary operations as he reads through the instructions for the first time and have a working DUA when he finishes. The second part is for ISODE-maintainers wishing to provide portable DUAs to users. This part gives instructions in a similar but longer, step-by-step format. It is fully expected that the maintainer will be able to perform the necessary operations as he reads through the instructions for the first time and have a working DUA package/supporting service when he finishes. The document currently has four sub-parts for each larger part. The sub-parts detail the following DUAs: WHOIS, "de," dixie's "ud" and ISODE's "doog." It is intended that additional sub-parts will be added to the document as new, portable DUA packages are designed. Where pertinent, the document assumes ISODE 8.0 is being used. 1. Instructions for DUA-Users WHOIS A WHOIS interface to X.500 may be available on any ISODE-resident machine which also runs a DSA (Directory System Agent.) Check with your local, ISODE-maintainer. If the service is available, users can access the Directory with the following command:

    whois -h <hostname> <name in UFN format>





<hostname> indicates the name of the host machine offering the WHOIS interface, surrounded by quotes. <name in UFN format> refers to a special, user-friendly syntax developed by Steve Hardcastle-Kille. UFN format is a comma-separated list of DN component values. (Attribute types are omitted.) The criteria for identifying DN components in UFN is often less stringent than normal. For example:

    @c=US@st=California@o=Information Sciences
    Institute@ou=HPCC@cn=Tom Tignor

could be uniquely specified in UFN syntax as

    tignor,isi,ca,us

So to find this entry through WHOIS, one would type:

    whois -h "gum.isi.edu" tignor,isi,ca,us

See Steve Hardcastle-Kille's Work in Progress, "User Friendly Naming" for details.

De Use of the "de" DUA is fully explained by the program's help section. New users should type "?" at the first prompt after installing and running the de executable. The de executable can be created and installed by the following simple steps:

    If you do not have a file called ".unknown_tailor" in your home
    directory, create it now. This file should contain the following
    single line:
         etcpath:   <fullpathname>/isode/etc/
    where <fullpathname> is the full path name of your $HOME
    directory.
    If you do not have a directory $HOME/isode/bin, where "$HOME" is
    your home directory, create it now.
    ftp the compressed tar file "de-portable.tar.Z" from your local,
    ISODE-resident machine and put it in your isode directory. If
    you cannot find this file locally, it is available by anonymous






    ftp from "gum.isi.edu" in the "x500" directory.
    cd $HOME/isode
    uncompress < de-portable.tar.Z | tar xf -
    If your name is listed in the Directory, edit the de/detailor
    file and add a line reading:
         username: <yourDN>
    where <yourDN> indicates your Distinguished Name in the
    Directory.
    cp de/detailor de/etc/detailor
    Edit the CONFIG.make variables BINDIR, ETCDIR and SBINDIR to
    refer to your isode/bin, isode/etc and isode/etc directories,
    respectively.  (The isode/etc directory was created by the
    previous command.)
    ranlib libdsap.a
    ranlib libisode.a
    cd de
    ./make all
    ./make inst-all

There is one error you may encounter during this procedure, following the "./make all" command:

    "Redeclaration of sprintf." in general.h

If this error occurs, the following sub-procedure will fix the problem:

    Invoke your editor for the file ../h/general.h
    Search for the string "sprintf".
    Cut the line with the "#endif" string which follows the line
    reading:
         char *sprintf ();
    Paste the line under the line which reads "#endif". This second
    #endif line is exactly three lines below the current line.




    Save the file and quit the editor.

Type "./make all" again. It should now compile smoothly. Finish up by typing "./make inst-all".

Dixie/Ud The "ud" DUA is designed for users doing most of their X.500 queries in one branch of the DIT (Directory Information Tree.) The DUA operates from a predefined "base," a position in the DIT one or more branches above the entries to be queried. The base is usually an organization name, such as:

    @c=US@st=California@o=Information Sciences Institute

Ud starts with a preset base. (See below.) But this base can be changed with the "cb" command. "cb" takes the full DN of the new base as an argument. For example:

    cb @c=GB@o=University College London

With a preset base, searching is easy. The user finds entries below the base with the "find" command. "find" takes the last component of the DN of the entry as its sole argument. The criteria for the argument is very loose. The partial matching performed by ud should return the desired data or a clarification request if the name is at all close to the real thing. For example, with a base "@c=US@st=California@o=Information Sciences Institute", the RDN

    ou=HPCC@cn=Tom Tignor

could be found by entering

    find tignor

at the ud prompt. Other commands in ud are briefly described by the program's help section. Interested users should type "?" at the first prompt, after installing and running the executable. "Ud" comes with the "dixie" package, a mini-environment designed specifically to support lightweight Directory access. Using ud requires that a dixie server is running along with a DSA on your local, ISODE-resident machine. Before retrieving the dixie package,




check with your local DSA manager to see that the dixie server is up and running. Once you're sure that everything is set up at the DSA-manager's end, the ud executable can be created and installed by the following simple steps:

    If you do not have a directory $HOME/isode/bin, where "$HOME" is
    your home directory, create it now.
    ftp (anonymously) the compressed tar file "dixie-<version
    #>.tar.Z", where <version #> is the number of the latest
    release, from "terminator.cc.umich.edu" and put it in your isode
    directory. The file is available in the "x500" directory on
    terminator.
    cd $HOME/isode
    uncompress < dixie-<version #>.tar.Z | tar xf -

This creates the dixie environment. As a user interested in ud only, there are a number of things in the package that will be taking up space to no purpose. The following sequence of commands will get rid of them.

    cd dixie-<version #>
    rm -r dos
    rm -r macintosh
    rm -r server
    rm -r vms
    cd ..

That done, we continue to bring ud to life.

    cd dixie-<version #>
    Edit the file "ud/ud.h". There are two constants for which you
    will need to supply new values: DEFAULT_BASE and DEFAULT_SERVER.
    DEFAULT_BASE identifies ud's "base" upon startup, as described
    above.  It takes a quoted DN as a value, e.g.,
    "@c=US@st=California@o=Information Sciences Institute".
    DEFAULT_SERVER identifies the machine which hosts the dixie
    server, i.e. your local, ISODE-resident machine. This constant




    takes a quoted string as a value, e.g., "gum.isi.edu".
    Edit the file "Makefile". Set the value of the BINDIR variable
    to "<mypath>/isode/bin", where <mypath> is the full pathname of
    the user's home directory.
    make depend-ud
    make ud-only
    make inst-ud

Doog The "doog" DUA retrieves information on entries supplied by the user in UFN format. UFN format refers to a special, user-friendly syntax developed by Steve Hardcastle-Kille. UFN format is a comma-separated list of DN component values. (Attribute types are omitted.) The criteria for identifying DN components in UFN is often less stringent than normal. For example:

    @c=US@st=California@o=Information Sciences
    Institute@ou=HPCC@cn=Tom Tignor

could be specified in UFN syntax (and doog) as

    tignor,isi,ca,us

See Steve Hardcastle-Kille's Work in Progress, "User Friendly Naming" for details. Other commands in doog are briefly described by the program's help section. Interested users should type "?" at the first prompt, after installing and running the executable. The doog executable can be created and installed by the following simple steps:

    If you do not have a file called ".unknown_tailor" in your home
    directory, create it now. This file should contain the following
    single line:
         etcpath:   <fullpathname>/isode/etc/
    where <fullpathname> is the full path name of your $HOME
    directory.
    If you do not have a directory $HOME/isode/bin, where "$HOME" is




    your home directory, create it now.
    ftp the compressed tar file "doog-portable.tar.Z" from your
    local, ISODE-resident machine and put it in your isode
    directory. If you cannot find this file locally, it is available
    by anonymous ftp from "gum.isi.edu" in the "x500" directory.
    cd $HOME/isode
    uncompress < doog-isode-8.0.tar.Z | tar xf -
    Edit the CONFIG.make variables BINDIR, ETCDIR and SBINDIR to
    refer to your isode/bin, isode/etc and isode/etc directories,
    respectively.  (The isode/etc directory was created by the
    previous command.)
    ranlib libdsap.a
    ranlib libisode.a
    cd doog
    ./make all
    ./make inst-all

2. Instructions for ISODE-Maintainers WHOIS "WHOIS" is a simple program already available at most UNIX workstations and hosts. It is normally used to access the database of users at NIC.DDN.MIL. The instructions below explain how to use WHOIS to access data in the White Pages Pilot X.500 database. These instructions are taken nearly word for word from the "PSI White Pages Pilot Project Administrator's Guide," section 2.8.3. Choose a machine in your local environment which is running the pilot project software. This machine will offer the white pages service via a network port offering an emulation of the WHOIS service. On this machine, modify the /etc/services file so that it contains an entry like this:

    whitepages 17005/tcp

Next, edit the file /etc/servers so that it has an entry like this:





    whitepages tcp  $(SBINDIR)in.whitepages

Because most user interfaces to WHOIS, e.g., whois(1c), do not allow the user to specify a special port, you should probably also add this line as well:

    whois tcp$(SBINDIR)in.whitepages

If you already have a line for whois in the servers file, then you are already running a WHOIS service, and you should NOT add a second whois line. This machine is not a good choice for running the white pages via WHOIS emulation. Note that on newer systems derived from Berkeley UNIX, /etc/servers is called /etc/inetd.conf.

    The whitepages Command

On those systems which are to access the white pages via the network and not locally (i.e., those systems which are not running the pilot project software), you should determine how the user invokes the WHOIS service via the network. For UNIX systems, you should provide a shell script like this:

    : run this script through /bin/sh
    exec /usr/ucb/whois -h wp.psi.net "$*"

where the name of a host running the pilot project software is substituted for whitepages, e.g., wp.psi.net. This host must have the files /etc/services and /etc/servers edited as described above.

De The compressed tar file for "de" can be created by the following sequence of commands. (Note: In the instructions which follow, <toplevel> indicates the top level of the ISODE distribution.)

    cd <toplevel>/others/quipu/uips
    Edit the de/detailor file to set the following options:
         dsa_address:            (the address of your DSA)
         default_country:        (your country)
         default_org:            (your organization)
    cp de/make temp1




    Edit the de/make file so that the last line reads as follows:
         exec $M TOPDIR=../ -f ../CONFIG.make -f Makefile ${1+"$@"}
    tar -cf de-portable.tar de/*
    mv temp1 de/make
    mv de-portable.tar <aboveETCDIR>
         (Here, <aboveETCDIR> is the directory immediately above
         ETCDIR.)
    cd <aboveETCDIR>
    tar -rf de-portable.tar etc/dsaptailor etc/isomacros
    etc/oidtable.at etc/oidtable.oc etc/oidtable.gen
    mv de-portable.tar <toplevel>
    cd <toplevel>
    cp config/CONFIG.make .
    tar -rf de-portable.tar h/* h/quipu/* util/* CONFIG.make
    libdsap.a libisode.a
    rm CONFIG.make
    compress de-portable.tar

The compressed tar file for de will appear in the top level directory of the ISODE distribution as "de-portable.tar.Z".

Dixie/Ud The latest version of the dixie distribution is available by anonymous ftp at "terminator.cc.umich.edu" in the "x500" directory. The file is named "dixie-<version #>.tar.Z", where <version #> is the number of the latest release. In order for anyone to use dixie clients, there must be a running dixie server which they can connect to. To set up the dixie server, the DSA manager should take the dixie package and explode/uncompress it in the top level directory of the ISODE distribution. This is done with the following command:

    uncompress < dixie-<version #>.tar.Z | tar xf -




where <version #> is the version number of your dixie package. This will create a "dixie-<version #>" directory. The dixie server, dixie library and any DUAs included with the package will be in this directory branch. Software to support dixie on machines other than UNIX is included as well. This software is stored in the directories "dos", "macintosh" and "vms". UNIX users should feel free to delete these directories and all their contents. Commands of the form:

    rm -r <dirname>

where <dirname> is the directory name, should accomplish this task. In the top level of the dixie distribution is a file called "Makefile". The file holds several variables which should be configured to match those of your ISODE environment.

       BINDIR                  ISODEINCLUDEDIR
       ETCDIR                  LIBDIR
       INCLUDEDIR              ISODELIBS
       INSTLIBDIR

In the "server" directory below the top level of the dixie distribution is another "Makefile" file. Configure the ISODELIBS variable in this file, as well. After setting these variables, cd to the top level of the dixie distribution and type the following commands:

       make depend-server
       make server-only
       make inst-server

This will create and install the dixie server in your ETCDIR. cd to the ETCDIR and type "dixie" to start the server.

Doog The compressed tar file for "doog" can be created by the following sequence of commands. (Note: In the instructions which follow, <toplevel> indicates the top level of the ISODE distribution.)

    cd <toplevel>/others/quipu/uips
    cp doog/make temp1




    Edit the doog/make file so that the last line reads as follows:
         exec $M TOPDIR=../ -f ../CONFIG.make -f Makefile ${1+"$@"}
    cp doog/query/make temp2
    Edit the doog/query/make file so that the last line reads as
    follows:
         exec $M TOPDIR=../../ -f ../../CONFIG.make -f Makefile
         ${1+"$@"}
    tar -cf doog-portable.tar doog/*
    mv temp1 doog/make
    mv temp2 doog/query/make
    mv doog-portable.tar ../../..
    cd ../../..
    cp config/CONFIG.make .
    tar -rf doog-portable.tar h/* h/quipu/* util/* CONFIG.make
    libdsap.a libisode.a
    rm CONFIG.make
    mv doog-portable.tar <aboveETCDIR>
         (Here, <aboveETCDIR> is the directory immediately above
         ETCDIR.)
    cd <aboveETCDIR>
    tar -rf doog-portable.tar etc/dsaptailor etc/isomacros
    etc/oidtable.at etc/oidtable.gen etc/oidtable.oc
    compress doog-portable.tar

The compressed tar file for doog will appear in the directory immediately above ETCDIR as "doog-portable.tar.Z". Security Considerations Security issues are not discussed in this memo.





Author's Address Tom Tignor University of Southern California Information Sciences Institute 4676 Admiralty Way Marina del Rey, CA 90292 Phone: (310) 822-1511 EMail: [email protected]