DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
Administering TCP/IP

Configuring UUCP over TCP/IP with TLI

The following steps demonstrate how to configure UUCP over TCP/IP using TLI between the systems london and thames. The example shown by the following procedure is a configuration where the host london initiates all UUCP requests, while the host thames listens and responds to all requests. If you want both hosts to be able to use the uucp command to initiate a UUCP transaction, repeat this procedure on each host, exchanging host names where appropriate.

  1. Pick a TCP port on which thames will listen for incoming UUCP requests. The sample following procedure uses port 698. The port chosen should not already appear in the /etc/services file and should not be port 540.

  2. Determine the address on which thames will listen for requests. This number is the representation of a sockaddr_in structure as defined in the /usr/include/sys/netinet/in.h header file. This number is a 16-byte number and needs to be constructed both in hexadecimal and in octal. Use of the bc(C) command is helpful here. To construct the number in hexadecimal, note that:

  3. Set up the Network Listening Service on thames:

    a.
    As root, enter:

    nlsadmin -i inet/tcp

    This creates the directory /usr/net/nls/inet/tcp and allows us to add services that listen on the device /dev/inet/tcp.


    b.
    Enter on one line:

    nlsadmin -a 101 -c "/usr/lib/uucp/uucico -r0 -iTLI -unuucp"
    -w uucp -y "TLI UUCP" inet/tcp

    This adds service number 101, which executes the command /usr/lib/uucp/uucico -r0 -iTLI -unuucp as the user uucp, when a request for service number 101 is received on the device /dev/inet/tcp.

    The options and arguments to nlsadmin are:


    -a 101
    Add a service with label 101 (service code).

    -c "command"
    Fork the command in quotes.

    -w uucp
    Enter the command given in the -c option as the user uucp.

    -y "TLI UUCP"
    Add a comment.

    inet/tcp
    Specify that this service is to listen on /dev/inet/tcp. This step requires that the command in step 3a has already been executed.

    The options to the uucico command in the -c option of nlsadmin are:


    -r0
    Act in slave mode.

    -iTLI
    Use the TLI interface.

    -u nuucp
    Start up as the user nuucp. This is different from the -w option in the nlsadmin command.

    c.
    Enter the command:

    nlsadmin -l "\x020002ba849376030000000000000000" inet/tcp

    This is the hexadecimal representation of the address constructed in step 2.

  4. Add the following line to /usr/lib/uucp/Systems on thames:
       london Never TLI,e Any
    
    If this line for london has already been added for TLI so that thames can initiate a connection, make no changes to the /usr/lib/uucp/Systems file.

  5. Add the following set of lines to /usr/lib/uucp/Permissions on thames:
       MACHINE=london LOGNAME=nuucp \
               COMMANDS=rmail:rnews:uucp \
               READ=/usr/spool/uucppublic:/usr/tmp \
               WRITE=/usr/spool/uucppublic:/usr/tmp \
               SENDFILES=yes REQUEST=yes
    

  6. Add the following line to the /usr/lib/uucp/Systems file on london:
       thames Any TLI,e Any address
    
    where address is the octal representation of the address constructed in step 2. Thus the line to add is:
       thames Any TLI,e Any \002\000\002\272\204\223\166\003
               \000\000\000\000\000\000\000\000
    
    This should all be on one line. The backslashes surrounding each octal byte are required.

  7. Add the following line to the /usr/lib/uucp/Devices file on london:
       TLI inet/tcp - Any TLI \D nls
    

  8. Add the following line to the /usr/lib/uucp/Dialers file on london:
       nls "" "" NLPS:000:001:101\N\c
    
    Note that the ``101'' specified here matches the service code added with nlsadmin -a in step 3b.

  9. Add the following lines to the /usr/lib/uucp/Permissions file on london:
       MACHINE=thames LOGNAME=nuucp \
               COMMANDS=rmail:rnews:uucp \
               READ=/usr/spool/uucppublic:/usr/tmp \
               WRITE=/usr/spool/uucppublic:/usr/tmp \
               SENDFILES=yes REQUEST=yes
    

  10. Verify that each host is listed in the other's /etc/hosts file or resolvable by the nameserver. Add the following lines to the end of the file /etc/rc2.d/P87USRDAEMON on thames, so that the listener is started when the system is booted:
       nlsadmin -s inet/tcp 2>/dev/null
       [ $? = 0 ] && echo "Started listener"
    

  11. Shut down and reboot both systems. Verify that the process called ``listen'' is running on thames. You should now be able to issue uucp requests for thames from london.


Next topic: Obtaining RFCs from the Internet
Previous topic: Configuring UUCP over TCP/IP with the TCP socket interface

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003