home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d1xx / d109 / uupc.lha / UUpc / Source / README.UU < prev    next >
Text File  |  1987-10-28  |  8KB  |  240 lines

  1. July 29/87                        Stuart Lynne
  2.  
  3. UU is now running on Macintosh, Atari-ST, Amiga, and IBM-PC with MS-DOS.
  4.  
  5. These versions will constitute my first release of uu and pcmail. Please 
  6. see the README files in each shar file for appropriate instructions.
  7.  
  8. As is, uu sends and receives files quite well. Still unimplemented is
  9. the reverse direction file transfers, i.e. send a file to a remote host
  10. while in slave mode, receive a file while in master mode. These are not 
  11. needed to support news and mail. They will be needed to implement a proper
  12. uucp command. (Also still missing is a uucp command!)
  13.  
  14. The user agent mail program is a very simple hack to simply allow you to 
  15. read and send mail. This program will hopefully be replaced in the 
  16. VERY NEAR future.
  17.  
  18. The message transfer agent pcmail program is fairly robust. It does need to
  19. have some more intelligence to allow for more intelligent routing of outgoing
  20. mail. Currently ALL outgoing mail is forward to a single remote site for
  21. processing. This will actually handle the needs of a large number of users
  22. but for those lucky ones who can actually get access to several large uucp
  23. sites better routine would be nice.
  24.  
  25.  
  26. Other things which are needed:
  27.  
  28.     news unbatcher
  29.     news reader
  30.  
  31. Please feel free to port this code to other environments. I ask only that you
  32. try and limit changes to the machine independent code. Things have been setup
  33. so that you shouldn't have to modify dcp, uu, mail or pcmail if you are simply
  34. porting to a new environment. 
  35.  
  36. Please send me any new versions, diff's to get old versions working better,
  37. bug fixes etc.
  38.  
  39. Have fun and enjoy.
  40.  
  41. I would suggest that questions and comments about uu/dcp/mail be directed
  42. to comp.mail.uucp on Usenet. This group is about "Mail in the uucp network
  43. environment." which describes uu pretty well.
  44.  
  45.  
  46. Stuart Lynne
  47.  
  48. {ihnp4!ubc-vision,uunet}van-bc!Stuart.Lynne  604-937-7532
  49. { currently uunet is polled twice per week }
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. uu             June 8, 1987        Stuart Lynne
  59.  
  60. For Beta implementors only.
  61.  
  62. uu incorporates a streamlined version of dcp to implement a uucp mail
  63. and news delivery system. 
  64.  
  65. See README.DCP for dcp info.
  66.  
  67. By moving the host dependant code into one file the other four dcp files can 
  68. hopefully be maintained easily. It should be possible to maintain one version
  69. of them which compiles and runs on all machines without conditional compilation
  70. flags.
  71.  
  72. The host file should contain:
  73.  
  74.     - serial I/O
  75.     - BSD compatible directory routines
  76.     - system call stuff
  77.  
  78. This all goes to implement a command called uu. It is similiar to the uucico
  79. command under unix.
  80.  
  81.     uu [-xn] [-shost]
  82.  
  83.  
  84. There is also two mail source files. Pcmail is the MTA part of the mail system.
  85. It compiles in two ways, one for rmail (add only From and Received: headers), 
  86. define a simple rnews; and for lmail (add all headers). Pcmail will effect
  87. delivery of mail to local and remote users. Currently all remote mail is 
  88. directed to one smart host for forwarding.
  89.  
  90. Mail is a simple UA. It allows you to send mail and read your mailbox. It needs
  91. lots of work but is servicable.
  92.  
  93.     mail -s "subject here" user user@remote.site.domain < message
  94.  
  95.     mail -f =mailbox
  96.  
  97.     mail
  98.  
  99. will all do the obvious. Mail will append a .signature if it can find one, and
  100. will keep a copy of your outgoing mail in =mail.sent.
  101.  
  102. ToDo:
  103.  
  104.     uucp command
  105.     mail improvements
  106.     bug fixes to uu/dcp
  107.     ports to Atari, Amiga, IBM PC, VMS
  108.  
  109.  
  110. Makefile    - sample Makefile (Macintosh Aztec C)
  111. getargs.c     - library routine
  112. lmail.c     - define LMAIL; include pcmail
  113. mail.c      - mail program (UA)
  114. pcmail.c     - mail program (MTA)
  115. rmail.c     - define RMAIL; include pcmail
  116. lib.c        - misc library routines, FOPEN, CREAT, getargs, printmsg
  117.  
  118. host.h         - prototype for host.c, includes "local/host.h"
  119. mailhost.c     - ditto for mailhost.c, includes "local/host.c"
  120. mlib.c         - ditto for mlib.c,     includes "local/mlib.c"
  121. ulib.c         - ditto for ulib.c,     includes "local/ulib.c"
  122. uuhost.c     - ditto for uuhost.c,     includes "local/host.c"
  123.  
  124.  
  125. pcmail in general
  126. Pcmail provides MTA functionality. It delivers the mail. Currently it is
  127. very dumb about forwarding mail. Local deliveries always succeed if there
  128. is room and the mail spooling directory exists. No "/etc/passwd" file list
  129. of users is used to determine if there really is a mailbox for an incoming
  130. message. Also outgoing mail is assumed to go to one smart host for 
  131. processing. This is determined by scanning for "!" or "@" in the address.
  132.  
  133. Both local and remote delivery algorithms could be souped up. Locally we
  134. should maintain a list of mailboxes. For remote we should attempt to build
  135. a path to the most reasonable host for forwarding a specific message. This
  136. will require a small version of the paths database most likely. If your 
  137. only talking to one host anyway the current scheme is not all that bad.
  138.  
  139. Pcmail has one additional capability which is not currently being exploited.
  140. It can add additional message length header lines and spool mail into a 
  141. mailbag. This mailbag could then be sent intact to your host for processing.
  142. The host must run rpcmail (availble from sl@van-bc.uucp) to unbatch the
  143. messages to rmail. This corresponds to the AT&T Mail protocol for uploading
  144. mail from PC's.
  145.  
  146. Most likely the converse capability would be more suitable. Have the host 
  147. batch incoming mail and news. Unbatch it on this side. 
  148.  
  149. pcmail / LMAiL
  150. The mail UA is composed of the mail.c program and pcmail.c compiled without
  151. defining RMAIL (LMAIL). The LMAIL version of pcmail adds rfc822 headers
  152. to all mail, copies mail to =mail.sent etc.
  153.  
  154. pcmail / RMAIL
  155. The uu program contains the RMAIL version of pcmail. It only adds the From 
  156. Received: headers to incoming mail. 
  157.  
  158.  
  159.  
  160. For more information, bug fixes, more commands etc:
  161.  
  162.         Stuart.Lynne@van-bc.uucp
  163.         604-937-7532
  164.  
  165.  
  166. Directory tree
  167.  
  168. /usr
  169. /usr/lib
  170. /usr/lib/uucp
  171. /usr/lib/uucp/SEQF            - sequence numbers
  172. /usr/lib/uucp/systems        - host connection information
  173. /usr/spool
  174. /usr/spool/mail                - mail directory
  175. /usr/spool/mail/XXXX        - user mail files
  176. /usr/spool/rnews            - rnews spool/file
  177. /usr/spool/uucp                - spool directory
  178. /usr/spool/uucp/C.YYYYYNNNN    - copy control files
  179. /usr/spool/uucp/D.YYYYYNNNN    - uucp data files
  180. /usr/spool/uucp/dcp.log        - log file
  181. /usr/spool/uucp/X.YYYYYNNNN    - execute control files
  182. /usr/XXXX                    - user directories
  183. /usr/XXXX/.signature        - signature file
  184. /usr/XXXX/Mail                - user mail directory
  185. /usr/XXXX/Mail/mail.sent    - sent file
  186. /tmp                        - temporary files
  187.  
  188.  
  189.  
  190. Systems File 
  191.  
  192. NB. I have split the lines, in the real file they should be one line for
  193. each entry.
  194.  
  195. This entry uses the built in Hayes dialer.
  196.  
  197. van-bc Any a HAYES TD939-4782 g ogin:--ogin: uuslmac sword:-\c-sword: uuslmac
  198.  
  199.     Connect to van-bc using HAYES dialer with phone number 939-4782 with
  200.     protocol g.
  201.     Wait for ogin: if timeout send \n and wait for ogin:.
  202.     Send uuslmac (login ID).
  203.     Wait for sword:, if timeout send nothing, wait for sword:
  204.     Send uuslamc (login ID).
  205.     
  206. I use this entry to connect via a DC Hayes Smartmodem 2400, dialing explicity.
  207.  
  208. van-bc Any a DIR 2400 g "" ATZ OK-\d+++\dATZ-OK ATS7=12 OK ATTD939-4782 
  209.     CONNECT \d\c ogin:--ogin: uuslmac sword:-\c-sword: uuslmac
  210.  
  211.     Connect to van-bc at 2400 on port a with protocol g. 
  212.     Expect nothing, send ATZ to reset the modem, 
  213.     Expect OK, if not received send pause +++ pause to try and get
  214.     modems attention and wait for OK.
  215.     When OK received, send ATS7=12 to shorten connect timeout on modem.
  216.     Expect OK, send ATTD939-74782.
  217.     Expect CONNECT, send nothing but pause (\c is needed).
  218.     Expect ogin:, if not received send newline.
  219.     Send login name.
  220.     Expect sword:, send password.
  221.  
  222.  
  223. This entry is used to connect directly to my Callan at 9600. It is
  224. complicated due to the Callan running a special mgetty program which
  225. thinks it is talking to a Hayes Smartmodem. So we fake it out, then
  226. tell it the connection has been made at 9600, then switch to 9600 
  227. ourselves.
  228.  
  229. van-bc Any a DIR 2400 g "" OK\r\d\dRING\r\dCONNECT\s9600\d\z9600\ 
  230.     ogin:-\r\r-ogin: uuslmac sword:-\c-sword: uuslmac "" \d\d\d\d\d\d\c
  231.  
  232.     Connect to van-bc at 2400 on port a.
  233.     Expect nothing, send OK, pause, RING, CONNECT, 9600, 
  234.     and change to 9600 bps.
  235.     Expect ogin: send login id.
  236.     Expect sword: send password.
  237.  
  238.  
  239.  
  240.