Net2/usr/src/contrib/isode/READ-ME




ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



NAME
     isode-gen - generating the ISO Development Environment

READ THIS
     This documentation describes how to configure, generate, and
     install the ISO Development Environment.

     Acquisition,  use,  and  distribution  of  this  module  and
     related  materials  are  subject  to  the  restrictions of a
     license agreement.  Consult the Preface in the _U_s_e_r'_s _M_a_n_u_a_l
     for the full terms of this agreement.

     You will probably want to read  over  this  entire  document
     first,  before typing any commands; e.g., there are optional
     components described later on that require  additional  set-
     tings in the configuration file.

     Comments concerning this release should be directed  to  the
     mailbox "Bug-ISODE@NISC.PSI.NET". Do not send bug reports to
     the ISODE discussion group.  If you want to subscribe to the
     ISODE   discussion   group,   drop   a   note   to   "ISODE-
     Request@NIC.DDN.MIL".

SYNOPSIS
          % cd isode-interim
          % cp config/_s_y_s_t_e_m.h h/config.h
          % cp config/_s_y_s_t_e_m.make config/CONFIG.make
          % cp config/*.local support/
          % ./make everything
          # ./make inst-everything


DESCRIPTION
     This is a description of how one can bring up the ISODE.  It
     is  assumed  that you have super-user privileges in order to
     (re-)install the software.  Super-user  privileges  are  not
     required to configure or generate this software.

     The  distribution  tape  contains  the  hierarchy  for   the
     isode-interim  directory.   Bring  the  sources  on-line  by
     changing to a directory for local sources and  running  tar,
     e.g.,

          % cd /usr/src/local/
          % tar x
          % cd isode-interim


CONFIGURATION
     First, go to the config/ directory.

          % cd config



Sun Release 3.5     Last change: 09 Mar 1991                    1






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



     Select the Makefile and include-file  skeletons  which  most
     closely match your system.  The current choices are:

          _f_i_l_e        _c_o_n_f_i_g_u_r_a_t_i_o_n
          apollo      Apollo
          aux         A/UX release 1.1
          bsd42       generic 4.2BSD UNIX
          bsd43       generic 4.3BSD UNIX
          bsd43-rt    RT/PC with 4.3BSD
          bsd44       4.4BSD UNIX with OSI
          hpux        HP-UX
          mips        MIPS RISC/OS
          osx         Olivetti LSX 30xx
          ros         Ridge Operating System
          sunlink3    SunOS release 3 with SunLink OSI/X.25 release 5.2
          sunlink4    SunOS release 4 with SunLink OSI/X.25 release 6.0
          sunlink7    SunOS release 4 with SunNet OSI/X.25 release 7.0
          sunos3      SunOS release 3
          sunos4      SunOS release 4
          sys52-exos  SVR2 UNIX with EXOS
          sys52-rt    RT/PC with AIX
          sys52-sun   SVR2 UNIX emulation on SunOS release 3
          sys52-win   SVR2 UNIX with WIN/TCP
          sys53       generic SVR3
          ultrix      Ultrix 3.1

     The makefile skeleton has the extension .make,  whereas  the
     include-file skeleton has the extension .h.

  MAKEFILE
     Copy the makefile skeleton of your  choice  to  pickle.make,
     where  "pickle"  is  the name of your system.  Now edit this
     file to set the following _m_a_k_e variables:

          _v_a_r_i_a_b_l_e _d_e_f_a_u_l_t              _s_p_e_c_i_f_i_e_s
          OPTIONS                       options to _c_c and _l_i_n_t (e.g., -I../h)
          LSOCKET                       libraries to link in (e.g., -lcci)
          BINDIR   /usr/local/bin/      where to install user programs
          SBINDIR  /usr/etc/            where to install administrator
                                        programs
          ETCDIR   /usr/etc/            where to install administrator files
          LOGDIR   /usr/tmp/            where to install log files
          INCDIR   /usr/include/isode/  where to install include files
          LIBDIR   /usr/lib/            where to install object libraries
          LINTDIR  /usr/lib/lint/       where to install lint libraries
          SYSTEM                        directs how to create loader libraries
          MANDIR   /usr/man/            where to install man pages
          MANOPTS                       see compat/inst-man.sh for details

     NOTE THAT ALL THESE DIRECTORIES MUST BE ABSOLUTE PATH  NAMES
     (i.e., start and end with a `/').




Sun Release 3.5     Last change: 09 Mar 1991                    2






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



     Finally,

          ln pickle.make CONFIG.make

     (yes, that's "CONFIG" in uppercase and "make" in lowercase).
     Both  of  these files are in the isode-interimconfig/ direc-
     tory.  This latter file is the one which the  software  uses
     to configure itself during generation.

  INCLUDE-FILE
     Copy the include-file skeleton of your choice  to  pickle.h,
     where  "pickle"  is  the  name  of your system.  Now add any
     additional definitions you like (usually none).  Consult the
     file config/OPTIONS for a list.

     Now:

          ln pickle.h ../h/config.h

     This latter file is the one which the software uses to  con-
     figure itself during generation.

  ALIASES DATABASE
     Typically, sites run with the default aliases database  used
     by the OSI directory.  In this case, simply copy the default
     local configuration file to the support/ directory:

          % cp aliases.local ../support/

      If you have local modifications you wish  to  make,  either
      copy    in    your    own    file    or   edit   the   file
      support/aliases.local as appropriate.

  SERVICES DATABASE
     Typically, sites run with the default services database.  In
     this  case, simply copy the default local configuration file
     to the support/ directory:

          % cp services.local ../support/

      If you have local modifications you wish  to  make,  either
      copy    in    your    own    file    or   edit   the   file
      support/services.local as appropriate.

  ENTITIES DATABASE
     Typically, sites run with  the  default  application  entity
     database  used by the stub-directory service.  However, once
     things are running, sites should use the  OSI  Directory  to
     keep  track  of  application entities.  So, to begin, simply
     copy the default local configuration file  to  the  support/
     directory:




Sun Release 3.5     Last change: 09 Mar 1991                    3






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



          % cp entities.local ../support/

     If you have local modifications you  wish  to  make,  either
     copy    in    your    own    file    or    edit   the   file
     support/entities.local as appropriate.

     In particular, if you are  using  SunNet  OSI,  it  will  be
     necessary  to  put  an  entry in your support/entities.local
     file of the form:

          myhost default  1.17.4.1.0  #1/NS+mynsap

     where "myhost" is the name of the local machine,  and  "myn-
     sap"  is  the NSAP of the local machine.  For SunNet OSI 7.0
     the NSAP is most easily determined by running

          % /usr/sunlink/osi/etc/osirstat -n | grep ^DA

     provided that the SunNet OSI osi.routed program is  running.
     For earlier SunLink OSI releases you can run

          % cd others/osilookup
          % ./make
          % xosilookup localhost CLIENT

     providing that the SunLink OSI  file  /etc/sunlink/osi/hosts
     has  an  entry  defining  the service for "localhost" called
     "CLIENT".  (Note that in releases earlier than  SunLink  OSI
     6.0,  the  file is called /usr/etc/osi.hosts) Note that this
     entry is mandatory if you are running  SunLink  OSI  release
     5.2 or greater.

     One further note for users of a release earlier then 7.0  of
     SunLink  OSI:  if you intend to run the standard SunLink OSI
     listener (osi.netd), then you must change the TSEL  used  by
     _t_s_a_p_d when it listens.  This is done in two steps: First, in
     support/entities.local, change your entry to read as:

          myhost default  1.17.4.1.0  #2/NS+mynsap

     Second, in support/services.local, add a line that reads as:

          tsap/session  #2  tsapd-bootstrap

     which overrides the default TSEL in the  support/services.db
     file.

  MACROS DATABASE
     Typically, sites run with the default macros  database.   In
     this  case, simply copy the default local configuration file
     to the support/ directory:




Sun Release 3.5     Last change: 09 Mar 1991                    4






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



          % cp macros.local ../support/

     If you have local modifications you  wish  to  make,  either
     copy  in your own file or edit the file support/macros.local
     as appropriate.

  OBJECTS DATABASE
     Typically, sites run with the default objects database.   In
     this  case, simply copy the default local configuration file
     to the support/ directory:

          % cp objects.local ../support/

      If you have local modifications you wish  to  make,  either
      copy    in    your    own    file    or   edit   the   file
      support/objects.local as appropriate.

GENERATION
     Go to the isode-interim directory

          % cd ..

     Now reset the dates of the configuration files for the  sys-
     tem.  This is done only once per source-tree:

          % ./make once-only

     then generate the basic system.

          % ./make

     If you are using SunOS, do not use the _m_a_k_e program supplied
     with the SunPro package.  It is not, contrary to any claims,
     compatible with the standard _m_a_k_e facility.   Further,  note
     that  if  you  are  running  a version of SunOS 4.0 prior to
     release 4.0.3, then you may need to  use  the  _m_a_k_e  program
     found  in  /usr/old/, if the standard _m_a_k_e your are using is
     the SunPro _m_a_k_e.  In this case, you will  need  to  put  the
     old, standard _m_a_k_e in /usr/bin/, and you can keep the SunPro
     _m_a_k_e in /bin/.

     If you are using SVR3, then you will probably have  to  type
     this command before starting the compilation:

          % ulimit 32768

     Similarly, you may need to increase the stacksize limitation
     on other systems.  For example, some users of the RT, report
     needing to use

          % limit stacksize 16m




Sun Release 3.5     Last change: 09 Mar 1991                    5






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



     in order to get FTAM to fully compile.

     The _m_a_k_e command from the top-level directory will  cause  a
     complete  generation  of  the  system.   If  all  goes well,
     proceed with the installation.  If not, complain,  as  there
     "should be no problems" at this step.  Some files while com-
     piling may produce a

          warning: statement not reached

     or a

          type ObjectDescriptor: Warning: Can't find file DSE.ph failed

     message.  This is normal.  Sometimes when building a  loader
     library, you might see several

          ranlib: warning: ../libisode.a(aetdbm.o): no symbol table

     messages.  This is also normal.  You might also  see  a  few
     messages like:

          *** Error code 1 (ignored)

     This is also normal.  As a rule, unless _m_a_k_e says  something
     like

          *** Error code 1

     or perhaps

          Exit

     then everything is going just fine!

TESTING
     Some directories may have a resident test program, e.g.,  in
     the  psap/  directory,  there  is a program called _p_s_a_p_t_e_s_t.
     These programs are for internal testing only,  and  are  not
     for  use  by  "mere  mortals".   If you want to test things,
     after installation run _i_s_o_d_e-_t_e_s_t  (see  the  USER  PROGRAMS
     section).

INSTALLATION
     You will need to be the super-user to install the  software.
     Note that installing the software from an NFS-mounted parti-
     tion requires that  you  perform  the  installation  as  the
     super-user on the _t_a_r_g_e_t system after changing to the source
     directory on the _s_o_u_r_c_e system.

     In the directions that follow, reference is made to some  of
     the directories defined in the CONFIG.make file.  You should



Sun Release 3.5     Last change: 09 Mar 1991                    6






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



     substitute in the correct value, for example, if the expres-
     sion

          $(SBINDIR)tsapd

     and if SBINDIR is defined as /usr/etc/  in  the  CONFIG.make
     file, then you should type

          /usr/etc/tsapd

     instead.

     There are two kinds of activities: once-only activities that
     you  perform  the  first time the software is installed; and
     each-time  activities  that  you  perform  every  time   the
     software is installed.

     The first once-only activity is to  verify  that  the  _t_s_a_p_d
     daemon  will  be  run  when the machine goes multi-user.  On
     Berkeley UNIX systems, add these lines to the  /etc/rc.local
     file:

          if [ -f $(SBINDIR)tsapd ]; then
              $(SBINDIR)tsapd & (echo -n ' tsap') > /dev/console
          fi

     On other systems, a  similar  procedure  is  followed.   For
     example,  on  systems  derived  from  AT&T  UNIX,  the  file
     /etc/rc2 script might be edited.

     Once you are familiar with the system, you will likely  want
     to  run  the  OSI Directory and use another program, _i_a_e_d to
     invoke  local  services.   The  section  DIRECTORY  SERVICES
     discusses this in greater detail.  (However, if this is your
     first time, don't skip ahead.)

     The next once-only activity is to verify that systems with a
     native /etc/services file contain an entry for the tsap ser-
     vice (if you have configured the ISODE to run over TCP).  If
     not, add the line:

          tsap                          102/tcp

     to the /etc/services file.  If your  system  does  not  have
     such  a  file,  the  software  automatically compensates for
     this.

     Next,  on  Berkeley  UNIX  systems,  add  a  line   to   the
     /usr/lib/crontab  file  to  invoke  a shell-script that will
     re-cycle the log files.  Usually, the  line  you  add  looks
     something like this:




Sun Release 3.5     Last change: 09 Mar 1991                    7






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



          0 4 * * * su daemon < $(SBINDIR)isologs

     which says that the shell-script $(SBINDIR)isologs should be
     invoked  at  4am  each morning.  On other systems, a similar
     procedure is fllowed.  For example, on systems derived  from
     AT&T  UNIX,  the file /usr/spool/cron/crontabs/root might be
     edited followed by the command

          % crontab root


     There are two each-time activities:

          # ./make inst-all

     which does the installation.

     The second each-time activity, is that if  you  are  already
     running  the  ISODE,  then you will need to kill and restart
     the _t_s_a_p_d (8c) daemon, otherwise incoming  connections  will
     not  be  initialized correctly.  Otherwise, start the daemon
     now.  From the _C_S_h_e_l_l, the command might be:

          # $(SBINDIR)tsapd >& /dev/null

     The  daemon  will  automatically  detach.   If  you  do  not
     redirect  the  daemon's  standard-error,  then  it  will not
     detach, instead printing messages as to what actions  it  is
     taking.

     That's about it.  This will install everything.  To clean-up
     the source tree as well, then use:

          % ./make clean

     at this point.  Note that if you are planning on  generating
     or  installing  FTAM  or VT or QUIPU (described below), then
     you should not clean-up the source tree until after you  are
     finished dealing with these.

     If your system is configured for TCP/IP,  and  you  are  not
     already running an SNMP agent, then you are URGED to immedi-
     ately install the SNMP agent  distributed  with  the  ISODE.
     Consult the NETWORK MANAGEMENT section below.

     Finally, if you are interested in discussing the ISODE  with
     others  running  the  software,  drop a note to the Internet
     mailbox "ISODE-Request@NIC.DDN.MIL", and ask to be added  to
     the "ISODE@NIC.DDN.MIL" list.

TAILORING
     If you create a file called $(ETCDIR)isotailor, then you can



Sun Release 3.5     Last change: 09 Mar 1991                    8






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



     customize  the  behavior of the programs which use the ISODE
     when they start.  Consult the support/isotailor.5  file  for
     further information.

USER PROGRAMS
     By default, two services are installed.

     The first service, having programs _i_s_o_c and _i_s_o_d, is used to
     test out the installation of the ISODE on your system:

          % ./make test

     which runs the _i_s_o_d_e-_t_e_s_t script.

     The second service, having programs _i_m_i_s_c and _r_o_s._i_m_i_s_c,  is
     a  small demo service supporting things like _f_i_n_g_e_r, _w_h_o and
     so forth.

     There are additional  programs  in  the  others/  directory.
     These  aren't  integral  parts of the system and assume that
     the ISODE is already installed.  Use at your own discretion.

REGISTERING OSI APPLICATION SERVICES
     Earlier releases of the ISODE relied  on  static  tables  to
     keep  track  of  the  OSI application services offered on an
     end-system.  This is a problematic exercise in keeping local
     and  remote  tables  synchronized.   In  this release of the
     ISODE, the OSI Directory can be used to manage this informa-
     tion, thereby automating the synchronization process.

  Preparation
     Once you have installed the ISODE, you must bring up a  DSA.
     The  procedures  for  doing  this  varies, depending on your
     location; consult the section "Setting up an Initial DSA" in
     Volume 5 of the _U_s_e_r'_s _M_a_n_u_a_l.

     Once your DSA is running, you should build the DMD for  your
     organization.   Underneath  the entry for your organization,
     you should select an area where your  end-system's  applica-
     tion  entities will reside in the DIT.  For example, the OSI
     application services available in PSI's Santa  Clara  office
     reside somewhere under:

          c=US
              @o=Performance Systems International
              @ou=Research and Development
              @ou=Santa Clara

     Note that this area may very  well  be  different  than  the
     value  of  the "local_DIT" in your dsaptailor file.  In gen-
     eral, all the end-systems at  a  site  will  have  the  same
     "local_DIT"  value,  but  each of those end-systems offering



Sun Release 3.5     Last change: 09 Mar 1991                    9






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



     OSI application services will place those services at a dif-
     ferent  portion in the DIT (usually somewhere underneath the
     "local_DIT" value).

     By convention, all the OSI application services offered by a
     given end-system are placed in the same location in the DIT,
     under an applicationProcess entry with the short name of the
     end-system,  e.g.,  "cn=cheetah".   So,  using  the  example
     above, the entry

          c=US
              @o=Performance Systems International
              @ou=Research and Development
              @ou=Santa Clara
              @cn=cheetah

     would contain all the entries of interest.

  Once-only Installation
     The _b_o_o_t_s_v_c script will generate a shell  script  that  will
     create  an  applicationProcess  entry  and then an entry for
     each of the OSI services provided by  the  ISODE.   So,  you
     must first select the RDN for the applicationProcess entry.

     Run _b_o_o_t_s_v_c to create a script:

          % support/bootsvc <<aP-name>> > run.sh

     e.g.,

          % support/bootsvc cheetah > run.sh

     Note that the first line of this script is  used  to  define
     the  network address where _i_a_e_d listens for incoming connec-
     tions.  By default, only the address for the  Internet  com-
     munity  (RFC1006)  is  set.  If the end-system is configured
     for other OSI communities, then this line should be  changed
     accordingly, e.g.,

          A="Internet=`hostname`|NS+aabbcc"

     Next, start _d_i_s_h in the background, bound  as  the  manager,
     move to the location in the DIT where the services are to be
     registered and run the script, e.g.,

          % setenv DISHPROC "127.0.0.1 `expr $$ + 32768`"
          % bind -u <<DN of DSA Manager>>
          % moveto "ou=Research and Development@ou=Santa Clara"
          % sh run.sh






Sun Release 3.5     Last change: 09 Mar 1991                   10






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



     Following this, you need to arrange  for  _i_a_e_d  rather  than
     _t_s_a_p_d  to run when the machine goes multi-user.  On Berkeley
     UNIX systems, replace these lines to the /etc/rc.local file:

          if [ -f $(SBINDIR)tsapd ]; then
              $(SBINDIR)tsapd & (echo -n ' tsap') > /dev/console
          fi

     with:

          if [ -f $(SBINDIR)iaed ]; then
              $(SBINDIR)iaed -D 'ou=Research and ...@cn=services' &
              (echo -n ' iae') > /dev/console
          fi

     On other systems, a similar procedure is followed.

     When _i_a_e_d starts, it will connect to the Directory, find the
     services contained therein, and start listening as appropri-
     ate.

     Finally, when the Directory  software  was  installed,  this
     included  a  program  called _d_a_s_e_d.  If you have not already
     done so, edit the $(ETCDIR)isotailor file to have these  two
     lines:

          ns_enable: on
          ns_address: Internet=domain-name+17006

     where "domain-name" is the DNS name  or  IP-address  of  the
     machine  which  is  running  _d_a_s_e_d.  This can be a different
     machine than the one running the DSA, but it's probably best
     to have the local DSA and _d_a_s_e_d running on the same machine.

     Next, arrange for _d_a_s_e_d to be started when the machine  goes
     multi-user.   On  Berkeley  UNIX systems, add these lines to
     the /etc/rc.local file:

          if [ -f $(SBINDIR)dased ]; then
              $(SBINDIR)dased & (echo -n ' dase') > /dev/console
          fi

     On other systems, a similar procedure is followed.

     When _d_a_s_e_d starts, it will listen for  incoming  connections
     from  initiator  ISODE programs.  (By default, the initiator
     programs aren't loaded with  the  user-friendly  nameservice
     and  the  DAP, owing to the code size--instead, they talk to
     _d_a_s_e_d.)

     For your other systems, edit the $(ETCDIR)isotailor file  to
     have these two lines:



Sun Release 3.5     Last change: 09 Mar 1991                   11






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



          ns_enable: on
          ns_address: Internet=domain-name+17006

     where "domain-name" is the DNS name  or  IP-address  of  the
     machine which is running _d_a_s_e_d.

     To test the system:

          % isode-test -iaed

     If all goes well, users should be able to type  things  such
     as

          % ftam cheetah,sc,psi,us

     and "the right thing" will happen  (i.e.,  local  users  can
     access  remote  services, even if they have not been entered
     into the entities database).

  Adding New Services
     The installation procedures need be performed only once.  If
     you   decide   to  disable  a  service,  simply  remove  the
     corresponding entry from the Directory.  To add a  new  ser-
     vice,  see the Section "Defining New Services" in the _U_s_e_r'_s
     _M_a_n_u_a_l.

FTAM/FTP gateway
     Because the FTAM/FTP gateway is meant to appear as  an  FTAM
     entity,  the entry for this service must be placed in a dif-
     ferent portion of the DIT than the regular FTAM service.  As
     such, the _b_o_o_t_s_v_c script will not install this service.

     Hence, if you wish to run such a service, you will  have  to
     install  it  manually.   The  entry  might be something like
     this:

          objectClass= top & quipuObject &            applicationEntity & iSODEApplicationEntity
          cn= <<whatever you want>>
          presentationAddress= <<unique transport selector>>/<<end-system's NSAP>>
          supportedApplicationContext= iso ftam
          acl=
          execVector= iso.ftam-ftp

     Look in your part of the Directory to see some  examples  of
     what these entries look like.

FILE TRANSER, ACCESS AND MANAGEMENT
     In addition, if you are running the ISODE on a  Berkeley  or
     AT&T System V UNIX system, then there is also an implementa-
     tion of the ISO FTAM.  FTAM, which stands for File Transfer,
     Access  and Management, is the OSI file service.  The imple-
     mentation provided is fairly complete in the context of  the



Sun Release 3.5     Last change: 09 Mar 1991                   12






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



     particular  file services it offers.  It is a minimal imple-
     mentation in as much as it offers only four  core  services:
     transfer  of text files, transfer of binary files, directory
     listings, and file management.

     To generate FTAM, go  to  the  isode-interim  directory  and
     type:

          % ./make all-ftam


     This will cause a complete generation of the FTAM  libraries
     and  programs.  If all goes well, proceed with the installa-
     tion.  If not, complain as there "should be no problems"  at
     this step.

     You will need to be the super-user to install FTAM:

          # ./make install-ftam

     That's about it.  This  will  install  everything  and  then
     clean-up  the source tree.  Note that if you are planning on
     generating or installing  the  FTAM/FTP  gateway  (described
     below),  then  you should not clean-up the source tree until
     after you are finished dealing with the  gateway.   In  this
     case,  or  if you just want an installation and no clean-up,
     then use:

          # ./make inst-ftam

     instead.

FTAM/FTP GATEWAY
     In addition, if you are running the ISODE on a  Berkeley  or
     AT&T  System  V UNIX system, there is also an implementation
     of an FTAM/FTP application gateway.  The gateway is actually
     two programs: one which acts as an ftam responder and an ftp
     client, and the other which acts as an  ftp  server  and  an
     ftam  initiator.  Note that the gateway currently resides at
     a different location than the standard  FTAM  responder  and
     FTP  server.   (This  may be corrected in a future release.)
     Read  the  manual  entries  for  _f_t_a_m_d-_f_t_p (8c)  and   _f_t_p_d-
     _f_t_a_m (8c) for the details.

     To generate the FTAM/FTAP gateway, go to  the  isode-interim
     directory and type:

          % ./make all-ftam-ftp


     This will cause a complete generation of  the  gateway.   If
     all  goes  well,  proceed  with  the  installation.  If not,



Sun Release 3.5     Last change: 09 Mar 1991                   13






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



     complain as there "should be no problems" at this step.

     You will need to be the super-user to install  the  FTAM/FTP
     gateway:

          # ./make install-ftam-ftp

     This will install everything and then  clean-up  the  source
     tree.   If  you  just  want an installation and no clean-up,
     then use:

          # ./make inst-ftam-ftp

     instead.

     Regardless of the command you use,  on  4.2BSD-derived  sys-
     tems, add this line to your /etc/servers file:

          ftp-ftam  tcp  $(SBINDIR)in.ftpd-ftam

     On  4.3BSD-derived  systems,   add   this   line   to   your
     /etc/inetd.conf file:

          ftp-ftam  stream  tcp  nowait  root  $(SBINDIR)in.ftpd-ftam  in.ftpd-ftam


     Finally, add this line to your /etc/services file:

          ftp-ftam                      531/tcp

VIRTUAL TERMINAL
     In addition, if you are running the ISODE on a Berkeley UNIX
     system,  there  is also an implementation of the ISO VT.  VT
     is the OSI terminal service.  The implementation provided is
     roughly comparable to an average telnet implementation.

     To generate the VT system, go to the isode-interim directory
     and type:

          % ./make all-vt


     This will cause a complete generation of  the  VT  initiator
     and  responder programs.  If all goes well, proceed with the
     installation.  If not, complain as there "should be no prob-
     lems" at this step.

     You will need to be the super-user to install VT:

          # ./make install-vt

     That's about it.  This  will  install  everything  and  then



Sun Release 3.5     Last change: 09 Mar 1991                   14






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



     clean-up  the source tree.  If you just want an installation
     and no clean-up, then use:

          # ./make inst-vt

     instead.

DIRECTORY SERVICES
     In addition, if you are running the ISODE on a Berkeley UNIX
     or  AT&T  System V UNIX system, there is also an implementa-
     tion of the OSI Directory,  called  QUIPU.   If  you're  not
     interested  in running a Directory, skip this text and go to
     the section entitled GENERATING DOCUMENTATION.

     Each host using the OSI directory implicitly runs  a  Direc-
     tory  User Agent (DUA).  Additionally, you may wish to run a
     Directory System Agent (DSA) on some hosts.   As  such,  the
     instructions  which  follow  indicate  which  activities are
     necessary in both instances, as appropriate.

  QUIPU GENERATION
     To generate QUIPU, go to  the  isode-interim  directory  and
     type:

          % ./make all-quipu


     This will cause a complete generation of  the  DSAP  library
     and  the  DSA.  If all goes well, proceed with the installa-
     tion.  If not, complain as there "should be no problems"  at
     this step.

  QUIPU INSTALLATION
     You will need to be the super-user to install QUIPU:

          # ./make install-quipu

     This will install everything and then  clean-up  the  source
     tree.   If  you  just  want an installation and no clean-up,
     then use:

          # ./make inst-quipu

     instead.  After  either  command,  there  is  one  once-only
     activity.

     The QUIPU DSA is a "static responder".  This means  that  it
     accepts new associations and managing old ones as necessary.
     Hence, if you intend to run a local DSA, it is necessary  to
     start the _r_o_s._q_u_i_p_u daemon when the machine goes multi-user.
     On  Berkeley  UNIX  systems,  add   these   lines   to   the
     /etc/rc.local file:



Sun Release 3.5     Last change: 09 Mar 1991                   15






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



          if [ -f $(SBINDIR)ros.quipu ]; then
              (cd /usr/etc/quipu-db; $(SBINDIR)ros.quipu) &
              (echo -n ' quipu') > /dev/console
          fi

     (This  assumes   your   database   is   in   the   directory
     /usr/etc/quipu-db  -  it  need  not  be) On other systems, a
     similar procedure is followed.

  QUIPU DATABASE
     If you intend to run a local DSA,  then  you  will  need  to
     build  a  Directory  database.   (If you are already running
     QUIPU 5.0 or later, then you've done this before and so  you
     can  skip to the next section on QUIPU TAILORING.) The data-
     base directory, by default, lives in the ETCDIR  area  (usu-
     ally  /usr/etc/)  under the name of quipu-db/.  Three proto-
     type   databases   can   be   found   in    the    directory
     others/quipu/quipu-db/.  These database files should be pro-
     tected as they contain Directory passwords and other  sensi-
     tive  information.   The  DSA  needs to be able to read this
     information, and so performs a setuid on  execution  to  the
     UID of the owner of the database directory.

     Now  customize   the   chosen   prototype   database   under
     /usr/etc/quipu-db/.    The  details  of  this  database  are
     explained in Volume 5 of  the  users  manual.   However  you
     should be able to derive a minimal database by following the
     example structure defined for University College  London  in
     the  GB branch of the Directory tree.  Then delete the exam-
     ple structure for O=University College London.

  QUIPU TAILORING
     If you choose to run a local DSA, now configure it.  The DSA
     tailors    itself   at   runtime   by   reading   the   file
     $(ETCDIR)quiputailor.  A prototype  of  this  file  will  be
     installed  during  the  normal  ISODE  installation process.
     Only one entry in the file usually needs to be changed:

          mydsaname          CN=toucan

     Substitute the name of the DSA as it occurs in the Directory
     for  "CN=toucan".   See _q_u_i_p_u_t_a_i_l_o_r (5) for a description of
     the   full   range   of    tailoring    options    in    the
     $(ETCDIR)quiputailor file.

     Now configure the various DUA programs.  These tailor  them-
     selves  at  runtime by reading the file $(ETCDIR)dsaptailor.
     A prototype of this file will be installed during the normal
     ISODE installation process.  Only one entry in the file usu-
     ally needs to be changed:

          dsa_address     toucan  localHost=17003



Sun Release 3.5     Last change: 09 Mar 1991                   16






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



     Substitute the name of your "primary" DSA for  "toucan"  and
     its    corresponding    presentation    address    for   the
     "'0101'H/Internet+..."  string.   This  information  can  be
     found in the Directory on the host which is running the DSA.

     Do not confuse the _d_s_a__a_d_d_r_e_s_s used in this  file  with  the
     _n_s__a_d_d_r_e_s_s  used  in the $(ETCDIR)isotailor file.  These are
     separate services and must live at different addresses.  See
     _q_u_i_p_u_t_a_i_l_o_r (5)  for  a  description  of  the  full range of
     tailoring options in the $(ETCDIR)dsaptailor file.

  QUIPU ONCE-ONLY
     Having tailored QUIPU, you can now start the DSA.   However,
     if you are already running QUIPU, then you will need to kill
     and restart the QUIPU DSA.

     Start the DSA now.  From the _C_S_h_e_l_l, the command might be:

          # $(SBINDIR)ros.quipu >& /dev/null

     The  daemon  will  automatically  detach.   If  you  do  not
     redirect  the  daemon's  standard-error,  then  it  will not
     detach, instead printing messages as to what actions  it  is
     taking.

NETWORK MANAGEMENT
     In addition, if you are running the ISODE on a Berkeley UNIX
     system,  there  is  also  an  implementation  of  the  SNMP.
     Although this is not the  OSI  network  management  service,
     Inasmuch as the continued survival of the Internet hinges on
     all nodes becoming  network  manageable,  this  package  was
     developed  using  the  ISODE and is being freely distributed
     with releases of Berkeley UNIX.

     It must be stressed that this package is not a complete net-
     work  management  system.   In particular, whilst _s_n_m_p_d pro-
     vides a minimal agent functionality, there  are  no  Network
     Operation Center (NOC) tools--_s_n_m_p_i is a debugging aid only.

     To generate the SNMP system, go to the isode-interim  direc-
     tory and type:

          % ./make all-snmp


     This will cause a complete generation of the SNMP agent  and
     the  minimal  SNMP  initiator  program.   If  all goes well,
     proceed with the installation.  If not,  complain  as  there
     "should be no problems" at this step.

     There are two once-only activities which must  be  performed
     prior  to  installation.   First,  check  your /etc/services



Sun Release 3.5     Last change: 09 Mar 1991                   17






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



     file, and verify that these three lines are present:

          snmp                          161/udp
          snmp-trap                     162/udp
          smux                          199/tcp

     If not, add them.

     Second, add these lines to the /etc/rc.local file:

          if [ -f $(SBINDIR)snmpd ]; then
              $(SBINDIR)snmpd & (echo -n ' snmp') > /dev/console
          fi
          if [ -f $(SBINDIR)smux.unixd -a -f $(SBINDIR)snmpd ]; then
              $(SBINDIR)smux.unixd & (echo -n ' smux-unix') > /dev/console
          fi


     You will need to be the super-user to install SNMP:

          # ./make install-snmp

     This will install everything and then  clean-up  the  source
     tree.   If  you  just  want an installation and no clean-up,
     then use:

          # ./make inst-snmp

     instead.

     Regardless of the command you use, read the comments in  the
     $(ETCDIR)snmpd.rc file which will tell you how to tailor the
     agent for your installation.

     Finally, if you are already running the SNMP, then you  will
     need  to  kill and restart the _s_n_m_p_d (8c) and SMUX UNIX dae-
     mons.  (It is  best  to  kill  _s_m_u_x._u_n_i_x_d  first,  and  then
     _s_n_m_p_d.)  Otherwise, start the daemons now.  From the _C_S_h_e_l_l,
     the command might be:

          # $(SBINDIR)snmpd >& /dev/null
          # $(SBINDIR)smux.unixd >& /dev/null

     The  daemon  will  automatically  detach.   If  you  do  not
     redirect  the  daemon's  standard-error,  then  it  will not
     detach, instead printing messages as to what actions  it  is
     taking.

LIGHTWEIGHT PRESENTATION PROTOCOL
     In addition, if you are running the ISODE on a Berkeley UNIX
     system,  there  is  also  an  implementation of RFC1085, the
     lightweight   presentation   protocol    for    TCP/IP-based



Sun Release 3.5     Last change: 09 Mar 1991                   18






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



     internets.

     To generate the LPP system, go to the  isode-interim  direc-
     tory and type:

          % ./make all-lpp


     This will cause a complete generation of the LPP library and
     support  programs.   If  all  goes  well,  proceed  with the
     installation.  If not, complain as there "should be no prob-
     lems" at this step.

     You will need to be the super-user to install the  LPP  sys-
     tem.   There  are two kinds of activities: once-only activi-
     ties that  you  perform  the  first  time  the  software  is
     installed;  and  each-time activities that you perform every
     time the software is installed.

     The first once-only activity is to verify that the _l_p_p_d dae-
     mon will be run when the machine goes multi-user.  On Berke-
     ley UNIX systems, add these lines to the /etc/rc.local file:

          if [ -f $(SBINDIR)lppd ]; then
              $(SBINDIR)lppd & (echo -n ' lpp') > /dev/console
          fi

     On other systems, a similar procedure is followed.

     The next once-only activity is to verify that systems with a
     native  /etc/services  file contain an entry for the miscel-
     lany service.  This is used  when  the  ISODE  miscellaneous
     services is run using the LPP.  If not, add the line:

          miscellany                    17002/lpp

     to the /etc/services file.  If your  system  does  not  have
     such  a  file,  the  software  automatically compensates for
     this.

     There are two each-time activities:

          # ./make install-lpp

     This will install everything and then  clean-up  the  source
     tree.   If  you  just  want an installation and no clean-up,
     then use:

          # ./make inst-lpp

     instead.




Sun Release 3.5     Last change: 09 Mar 1991                   19






ISODE-GEN(8)          MAINTENANCE COMMANDS           ISODE-GEN(8)



     Regardless of the command  you  use,  the  second  each-time
     activity, is that if you are already running the LPP system,
     then you will need to kill and restart the _l_p_p_d (8c) daemon,
     otherwise  incoming  connections  will  not  be  initialized
     correctly.  Otherwise,  start  the  daemon  now.   From  the
     _C_S_h_e_l_l, the command might be:

          # $(SBINDIR)lppd >& /dev/null

     The  daemon  will  automatically  detach.   If  you  do  not
     redirect  the  daemon's  standard-error,  then  it  will not
     detach, instead printing messages as to what actions  it  is
     taking.

     That's about it.

GENERATING DOCUMENTATION
     The directory doc/ contains the documentation set  for  this
     release.   Consult the file doc/READ-ME for a description of
     each document.  The directory  doc/ps/  contains  PostScript
     versions  of  each  document.  Usually it is easier to print
     the files in this directory than generate the  documentation
     from scratch as the sources to these documents are in either
     LaTeX (for papers) or SLiTeX (for presentations).

     If you received this distribution from the network, then the
     directory  doc/ps/  does  not  contain any PostScript files.
     There should be a separate compressed _t_a_r  file,  containing
     only  PostScript  files,  available on the machine where you
     retrieved this distribution.

FILES
     Too numerous to mention.  Honest.

SEE ALSO
     _T_h_e _I_S_O _D_e_v_e_l_o_p_m_e_n_t _E_n_v_i_r_o_n_m_e_n_t: _U_s_e_r'_s _M_a_n_u_a_l

AUTHOR
     Marshall T. Rose
     with assistance from a cast of thousands (read  the  Preface
     in the _U_s_e_r'_s _M_a_n_u_a_l)














Sun Release 3.5     Last change: 09 Mar 1991                   20