home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / w / w165peg3.zip / UDG2.TXT < prev    next >
Text File  |  1992-11-04  |  39KB  |  748 lines

  1. ----------UDG2.TXT ESSENTIAL READING -----------
  2.  
  3. Version 92.11.04
  4. Written by ross@westmead.health.su.oz.au
  5.  
  6. As long as you comply with certain conditions set out at the end of this
  7. document, you do not have to pay any money to use the software in this
  8. UDG kit. In fact it is not possible to legally use this software if any fee
  9. was paid for it other than with the written consent of the author. 
  10.  
  11. NONE of the material in this UDG kit has been released into the public
  12. domain. This material is original work and all rights are retained by the
  13. author (copyright, (C) Dr Ross Lazarus, 1992). Please see the section
  14. on Legal matters at the end of this documentation before distributing,
  15. installing or using any of these materials since you must agree to
  16. comply with certain conditions in order to gain your free licence to
  17. these copyright materials.
  18.  
  19. ---Background - Waffle 1.65, Pmail and the Internet---
  20.  
  21. Waffle is a shareware Bulletin Board System (BBS) available for both
  22. DOS and UNIX machines, which uses the Unix to Unix
  23. Communications Protocol (UUCP) to transfer mail and other files. It
  24. can easily be set up to talk to a friendly Unix box for mail transfer and
  25. allows dial in users access to a functional BBS. If the host Unix box is
  26. on the Internet, then you can readily manage sending and receiving your
  27. internet mail through Waffle on a DOS machine. 
  28.  
  29. Even though Waffle is a fine piece of software, it is not as easy to use
  30. or as "friendly" as the Pegasus email (Pmail) package for Novell
  31. networks. Moreover, Waffle is designed to work as a normal BBS
  32. accessed over a telephone line, not a Novell network. 
  33.  
  34. Fortunately, Pmail provides a User Defined Gateway (UDG) facility
  35. which makes it possible to use it as the mailer front end and Waffle as
  36. the mail transporter. Thus you can have the best of both worlds -
  37. connection to the approximately 750,000 machines currently on the
  38. internet (as at August 1992) and a friendly mail front end which runs on
  39. Novell network DOS workstations. 
  40.  
  41. For connected internetworks of Novell file servers, this UDG offers
  42. substantial cost savings through the use of a single Waffle UUCP
  43. gateway serving all users on any workstations on any of the connected
  44. file servers. Pmail installations with MHS already have such a facility,
  45. however, this UDG kit allows the rest of us to gain the same benefits
  46. without the additional expense of purchasing MHS - Lookout Novell !!!.
  47.  
  48.  
  49. In fact, one reason I wrote this UDG kit was to avoid the cost of buying
  50. MHS. For $30, you can register Waffle. This kit and Pmail don't cost
  51. anything. Anyone who wishes to is quite welcome to send me the
  52. change which should be about $1470 per site based on Australian MHS
  53. prices. 
  54.  
  55. Note that although Pmail for the Mac is available, this UDG package is
  56. NOT available for the Mac, so Mac users will have to wait for someone
  57. to write them a UDG. The source is in Turbo Pascal and I use the 5.5
  58. compiler (it still works!). It might be ported, but not by me.
  59.  
  60. Note also that this document will NOT help you to get Waffle working
  61. - there's more than enough documentation in the Waffle distribution for
  62. you to do that without my help. If you can't get Waffle working, you
  63. won't have any use for this UDG kit and you'd be wasting your time
  64. reading any further until you've fixed Waffle. Comp.bbs.waffle is a
  65. VERY good newsgroup if you're having Waffle problems. Please don't
  66. hassle me with Waffle installation or care and feeding problems.
  67.  
  68. ------------------------Basics----------------------
  69.  
  70. This file and the accompanying software may be of use to Pegasus users
  71. wishing to install Waffle 1.65 as a UDG. The documentation and
  72. material in UDG.ZIP which is part of the distribution kit for Pmail
  73. 2.3R2 describe how to attach version 1.64 of Waffle to Pmail. The
  74. mailbox structure used by Waffle has been changed for version 1.65
  75. which was released on 10 August 1992 or so.
  76.  
  77. This new mailbox structure is based on mail folders, each kept in a
  78. single mail file (each potentially containing multiple messages delimited
  79. by 4 ascii  characters) together with a separate index file with
  80. message lengths and pointers to the boundaries of each individual
  81. message. This means that the mail on a busy system will be stored
  82. much more efficiently in terms of DOS allocation units. 
  83.  
  84. Aside from this, if you're happy with Waffle 1.64, there is no
  85. compelling reason to upgrade as far as I know. The new documentation
  86. lists hundreds of things which have been fixed, but it's entirely possible
  87. that none of them have had or will have any effect on you if your
  88. current Waffle works well. 
  89.  
  90. However, if you're unable to resist the urge to run the latest and
  91. greatest or if you're about to embark on a new installation, read on.
  92.  
  93. Pmail supervisors wishing to add UUCP connectivity using Waffle
  94. version 1.65 will need to read this documentation and use the
  95. accompanying "glue" programs - one of which converts outgoing mail
  96. items into files in the Waffle spool directory while the other is a mail
  97. delivery agent (MDA) responsible for splitting the new format Waffle
  98. mailboxes into individual pieces of Pmail compatible mail in the
  99. recipient's netware mail directory. 
  100.  
  101. Note that it may be possible to use filter.c (supplied in udg.zip in the
  102. distribution kit for Pmail 2.3(R2). However, the program described
  103. here (PEGWAF.EXE) offers some advantages, including the ability to
  104. deliver outgoing spool files to a gateway on a remote server (assuming
  105. you have more than one novell netware file server sharing the same
  106. physical network cable). It also writes outgoing spool files with numeric
  107. names - Waffle's uuq does not like filenames containing hex digits
  108. which is what Pmail uses for container files. Finally, it adds a line in
  109. the xqt file to indicate who the requester is to the remote system. In
  110. general, you would be best advised to use it.
  111.  
  112. In fact, both of the programs in this UDG kit (PEGWAF.EXE and
  113. WAFPEG.EXE) have a built in capacity to deliver to remote servers so
  114. a single waffle gateway can serve users on any number of individual
  115. Novell servers as long as these are all directly connected. All of this
  116. without the expense of MHS ! 
  117.  
  118. Getting this remote gateway capacity to function is very simple but it is
  119. strongly recommended that you get your waffle gateway working
  120. properly for users on the same server as the gateway before installing
  121. the UDG software on remote servers !
  122.  
  123. Here is how mail flows when the Pmail UDG is working with Waffle
  124. 1.65
  125.  
  126. a)--Pmail-> UDG-> PEGWAF.EXE----> spooled outgoing uucp files
  127.      (user sends                            |
  128.      new mail)                              |
  129.                                             V
  130.                                      Your Waffle <--> host system(s)
  131.                                             |
  132.                                             V
  133. b)----Pmail <------WAFPEG.EXE <--New mail in Waffle mailboxes
  134.      (user receives
  135.      incoming new mail
  136.      and is notified)
  137.  
  138. Path (a) is followed whenever a user sends mail to a non local address.
  139. The outgoing UUCP spool files can be on a different server than the
  140. one Pmail was invoked from. Pmail searches the UDG's (defined in
  141. PMGATE.SYS) for the first one able to handle SMTP mail and uses
  142. that UDG definition. A sample definition for a Waffle gateway is shown
  143. below. It calls PEGWAF with a number of required parameters which
  144. control the preparation of UUCP compatible data and control files in the
  145. relevant spool directory - note that PEGWAF must be able to locate the
  146. Waffle STATIC file in order to find some of the Waffle setup values it
  147. needs.
  148.  
  149. Path (b) is followed when new Waffle mail arrives via UUCP. Ideally,
  150. WAFPEG should be executed after uuxqt following any poll since uuxqt
  151. may have written new waffle mail files. The "new mail" files can be
  152. delivered to a user on a remote server as long as the MDA is given a
  153. userid and password which allow Create and Scan (and Write for
  154. Netware 2.x) access to sys:mail. Note that the Scan right is needed to
  155. check for the subatomic sized possibility that a file of the same name as
  156. the one WafPeg will randomly generate already exists (for the
  157. mathematically oriented, without Scan rights, a piece of NEW mail has
  158. about a 1 in 2^32 chance of overwriting an already existing unread
  159. piece of mail since WafPeg generates new filenames from TurboPascal
  160. "random" long integers). The recipient will be notified that new mail
  161. has arrived via the gateway if they are currently logged in. Files are
  162. created using the pmail convention of 8 random hex characters +
  163. '.CNM', so the next time the user runs Pmail, they'll find the new
  164. mail.
  165.  
  166. ----------------Preparing for UDG Installation-------------------
  167.  
  168. To run a reliable uucp link for Pmail, you'll need :-
  169.  
  170. a) a dedicated, reliable pc with a few Mb of spare hard disk capacity,
  171. which can be left turned on 24 hours a day waiting for incoming calls.
  172. Most organizations have had computers for long enough for some old
  173. XT's or even AT's to have started accumulating in dusty storerooms.
  174. As long as they boot and run quite reliably, their actual velocity doesn't
  175. much matter (except to BBS users !).
  176.  
  177. If you want to be able to run a reliable mail system or a BBS, then
  178. clearly this machine cannot be used for much else. Alternatively, if
  179. you're game, Waffle can probably be coaxed to run under OS/2,
  180. Desqview or something heavy duty like that so you can share the PC
  181. during work hours. A fast machine with lots of RAM may well offer
  182. that possibility.
  183.  
  184. b) a dedicated telephone line and modem so Waffle can receive and
  185. make calls.
  186.  
  187. c) an installed and working copy of Waffle 1.65 - available from Simtel
  188. via anonymous ftp in the waffle directory as waf165.zip as at August
  189. 1992. Note that Waffle is shareware and the $30 registration fee should
  190. be sent to the author if you decide to use it after a reasonable evaluation
  191. period. (Pmail and this UDG kit are free software. Conditions of use
  192. and distribution of this UDG kit are set out below and Pmails conditions
  193. of use are set out in the Pmail distribution kit)
  194.  
  195. d) a working copy of the Pegasus mailer - available from all sorts of
  196. places via anonymous ftp including splicer.cba.hawaii.edu in the
  197. pegasus directory as pmail233.exe as at August 1992.
  198.  
  199. e) an internet connected host. This will usually be a *nix box willing to
  200. modify their sendmail.cf or whatever in order to route incoming mail
  201. and happy to give you a uucp account and password. There are a
  202. number of commercial organizations now offering this service for a
  203. modest fee if you can't find an academic host. It would be possible to
  204. connect to any number of other Waffle BBS's if you just need an email
  205. connection between distant components of an enterprise and don't need
  206. internet email.
  207.  
  208. f) hardcopy of this documentation which you have studied carefully.
  209. This UDG kit is as simple to install as I could make it, but there are an
  210. awful lot of things which need to be right for it to work. Many of these
  211. are documented here. Some you may need to nut out for yourself.
  212.  
  213. Both Pegasus and Waffle MUST be installed and working independently
  214. and correctly before you even think about installing the UDG. The
  215. UDG will not fix something that's broken. 
  216.  
  217. Firstly, David Harris's Pegasus package must be working - this is
  218. probably the easiest piece of network software you'll ever install ! Use
  219. GUIDE.EXE which comes with the Pmail distribution kit and send
  220. Dave Harris the current fee for manuals - the manuals are very well put
  221. together and will make life much easier for users and network
  222. supervisors. If you have a wierd Netware setup (eg your mail directory
  223. other than in the standard SYS/MAIL directory) then you will have to
  224. ensure that this gateway is told where to deliver mail (see below). On
  225. the whole, the normal defaults which Netware uses are quite sensible
  226. and you should use them unless you have some very good reason not to
  227. - the default values used in this UDG package are based on normal
  228. Netware defaults.
  229.  
  230. Secondly, you need a working Waffle. There's plenty of documentation
  231. in the Waffle distribution dealing with Waffle installation, care and
  232. feeding. So there's no need for me to repeat any of it here. Suffice it to
  233. say that DOS.DOC, NETWORK.DOC and MANUAL.DOC should be
  234. read several times ! Assuming that you can get Waffle to answer the
  235. phone and assuming you can get it to deliver and receive mail via your
  236. host, then you're ready for the next step. It is vital to follow the
  237. instructions in UPGRADE.DOC if you are upgrading to 1.65 from a
  238. previous version since there are many changes to your control files. 
  239.  
  240. In order to connect to Pegasus, Waffle needs to be installed on a
  241. network workstation. The exact location of the various Waffle
  242. directories and files is configurable, but the "static" file (which contains
  243. information about the node name and directories in use) and the spool
  244. directories (which is where uucico will look for control and data files to
  245. be sent to your Unix host) MUST be on the file server hard disk -
  246. otherwise the UDG software will NOT be able to read the static file
  247. when invoked from other workstations and Pmail will not be able to
  248. write outgoing mail to the spool directories ! 
  249.  
  250. All other waffle files could be installed on the gateway workstation's
  251. hard disk - this would improve security somewhat but makes it
  252. impossible to adjust static file and other settings from a remote
  253. workstation during installation. On the whole it is easier if waffle is
  254. setup to run from the server in my experience. A stock standard Waffle
  255. installation is preferred - just replace C: with F: throughout the static
  256. file and life will be easier since the components of this gateway use the
  257. standard waffle defaults. Remember to use the -d (create and write to
  258. subdirectories) option of pkunzip when you unpack waf165.zip !
  259.  
  260. For testing purposes, remember you can use waffle in local mode -
  261. WAFFLE LOCAL 
  262. from the gateway machine console - this will only work when you've
  263. got the path and static file environment variable set up correctly. Once
  264. you're logged in, you can send mail to yourself which will go out via
  265. uucp to your host and come back to you if you use your own full
  266. internet address (including your domain) as the destination - this fools
  267. waffle into thinking that the mail is not for local delivery. While this
  268. may sound like a stupid thing to do, it's the best way to test your uucp
  269. link without annoying other people with test messages. If you can't get
  270. mail to make a round trip via your internet host then there's no point in
  271. proceeding with the UDG installation.
  272.  
  273. Waffle will normally operate 24 hours a day on a dedicated
  274. workstation. This workstation MUST be able to reboot if you use a
  275. watchdog to reboot on loss of carrier (a Good_Idea !). Since this will
  276. happen frequently, the workstation autoexec MUST somehow log the
  277. workstation in to the network with a userid which has all necessary
  278. access to the Waffle directories. 
  279.  
  280. Now you could do this with a userid which has no password. You could
  281. also experience Very_Bad_Things as a result of unauthorised access to
  282. your mail and worse if you do this. Better to use keyfake or something
  283. in the workstation autoexec. It is also possible to pipe the userid and
  284. login from a dos text file (eg after loading ipx and netx, use
  285.  
  286. f:\login\login < c:\secret\login.txt 
  287.  
  288. in the autoexec.bat file, where c:\secret\login.txt has the userid on the
  289. first line and the password on the second line). At least then the hacker
  290. has to have physical access to the gateway machine to find out the
  291. password.... If none of this makes any sense, go find someone who
  292. might know enough about netware, security and dos to do all of this for
  293. you.
  294.  
  295. Of course, the other thing to watch out for is broadcast messages ! If
  296. some turkey broadcasts a "hello" message to everyone, your gateway
  297. will freeze unless you have issued a
  298. castoff all
  299. command in it's autoexec.bat. This is most important if you want your
  300. gateway to work 24 hours a day without intervention ! It's also worth
  301. logging in as the gateway, running pmail and setting the extended
  302. preference so the gateway "user" REFUSES to accept any mail - no
  303. one's ever going to read it !
  304.  
  305. Do yourself a favour. DO NOT proceed with the UDG installation until
  306. Waffle is able to reboot without manual intervention and deliver and
  307. receive mail sucessfully to and from your host machine!. 
  308.  
  309. On my gateway, I have an automatic reboot every morning at 1 am by
  310. scheduling reboot.com to clean up in case something odd has happened.
  311.  
  312. One additional problem - every user of the UDG MUST HAVE a
  313. subdirectory under the waffle USER directory for incoming mail. If
  314. mail arrives for a user who DOES NOT have a USER directory, it will
  315. be bounced back to the sender and a message will appear in the
  316. BOUNCES file in the \waffle\admin directory. A simple program
  317. (makeuse.exe) which makes the required subdirectories is provided with
  318. this UDG kit. It will find your waffle static file and make a directory
  319. for every netware userid it finds in the bindery. This program should be
  320. run periodically - the waffle schedule file is a perfect place to run this
  321. from - arrange for it to every morning at 2 am by adding a line like
  322. 00 02 * * * makeuse >> f:\waffle\admin\udg.log
  323. to your \waffle\system\schedule file.
  324.  
  325. If you have users on remote servers, then you will have to make sure
  326. that the supervisor on each of those remote servers tells you when a
  327. new user is added to their bindery. Name clashes will be a problem and
  328. some mechanism needs to be set in place to prevent two users on any
  329. group of connected servers having the same userid. Although it is
  330. possible to forward mail from Waffle to a different name on a remote
  331. server, all netware userid's MUST be different to keep the from: lines
  332. different - this could be subverted by using the "Default reply-to:"
  333. option of the extended preferences menu of Pmail but my advice is to
  334. keep it simple by keeping names different.
  335.  
  336. --------------------Installing the UDG----------------------
  337.  
  338. Copy PEGWAF.EXE to any convenient network directory which is on
  339. every users search path - eg sys:public, and flag it share read only.
  340. Read the file UDG.TXT which comes with the Pmail distribution in the
  341. UDG.ZIP file. There are a number of minor changes which must be
  342. made to the UDG setup described there. In particular, you will NOT
  343. need to use a SENDMAIL.CF to change Pmail's main menu since all
  344. Waffle UDG tasks will be automated in this installation and your users
  345. never even need know that the gateway exists - it's operation is totally
  346. transparent when this UDG kit is correctly installed.
  347.  
  348. The UDG definition screen is accessed by selecting "User defined
  349. gateway" from the main menu of PCONFIG - you MUST be supervisor
  350. equivalent to run this Pmail utility. 
  351.  
  352. Waffle 1.65 seems to get confused when dealing with control and other
  353. file names longer than 4 characters,  so use only "~d.wom" as the
  354. "Filename Format" rather than "~d~d.wom". In fact, uuq gets
  355. confused when spool file names contain anything other than numerals
  356. and shows (null) instead of sender details. Here is a working example
  357.  
  358. Gateway name:              WAFFLE
  359. New mail path:             
  360. Is ^ a program to run?:    N
  361. New mail search mask:      
  362. Outgoing mail path:        f:\home\~8
  363. Run for outgoing mail:     PEGWAF ~c ~t GMU MAIL XXX
  364. Filename format:           ~d.WOM
  365. Run to validate address:   
  366. Reply address format:      ~n@yourhost.yourdomain
  367. Accepts SMTP addresses?:   Y
  368. Simple message headers?:   N
  369. UUencode attachments?:     Y
  370. Burst messages?:           Y
  371. Strip GW name?:            Y
  372. Check new mail every 0 seconds.
  373.  
  374. Note that mail replies will be sent to the user's Netware userid by the
  375. value in the "Reply address format:" line - of course you should
  376. substitute your own host and domain here (!). There is an 8 character
  377. limit implicit in this setup because the users Netware userid is used as
  378. the name of a Waffle user directory and DOS only permits 8 character
  379. directory names (ignoring the 3 character extension since dots in
  380. internet addresses have special meaning). If you have users with names
  381. longer than 8 characters, they should probably be changed (other than
  382. SUPERVISOR !). If necessary, this could be changed to
  383. ~8@yourhost.yourdomain which gives the first 8 characters of the
  384. Netware userid.
  385.  
  386. The "Run for outgoing mail:" is the most complex line. In the example
  387. above, it will run PEGWAF from f:\public with 5 parameters - the first
  388. two are mandatory, the last 3 are optional and only used for remote
  389. gateway delivery :-
  390.  
  391. 1) "~c" will be replaced with the name of the temporary "container
  392. file" written by Pmail when PEGWAF is called - this is the mail text
  393. with rfc822 headers, ready to go.
  394.  
  395. 2) "~t" is replaced with an rfc822 "To:" address - the address to which
  396. the mail is to be delivered
  397.  
  398. 3) "GMU" in the example is an optional parameter - the name of the
  399. netware server to which the Waffle gateway is attached.
  400.  
  401. 4) "MAIL" in the example is the userid to use when delivering spool
  402. files to the gateway workstation
  403.  
  404. 5) "XXX" in the example is the password to use for that userid
  405.  
  406. Note that if you do need to configure the UDG on your server to
  407. deliver outgoing files to a remote server, the userid and password you
  408. configure MUST work on the gateway server ! More importantly, make
  409. sure that the remote server supervisor sets that user's account details so
  410. the password cannot be changed by the user and does not require to be
  411. altered after a fixed period. The account only needs minimal privileges
  412. as detailed below.
  413.  
  414. One minor gotcha is that the UDG definition screen only allows a
  415. limited number of characters (about 50 from memory). If you need a
  416. longer command line, you might need to call a batch file. Remember to
  417. copy PEGWAF.EXE to a directory that all your users can read -
  418. sys:public is a good spot for it.
  419.  
  420. The PEGWAF program behaves something like Brendan Murray's
  421. original filter.c but adds an organisation line (if an organ: is defined in
  422. waffle's static file). It also knows how to work out the date/time and
  423. can get the current user's name from the bindery so these do not need
  424. to be supplied in the UDG definition. In addition, it will return outgoing
  425. mail if it is unable to write the uucp files to the spool directory - this is
  426. only likely to happen if the remote server on which the gateway lives is
  427. unreachable for any reason and will probably never happen if your
  428. gateway is on the same server as you are sending mail from. 
  429.  
  430. Note that in the example above, PEGWAF will assume that the remote
  431. Waffle static file is on \waffle\system\static (the waffle installation
  432. default). If it has been set up differently, you can add the full netware
  433. path to the server name (eg
  434. GMU/SYS:WOFFLE\STRANGE\FUNNY\STATIC). Why anyone
  435. might do this I do not know, but you can do it if you insist although I
  436. can't guarantee that it will work since I have not tested it properly.
  437. There is a limit of 127 characters or so in DOS command lines and you
  438. must be careful not to exceed this count with what is passed to
  439. PEGWAF. In fact the limit for this line in the UDG definition screen is
  440. even shorter - you may have to use a batch file here. If you don't know
  441. what I'm talking about then you should probably find someone who
  442. understands DOS better than you do.
  443.  
  444. If the gateway is on a workstation attached to your home server, you
  445. should NOT use parameters 3, 4 or 5. Instead, PEGWAF will look for
  446. the dos environment variable "waffle" which must contain the path to
  447. your Waffle static file. Since Waffle will not work without this, it will
  448. probably already be set on the gateway.  The default is
  449. "\waffle\system\static". If you have used something different, you will
  450. have to adjust your system login script to include a line which sets this
  451. parameter at login - eg
  452.  
  453. set waffle=f:\woffle\strange\funny\static
  454.  
  455. If a remote server name is supplied, but no userid or password then
  456. PEGWAF will attempt to deliver spool files logging in as "GUEST"
  457. with no password.
  458.  
  459. For PEGWAF to be able to deliver spool files, all users on the same
  460. server as the gateway must gain the following minimal access rights in
  461. addition to whatever else they need (the login userid and password
  462. passed to PEGWAF on the command line must grant these on the
  463. gateway server if you have gateway users who normally log in to
  464. remote servers since PEGWAF will login to the gateway using this
  465. userid to deliver spool files)
  466.  
  467. 1) Read, Open and Scan rights to the directory containing the Waffle
  468. static file - this should normally be f:\waffle\system\
  469.  
  470. 2) Create, Scan (and for Netware 2.x, Write) rights to the spool
  471. directory named in the static file - this should normally be
  472. f:\waffle\spool\
  473.  
  474. 3) Create (and for Netware 2.x, Write) rights to the home server mail
  475. directory in case mail has to be returned - if the spool files cannot be
  476. written on the remote gateway spool directory for some reason. This
  477. will normally be f:\mail\
  478.  
  479. The easiest way to do this is to add these privileges to the group
  480. EVERYONE if they are not already there, and add them to the special
  481. login remote gateway users will be using. If your gateway is on a
  482. remote server, the PEGWAF access login MUST have access to both
  483. the static file and the spool directory as described above or it will not
  484. be able to deliver spool files, but making it a member of group
  485. everyone is NOT recommended - it should have absolutely minimal
  486. priveleges to minimise the consequences of hostile intrusion. One good
  487. method is to use the same userid as your internetwork uses for pmail
  488. mail delivery - just add the few extra priveleges needed for gateway
  489. operation.
  490.  
  491. ----------Installing the Mail Delivery Agent---------------
  492.  
  493. When mail comes in to your gateway via Waffle, it is normally left in a
  494. file called MAILBOX.F in the user's subdirectory of the \waffle\user
  495. directory (assuming you are using the defaults). To get it delivered in a
  496. form that Pmail can use, it must be processed with WAFPEG. This
  497. program should be executed anytime uuxqt is called - normally you
  498. should add a call to WAFPEG to 3 batch files which are part of the
  499. Waffle installation and are usually found in the \waffle\bin directory -
  500. poll.bat, uushell.bat and run.bat. It is vital that WAFPEG be executed
  501. after any Waffle activity in which mail may have arrived - otherwise
  502. incoming mail will languish in Waffle mailboxes. Mail can come from
  503. an outgoing poll or an incoming call, so adjust those batch files
  504. accordingly.
  505.  
  506. A sample poll.bat file might look like :-
  507.  
  508. -------------------cut here-------------------------
  509. rem poll.bat for waffle
  510. uucico -sany -r3
  511. f:\waffle\bin\wafpeg /nf:\mail /uguest /pguestpassword
  512. -------------------cut here--------------------------
  513.  
  514. A sample uushell.bat file might look like :-
  515.  
  516. -------------------cut here-------------------------
  517. rem uushell.bat for waffle
  518. rem called whenever a uucp login occurs
  519. rem since the appropriate error level is set by a fixed
  520. rem shell command for all uucp users
  521. uucico -r0
  522. uuxqt
  523. f:\waffle\bin\wafpeg /nf:\mail /uguest /pguestpassword
  524. -------------------cut here--------------------------
  525.  
  526. A good place to put WAFPEG.EXE is in the waffle\bin directory - this
  527. must be on the gateway machine's path for Waffle to work anyway, so
  528. copy it there. Normal network users do not need to be able to access
  529. this file.
  530.  
  531. Note that the normal operation of WAFPEG.EXE assumes that there is
  532. a Waffle User directory corresponding to every Pmail user and that this
  533. directory has the same name as the Pmail user's Netware userid. For
  534. this reason, your Netware userid's MUST be limited to 8 characters
  535. maximum. It is possible to deliver waffle mail to a different Netware
  536. userid using the FORWARD.P file described below. If you have dial in
  537. users, be sure that there is no Netware userid in your bindery which
  538. matches their Waffle userids so that WAFPEG leaves their mailboxes
  539. alone !
  540.  
  541. Like the companion program PEGWAF.EXE, WAFPEG.EXE can
  542. deliver mail to remote servers. This activity is invoked by a special file
  543. in a user's Waffle directory called FORWARD.P - each line may
  544. contain a servername/username for delivery of Pmail compatible mail
  545. items and may contain comment lines starting with a hash - for example
  546.  
  547. -----------cut here---------------
  548. # sample forward.p file
  549. # this will force delivery of waffle mail for
  550. # ross to remote server gmu with a copy to secretary on server other
  551. GMU/ROSS
  552. OTHER/SECRETARY
  553. -----------cut here---------------
  554.  
  555. If this file is found in the Waffle user directory for Ross on the gateway
  556. machine (eg REMOTE/SYS:WAFFLE\USER\ROSS), the MDA will
  557. attempt to login to GMU using the userid and password supplied on the
  558. command line and will search the GMU bindery for user ROSS and
  559. deliver mail to that user's netware mail directory on GMU. Of course
  560. for this to work, the WAFPEG userid and password must grant
  561. appropriate access to the users remote home server and for this to
  562. work, WAFPEG must have been invoked with a username and
  563. password to use when delivering mail to remote servers.
  564.  
  565. The parameters for WAFPEG are preceded by a dash or a slash and a
  566. single (upper or lower case) letter. Legal values and their actions are :-
  567.  
  568. -H = print some help text and stop - any other parameters are ignored
  569.  
  570. -? = same as -H
  571.  
  572. -N[netware mail directory] = directory to use for netware mail
  573. delivery, default is f:\mail. For this to work, the Waffle workstation
  574. must be logged in to the local server and have appropriate drives
  575. mapped. Since the workstation may need to reboot without manual
  576. intervention, you have the option of setting up the workstation to use a
  577. netware userid which has no password (a Very_Bad_Thing) or using
  578. some kind of keyboard stuffer to automate the login - keyfake from
  579. pc_magazine works well - available SOMEWHERE on Simtel !
  580.  
  581. -U[remote server userid] = user id to use when logging in to remote
  582. servers for mail drop off - the default is GUEST
  583.  
  584. -P[remote server password] = password to use when logging in to
  585. remote servers for mail delivery - the default is no password.
  586.  
  587. -D = run in DEBUG mode. Be warned. When this option is invoked,
  588. mailboxes are processed but NOT deleted. As a result, mail items will
  589. be resent as often as you run in debug mode. Use this mode ONLY
  590. when testing and remember to kill old mailbox.f files manually after
  591. each run.
  592.  
  593. When it is invoked, WAFPEG finds the waffle static file using the dos
  594. environment variable Waffle. This MUST be set for Waffle to run on
  595. the gateway and since WAFPEG is only ever run by the gateway
  596. workstation, this should not be a problem. It then locates the Waffle
  597. user directory and examines each subdirectory in turn looking for a new
  598. mailbox. Waffle new mail is always stored in mailbox.f .
  599.  
  600. If one is found, is exploded into individual mail items and dropped into
  601. the netware mail subdirectory corresponding to the user's hexadecimal
  602. id number as obtained from the netware bindery - unless a
  603. FORWARD.P file is found, in which case WAFPEG attempts to login
  604. to the nominated server to deliver mail to the nominated user's netware
  605. mail directory. If it succeeds in delivering any mail, WAFPEG tries to
  606. notify the user that new mail has arrived via the gateway and then
  607. deletes the new mailbox unless being run in debug mode.
  608.  
  609. A log of activity is written to stdout and this may be redirected into a
  610. log file - in fact it is strongly recommended that you do this - eg
  611. WAFPEG -nF:\MAIL >> F:\WAFFLE\ADMIN\WMDA.LOG
  612. Those double angle brackets (>>) tell DOS to APPEND the log
  613. output to the named file - if it does not yet exist, it will be created.
  614.  
  615.  
  616. ---------------Advanced Features-------------------
  617.  
  618. Due to lack of compliance with RFC822, cc:mail does very naughty
  619. things to mail being forwarded. It adds something like @aaEXTERNAL
  620. to the From: field which causes havoc. I know as little as I possibly can
  621. get away with about cc:mail since as far as I can tell, it's an expensive
  622. mistake, especially compared to Pmail. Nevertheless, some sites use it
  623. and I had to sort the above problem out for some of my users receiving
  624. forwarded mail from there. So any outgoing address (the To: line)
  625. processed by PegWaf which has @aaEXTERNAL at the end has that
  626. stuff chopped off. It solved my problems here - if it gives you grief,
  627. please let me know.
  628.  
  629. If you are running a beta version of this UDG, be warned. It breaks one
  630. of the UDG rules and writes some warnings to the screen when PegWaf
  631. is run - it does this to make it PERFECTLY clear to UDG users that
  632. they are beta testing ! Pressing a key will speed up the disappearance of
  633. the message which persists for no more than 5 seconds.
  634.  
  635. I have added one feature to mimic waffle's optional storing of a copy of
  636. all outgoing mail. This can be made to work by setting the outbox
  637. option (see the docs) just like the inbox option can be controlled (see
  638. the rmail docs). This can be useful for snooping I suppose and certainly
  639. useful for checking out a new system. Anyway, it's now there.
  640.  
  641. If you add a parameter to your Waffle static file (named pw.outbox),
  642. PegWaf will add a copy of any outgoing mail item to a mailbox by that
  643. name and will also keep a similarly named index file up to date in the
  644. same directory. Any file extension you give will be ignored ! For
  645. example, if you add
  646.  
  647. pw.outbox: f:\waffle\spool\outbox\outbox
  648.  
  649. to your waffle static file, assuming the outbox directory exists under
  650. your spool directory, PegWaf will make a mailbox called outbox.f and
  651. an index file called outbox.i and keep them up to date with a copy of
  652. any mail going out through your gateway if it has appropriate rights to
  653. do so. Therein lies the rub.
  654.  
  655. For this to work, any user calling PegWaf MUST have just about ALL
  656. rights to the nominated directory - since it needs to read and write the
  657. index and mail files. So group everyone needs this right for local users
  658. to be able to call PegWaf with enough access to this file and the remote
  659. gateway login needs these rights.
  660.  
  661. As a result, if you get this option working, any boy or girl einstein on
  662. your (inter)network with half a brain will be inevitable be able to read
  663. everyone's outgoing mail if they've a mind to do so. This is FAR from
  664. ideal ! Still, you can do it if that doesn't bother you. One trick you
  665. could do is create a dummy user called say "ispy" under the waffle user
  666. directory, give everyone and the pegwaf remote login all rights to that
  667. directory, make your outbox f:\waffle\user\ispy\mailbox and then add a
  668. forward.p file so all of ispy's mail gets routinely forwarded to someone
  669. such as the supervisor. But this is getting ridiculous.
  670.  
  671. ---------------Known Problems---------------------
  672.  
  673. Pegwaf does NOT know how to handle bang paths for your smarthost.
  674. It dumbly assumes that the name of the smart host PRECEEDS the first
  675. exclamation mark. Note that the smarthost parameter is found in your
  676. waffle static file and that domain names (names with . in them) are
  677. NOT permitted. Remember, spool files will be placed in a subdirectory
  678. of your spool directory - the name of that subdirectory will be your
  679. smarthost name truncated to 8 characters if necessary. Anyone who
  680. wants to tell me how to handle bang paths is welcome to email me.
  681. There's nothing in RFC822 about them.
  682.  
  683. --------Bug reports, problems and help--------------
  684.  
  685. Please report program bugs directly to me at
  686. ross@westmead.health.su.oz.au
  687.  
  688. Discussion of problems and requests for help may be directed to me at
  689. the above address. Please DO NOT bug either David Harris or Tom
  690. Dell, neither of whom had anything to do with this package other than
  691. indirectly by writing fine software !
  692.  
  693. --------Conditions of use, legal stuff--------------
  694.  
  695. The author will grant to any person or organization a licence to use the
  696. software and documentation which make up this UDG kit provided that
  697. the following 5 specific conditions are complied with :- 
  698.  
  699. 1) No specific fee may be charged for distribution or copying of these
  700. materials. Distribution through a fee charging network (such as a
  701. telephone or other telecommunications system) is permitted provided
  702. that no charge other than the usual agreed fee for such a service is
  703. incurred by the recipient as a result of the distribution. 
  704. 2) No fee of any kind may be charged by any person or organization in
  705. relation to the installation or use of any of these copyright materials.
  706. Consultants and others proposing to charge fees for providing materials
  707. and associated services (such as installation) may only do so after
  708. obtaining the written consent of the author from the address below. 
  709. 3) The user agrees to accept all responsibility for all damages whether
  710. direct or consequential arising from the use of these materials. The user
  711. must be made to understand that these copyright materials are made
  712. available with no guarantee or warranty of any kind from the copyright
  713. holder. 
  714. 4) The installer and distributor agree to accept all responsibility for
  715. damages and costs incurred directly or indirectly as a result of
  716. installation or distribution of these materials.
  717. 5) No alteration whatsoever may be made to any of the contents of this
  718. kit in the process of reproduction, distribution or use. The kit may be
  719. repackaged provided only that all of the contents of this kit reappear in
  720. their original form when unpackaged.
  721.  
  722. In other words, this UDG kit, comprising this documentation and
  723. accompanying software, are free. They are supplied on an as is basis
  724. with no guarantee of fitness for purpose of any kind. You use it at your
  725. own peril. If anything of yours breaks as a consequence of copying,
  726. installating or using of any of the components of this package, your
  727. only guarantee is that you still own all the pieces. Remember, you get
  728. what you pay for.
  729.  
  730. This kit may be freely copied and reproduced provided it is not
  731. modified in any way and provided it is copied or reproduced in it's
  732. entirety. The documentation and software which comprise this package
  733. remain the copyright property of the author and the author reserves the
  734. right to prosecute for breach of copyright if any of the above conditions
  735. of use are violated. Please notify the author if you become aware of any
  736. violation of these conditions.
  737.  
  738. Ross Lazarus
  739. August 1992
  740.  
  741. email:     ross@westmead.health.su.OZ.AU
  742.  
  743. mail:      29 Francis St 
  744.            Bondi NSW 2026
  745.            Australia
  746.  
  747. Tel:       (+61 2) 633 7946
  748.