home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
misc
/
volume3
/
pcmail
/
part03
/
Installation
< prev
next >
Wrap
Text File
|
1989-02-03
|
8KB
|
186 lines
THE UNIX SIDE OF THE CONNECTION
The pc-mail programs will need a UNIX host to exchange messages
with. This automatically gives access to other networks. I sug-
gest the following strategy:
- Get a uucp login, say, uuxyz on a UNIX system. This will also
become the uucp-node name of the pc. The file /usr/lib/uucp/L.sys
should be extended with an entry, e.g.
uuxyz Passive
(on some systems one has to use `Never' instead of `Passive'). It
may also be necessary to update the /usr/lib/uucp/USERFILE.
- Have all mail for user uuxyz forwarded to uuxyz!somebody. On
BSD UNIX systems, this is achieved by placing the address
`uuxyz!somebody' in a file ~uuxyz/.forward; on System-V one
should put the text `Forward to uuxyz!somebody' in the file
/usr/mail/uuxyz, which should be read/writeable by group mail.
In the above examples, somebody is a name that can be freely
chosen; it will not be used by the pc. Of course, mail can be
forwarded to uuxyz!somebody from other accounts as well.
The result of all this is that you can send mail to any user on
the UNIX host by just specifying her login name; the host name of
your pc will not appear in mail headers. People can send mail to
you by specifying an address on the UNIX host. There is no need
to register the pc in the uucp maps.
If the above strategy is not what you like, you will have to
operate as a "real" uucp node and should #define UUCP_HOST in
sendwork.c. You should also be registered as a uucp node. There
is more discussion about this in sendwork.c
As a minimum, the UNIX host should support the standard uucp `g'
protocol. This protocol was developed for eight-bit data paths.
Unfortunately, modern networks often eat up XON/XOFF and other
control characters.
To handle non-transparent networks I have written a protocol
called `k'. It has been used with the Eindhoven University Sytek
network for over two years and is part of the pc-mail distribu-
tion. If you're really desperate (and have UNIX source) build
this protocol into the uucico program by adding the following
line to struct Proto Ptbl[] in cntrl.c:
'k', kturnon, krdmsg, kwrmsg, krddata, kwrdata, kturnoff,
and linking the uucico objects with kio.c kp.h kphys.c kpres.c
and ktrans.c.
THE PC SIDE OF THE CONNECTION
To bring pc-mail up, edit the makefile to reflect the system you
are using (there are separate makefiles for UNIX and MS-DOS).
The MS-DOS makefile is for a UNIX-compatible make utility posted
to usenet near the end of 1986. There is a batch command file
(buidall.bat) for those who do not have a unix-compatible make
utility. For testing purposes it is convenient to run this stuff
on a UNIX host.
Saying `make' should produce five programs:
- mail, the menu-driven user interface
- cmail, a program that checks if there is new mail
- smail, a program that queues messages for transmission after
doing alias substitution on mail addresses
- cico, the program that performs dialups and file transfers
- rmail, extracts "From" info from mail received by cico
The programs access a common data base in the form of a spool
directory with setup file, logfile and message files. There
should be no other files in the spool directory, to avoid
confusion. You will have to create the spool directory; the
programs will not do that.
You will have to set some environment variables before running
the mail program.
- MAILDIR, the absolute path to your spool directory
- EDITOR, the name of your favourite editor program
- PATH, in order locate the executables
The editor command may be an MS-DOS batch file; in that case you
should include the '.bat' suffix in the command name.
The following two environment variables are optional.
- MAILPRN, if printer output should not go to PRN
- MAILCMD, command that is executed when the mail program exits
Also, make sure that the limit on the number of open files is
large enough (20 or so). On MS-DOS, this is handled by a line
`files=20' in the CONFIG.SYS file.
Run the interactive mail program and choose the setup command. On
MS-DOS systems only the com1 port is supported (see file
comport.s). Here is my setup (some names changed) for getting
through the TUE port selector:
communications_port: com1
baud_rate: 1200
remote_host_name: eutwc1
login_name: uutest
dialup_sequence: atm\r OK atdt455215\r CONNECT \0 ease: xyz\r ease:
xyz\r choice: 1\r called: b076\r CLOSED \r
disconnect_sequence: \0
All entries must be filled or the cico program will complain.
The MS-DOS version supports the com1 port only.
The dial-up sequence requires some explanation. Basically it is a
list of words separated by whitespace. The first word is sent to
the comm. port. The program will wait until it receives the
second word. And so on. Unlike real uucp (or kermit), there is no
retry facility. The backslash escape sequences are stolen from
the c programming language, with some extensions:
\b backspace
\f formfeed
\n linefeed
\r carriage return
\s blank
\t tab
\\ backslash
\nnn octal code for a character
In order to send or expect an empty string, use the \0 sequence.
It is not possible to send null characters. The dial-up sequence
should terminate when the UNIX host displays its "login:" prompt;
the remainder of the dialup sequence is built into the software.
This, and having (pc node name) == (uucp login name) are to
prevent fraud. Thus, assuming a Hayes-compatible modem, your
dialup sequence could be as simple as:
atm\r OK atdt455215\r CONNECT \0
When this dialup sequence succeeds, the program continues with
its built-in sequence:
ogin: login_name\r ssword: your_password\r
The disconnect sequence uses the same escape sequences as the
dial-up sequence, but does not use the send/expect protocol. In
the above sequence, the disconnect sequence is an empty string.
If the cico program has problems communicating with the UNIX host
you can run it by hand, for example:
cico -d 9 -p your_password
which will produce a lot of debugging output. Setting the
debugging level to less than 9 produces less output. Level 4 is
sufficient to monitor the dial-up and login sequence.
ALIAS DATABASE
The user can define aliases for (groups of) mail addresses. The
format of the alias data base is simple: it is a text file with
on each line:
alias replacement part
The replacement part may be one or more words; words are
separated by blanks, tabs or commas. Whenever the smail (mail
spooler) program recognizes an alias, it is replaced by the
`replacement' part. Aliases may be defined in terms of other
aliases; also the order in which they appear in the alias data
base is not important (except when an alias is defined more than
once; the program remembers only the last definition of an
alias). The alias expansion software is smart enough to detect
infinite loops and to suppress multiple occurrances of the same
recipient. Alias substitution is not case-sensitive.
BATCH-MODE OPERATION
The cmail program can be run from a batch file (say each time the
pc is turned on), contact the UNIX host, and report if there is
new mail. Also, you may want to auto-execute the cmail command
when exiting from the interactive mail shell. See the manual page
in the cmail.c source.