home *** CD-ROM | disk | FTP | other *** search
/ ftp.qualcomm.com / 2014.06.ftp.qualcomm.com.tar / ftp.qualcomm.com / eudora / servers / unix / srialpop.shar / INSTALL next >
Text File  |  1997-03-26  |  14KB  |  330 lines

  1.     INSTALL  2.6 96/11/12
  2.  
  3.     S R I A L P O P
  4.  
  5.     Concise installation guide.
  6.  
  7.     =============================================
  8.  
  9.     Contents:
  10.     - COPYRIGHT NOTICE
  11.     1.What is srialpop?
  12.     2.Why should you use it?
  13.     3.How to install srialpop:
  14.     4.Are there disadvantages in using srialpop?
  15.     5.Has srialpop security risks?
  16.     6.How to test srialpop:
  17.     7.Some navigation and scripting examples.
  18.  
  19.     =============================================
  20.  
  21.  
  22. ========================== COPYRIGHT NOTICE =============================
  23. This package srialpop is written by and copyright Rudi van Houten
  24. <R.vanHouten@cc.ruu.nl>, it is tested and used now at ACCU (Ac.Comp.
  25. Centr.Utrecht, the Netherlands) for several years.
  26.  
  27. The package consists of four files:
  28.     srialpop.c  the C source of the program
  29.     Makefile    to build and eventually install the package
  30.     README      an old documentation describing the package
  31.     INSTALL     a newer document with concise installation instructions
  32.  
  33. I grant everybody the right to use the package and eventually
  34. adapt it to local requirements. Please document your changes in the
  35. program source with comments explicitely stating that a modification
  36. to the original package has been made. I don't want to be blamed for
  37. your errors nor get the praise for your inventions.
  38.  
  39. Also everybody has the right to bundle this package with other software
  40. (e.g. a POP client) on distribution media, but THEN THE UNCHANGED VERSION
  41. MUST BE DISTRIBUTED, and no extra fee may be charged for the presence
  42. of srialpop in the bundle. If there is a need to modify srialpop for
  43. special purposes these modification should be made available as a separate
  44. file (e.g. a diff file to be applied with Larry Wall's patch program).
  45.  
  46. I present this package as is, feeling it can be of use. But no
  47. guarantees are given about its proper working or behaviour. It has
  48. been used at ACCU for some years now without troubles, so I think it may
  49. be bug free. But I cannot be held responsible for any damage or other
  50. misery resulting from using srialpop.
  51. ===========================================================================
  52.  
  53.  
  54. 1.What is srialpop?
  55. ------------------
  56.  
  57.   Srialpop is a little gadget running on a UNIX system that makes a
  58.   serial terminal connection to a UNIX system (tty port) behave like
  59.   a TCP/IP connection. It was written to support the Post Office
  60.   Protocol (POP) over serial dial up lines for use with Eudora and
  61.   NUPop. Hence the name srialpop.
  62.   See also the file README.
  63.  
  64. 2.Why should you use it?
  65. -----------------------
  66.  
  67.   In these days of SLIP and PPP, and IP over ISDN, the need of a gadget
  68.   like srialpop is fastly dwindling.
  69.   You only need srialpop if:
  70.   -your connection from your personal computer (Mac or PC) to the
  71.    maildrop computer is a plain serial tty connection. Either directly
  72.    to your mailhost or via a portselector (eg. Develcon or Gandalf).
  73.   -you connect to a communication server (Annex, Cisco, AccessBuilder)
  74.    that only offers the possibility to set up an interactive login session.
  75.  
  76.   In short, if you are limited to a connection that shows you the UNIX
  77.   login prompt when the connection is established then you need srialpop.
  78.  
  79.   You don't need srialpop if:
  80.   -your personal computer is connected to the mailhost via a TCP/IP
  81.    network.
  82.   -you use SLIP or PPP to reach the mailhost with a TCP/IP connection.
  83.   -you can connect to a communication server that enables you to open
  84.    a TCP/IP connection for POP and SMTP.
  85.  
  86.   If this documentation doesn't provide you with enough clues to decide
  87.   you need or don't need srialpop please contact your UNIX system or
  88.   network manager.
  89.   If you decide you need srialpop but it is not clear how you should
  90.   install it you also need to call the help of your UNIX or network
  91.   manager.
  92.  
  93. 3.How to install srialpop:
  94. -------------------------
  95.  
  96.   First you must compile srialpop on your mailhost UNIX system. I have
  97.   concocted a Makefile that ought to work on most systems. Perhaps
  98.   you might prune it somewhat. Especially the owner uid/gid should be
  99.   adapted to your situation. When srialpop is successfully made with
  100.   the command "make" you have to install it somewhere on the system.
  101.   There exist some different approaches to make it usable:
  102.   -You are not a system manager and you are installing srialpop for
  103.    your personal use. In this case you must move the srialpop executable
  104.    to your personal bin directory (generally $HOME/bin) that is named in
  105.    your searchpath (PATH in [ba|k]sh or path in [t]csh). If your
  106.    .profile ([ba|k]sh) or .login ([t]csh) interactively asks questions, eg.
  107.    the tset command, you have to teach the Eudora navigation or NUPop
  108.    scripts to handle these questions. Consult your POP client docs
  109.    on how to do this.
  110.    The command to perform this installation (I assume you have already
  111.    unpacked the files since you are reading this INSTALL):
  112.         make instbin
  113.    This installs srialpop in your ${HOME}/bin directory.
  114.    You can also use:
  115.         make
  116.         cp srialpop $HOME/bin (assuming you have this directory)
  117.         strip $HOME/bin/srialpop
  118.         chmod 755 $HOME/bin/srialpop
  119.   -You are a system manager and you are installing srialpop for general
  120.    use. Of course you can then simply install the srialpop binary in the
  121.    public bin directory (generally /usr/local/bin). This has the same
  122.    disadvantages concerning the questions in .profile or .login as with
  123.    the installation for personal use described above.
  124.    The commands to perform this installation (I assume you have already
  125.    unpacked the files since you are reading this INSTALL):
  126.         su
  127.         make
  128.         mv srialpop /usr/local/bin (assuming you have this directory)
  129.         strip /usr/local/bin/srialpop
  130.         chmod 555 /usr/local/bin/srialpop
  131.         exit
  132.    However I prefer the next approach.
  133.   -You use the scheme followed in the Makefile at the target
  134.    "install:". Then before you run "make install" you must create a
  135.    user called srialpop that has the program ~srialpop/srialpop as
  136.    its login shell. Now everyone logging in as srialpop can use the
  137.    telnet commands allowed by srialpop (port 25, 105, 106 109 and 110).
  138.    This seems a security risk since it offers everyone and his/her dog
  139.    who can use a modem the possibility to enter the Internet on the
  140.    above mentioned ports. There is no way to keep the srialpop login
  141.    password hidden from the users. However, I don't consider this a
  142.    real risk. It does not really enlarge the access to Internet
  143.    considering the count of Internet Service Providers that offer
  144.    access to Internet, and srialpop limits the access to the above
  145.    mentioned services.
  146.    The advantage of this approach is that there is no interaction with
  147.    the user's .profile or .login. There is even no need for the users to
  148.    have a real home directory. At ACCU we now have some thousands of so
  149.    called POPmail accounts. These accounts have ~srialpop as home directory
  150.    and /bin/passwd (or /bin/false) as login shell.
  151.    The commands to perform this installation (I assume you have already
  152.    unpacked the files since you are reading this INSTALL):
  153.         make
  154.         su
  155.         <<create pseudo user srialpop and its home directory>>
  156.         make install
  157.         exit
  158.    See also the file README.
  159.  
  160. 4.Are there disadvantages in using srialpop?
  161. -------------------------------------------
  162.  
  163.   Sure there is a disadvantage. The TCP/IP protocols are based upon
  164.   guaranteed faultless transmission. The POP clients don't provide
  165.   for error handling since it assumes no errors can occur with TCP/IP.
  166.   Also with SLIP and PPP this error free transmission is guaranteed.
  167.   With srialpop this is not so.
  168.   When you use srialpop the connection looks like TCP/IP to the client
  169.   program on your personal computer, but that is only a facade. Even
  170.   a modem with error correction (MNP4) can not ensure faultless
  171.   transmissions. There always is a small risk that errors show up.
  172.   In special sending big attachments with binhex or uuencode can cause
  173.   problems with unusable damaged mails.
  174.   Also there are some thoughts concerning security, real or imaginary.
  175.  
  176. 5.Has srialpop security risks?
  177. ----------------------------
  178.   Yes, there are some aspects with srialpop considering security. The most
  179.   aspects are already mentioned.
  180.   -You can not be dead sure that messages will be transferred error free.
  181.   -The scheme with pseudo-user srialpop offers potential hackers a way
  182.    to use the TCP/IP ports allowed by srialpop without an authentication.
  183.    The normal ways to get access to Internet require an authentication
  184.    via an account on the host computer or communication server. But since
  185.    srialpop restricts the TCP/IP services to the set needed for mail
  186.    (SMTP/PH/poppasswd/POP2/POP3) I don't see reasons for alarm. And the
  187.    skilled hackers have means to reach the Internet in more unimpeded
  188.    ways. How else should they have acquired their skills?
  189.    But when you have shivers on this aspect don't use my preferred scheme.
  190.    SMTP is the only hairy one in srialpop's subset of allowed services, it
  191.    does not ask for authentication. You could reduce your shivers by
  192.    removing SMTP from that subset (NO_SMTP in the Makefile) and configure
  193.    the clients to use the POP server for sending mail. Of course both the
  194.    server software as the client software must then support this option.
  195.    See the documentation of your server and/or client software (look for
  196.    the POP3 extension "XTND XMIT").
  197.   -The login to account srialpop is automated in the scripts/navigation of
  198.    the POPmail client. When the telephone line is noisy and characters are
  199.    lost or maimed the login fails. Many UNIX systems (AIX, SCO) have a
  200.    policy of locking an account after repeated login failures. So for the
  201.    srialpop pseudo account this security policy must be disabled. Recently
  202.    we experienced at ACCU a storm of complaints that serial pop access was
  203.    suddenly impossible, it cost us an hour before we pinpointed that locking
  204.    as the cause of the problem.
  205.   -Also the use of an expiration time on passwords must be disabled for the
  206.    srialpop pseudo account. It is nearly impossible (and utterly senseless)
  207.    to advertise the change in password needed in the navigation scripts.
  208.   -Also remember that there are no ways to keep srialpop's password secret.
  209.    So everything in srialpop's home directory, including the home directory
  210.    itself must NOT be owned or being writable by srialpop and no sensitive
  211.    information must be kept in that directory.
  212.    If your flavour of UNIX supports it you should disable the possibility
  213.    to "su" to user srialpop. Also the program's pathname should NOT be defined
  214.    as an allowable shell (etc/shells on most systems, /etc/security/login.cfg
  215.    on AIX).
  216.   -If user srialpop is not disabled from using ftp there can be done dire
  217.    things with the SITE EXEC commands if your ftp-daemon allows it.
  218.    Therefore the "make install" will put user srialpop in /etc/ftpusers to
  219.    disable the use of ftp.
  220.    
  221.  
  222. 6.How to test srialpop:
  223. ----------------------
  224.  
  225.   Invoke the program srialpop, either by calling it from your own
  226.   login shell or by logging in as user srialpop. Srialpop will show
  227.   you the %-sign as prompt. Now you can enter commands just as in
  228.   a regular shell, but srialpop only allows the commands "exit",
  229.   "logout", "quit" and "telnet <host> <port>". The first three
  230.   commands will cause a graceful termination of srialpop. The
  231.   telnet-command will set up the desired telnet connection. Every
  232.   other command will result in an error exit.
  233.   When establishing a telnet connection srialpop performs its
  234.   magic on the tty settings as described in the file README. That
  235.   means echo-off and half-cooked mode. Now you can enter the
  236.   commands for the called IP service, but you will not see what
  237.   you type in (echo is off), and you must give a Linefeed (^J)
  238.   as line termination. In fact the line termination ought to be
  239.   the CR/LF (^M/^J) pair, but all UNIX systems I have tried till now
  240.   have been content with only the LF.
  241.   Upon closing the telnet connection the tty settings are set back to
  242.   what it was before.
  243.   This behaviour makes the program a little awkward for hand testing,
  244.   but it just is this functionality for what it was written.
  245.  
  246. 7.Some navigation and scripting examples.
  247. ----------------------------------------
  248.  
  249.   Macintosh Eudora uses STR#-resources for the "navigaton", see the
  250.   Eudora Users Manual Appendix D. An example of resources:
  251.   STR#-resource "Navigate In" ID=2400:
  252.       3 strings
  253.       string 1 "\r\r\elogin:"
  254.       string 2 "srialpop\r\eassword:"
  255.       string 3 "thepasswd\r\e%"
  256.    STR#-resource "Navigate Mid" ID=4200:
  257.       1 string
  258.       string 1 "\e%"
  259.    STR#-resource "Navigate Out" ID=2600
  260.       1 string
  261.       string 1 "logout\n"
  262.  
  263.    NUPop uses script files MODEMINI.SCR, DIAL.SCR, CONNECT.SCR,
  264.    DISCONNE.SCR and DROP.SCR. Consult the NUPop documentation.
  265.    An example of a set of NUPop scripts:
  266.       MODEMINI.SCR:
  267.       *     Initialize the modem.
  268.       *
  269.       modeminit
  270.       
  271.       DIAL.SCR:
  272.       *
  273.       *     Initialize the modem.
  274.       *
  275.       modeminit
  276.       *
  277.       *     Dial terminal server / serving host
  278.       *
  279.       dial
  280.       *
  281.       *     Wait for "CONNECT" etc. to pass by.
  282.       *
  283.       *     Wait for the terminal server prompt.
  284.       *
  285.       * delay until login banner appears
  286.       repsendwait 2 2 "|" "login: "
  287.       *
  288.       * login as srialpop
  289.       stext "~srialpop|"
  290.       * wait for password prompt
  291.       waitstring "Password:"
  292.       * and send password
  293.       stext "~thepasswd"
  294.       * wait for command prompt
  295.       waitstring "%"
  296.       
  297.       CONNECT.SCR
  298.       *
  299.       *     Request a connection to the system (%n) on TCP port (%p).
  300.       *
  301.       stext "~telnet %n %p|"
  302.       
  303.       DISCONNE.SCR:
  304.       *
  305.       *     Wait for a second of peace and quiet.
  306.       *
  307.       waitquiet
  308.       
  309.       DROP.SCR:
  310.       *
  311.       *     Wait for a second of peace and quiet.
  312.       *
  313.       waitquiet
  314.       *
  315.       *     Tell terminal server we're done.
  316.       *
  317.       stext "~logout|"
  318.       *
  319.       delay
  320.       *
  321.       waitquiet
  322.  
  323.  
  324.  
  325.  
  326.                         96/11/12
  327.                         Rudi van Houten
  328.                         R.vanHouten@cc.ruu.nl
  329.                         Ac.Comp.Centr.Utrecht
  330.