=================================================================================
PalMail 0.93 -- a frontend for Voice/FAX messages.
=================================================================================

This is a beta release of PalMail. It works fine for me, but
there may be lots of bugs. Please use it at your own risk.

PalMail works at least with TK-3.6 and TK-4.0. Other versions may also
work, but haven't been tested.
I have tested this program with linux 1.2 and mgetty-0.98 on a Creatix LC144VF.
I can't tell anything about other modems. If you have problems, patches or
suggestions, please send mail to <bandelow@busch.bauwesen.uni-dortmund.de>.

=================================================================================

Copyleft  (C) 1995 Tim Bandelow <bandelow@busch.bauwesen.uni-dortmund.de>
                   Sven Palme   <palme@elphy.irz.hu-berlin.de>
PalMail is based on an old version of faxview by Ralph Schleicher
Copyright (C) 1994, 1995 Ralph Schleicher <rs@purple.in-ulm.de>

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

=================================================================================
Installation:
=================================================================================

1. First install mgetty / vgetty and any other tools you may need.
2. Every user who is allowed to use PalMail should have an entry in '/etc/group':
     phone::17:user1,user2,user3
   If you don't bother about security, you may leave this step out and choose
   the default group of your users in the next steps.
3. Look through the configuration section of PalMail.
   You may enter your favorite programs for
   - do_view_command   (view a fax)
   - do_print_command  (print a fax)
   - do_play_command   (play a voice message)
   Also check the filenames to conform with your installation of vgetty.
   The chosen group (Step 2) should conform with 'file_grp' in the
   configuration-section of PalMail.
4. Check the first section of the Makefile.
5. Type 'make' to create 'ata' and 'do_faxrunq'.
6. Type 'make install' as root.

=================================================================================
Some useful hints:
=================================================================================

Before running this program, you should look at the write-permissions
of some of the files and directories it uses. PalMail can only modify or
delete files, if the user running it has write-permission or belongs to
a group with write-permission.
These files/directories are by default:

* The directories for spooling incoming and outgoing faxes and voice-messages:
  - /var/spool/fax/incoming
  - /var/spool/fax/outgoing
  - /var/spool/voice/incoming
  - /var/spool/voice/messages
* The list of greeting messages:
    /var/spool/voice/messages/Index
* The log-file for zplay (may be called differently at your installation)
    /var/log/zplay.log

All these files should belong to a special group (e.g. 'modem' or 'phone')
and have write permission for the owner and the group.
My spool directory for faxes looks as follows:

$ ls -l /var/spool/fax/
total 3
-rw-r--r--   1 root     root          238 Oct 20 20:53 acct.log
drwxrwx---   2 root     phone        1024 Oct 21 14:29 incoming/
drwxrwx---   2 root     phone        1024 Oct 20 20:54 outgoing/

This is achieved by:
  chmod 770 DIRNAME     ||    chmod 660 FILENAME
  chgrp phone DIRNAME   ||    chgrp phone FILENAME

Every user who is allowed to use PalMail should have an entry in '/etc/group'
as described in the installation instructions.

=================================================================================

The command 'Pick Up' (Ring-mode) is useful if you pick up the phone manually
and recognize a fax or a modem on the other end of the line.
Then you can press 'Pick Up' and your modem should take over.
It would only work, if you invoke PalMail as root, since it has to send
vgetty a 'kill -SIGUSR1'.
For this reason a simple C-program is provided which can be run SUID.
It does some security checking, so I think it is save to use it.
If you still consider this a security-hole, change the variable
ATA_MODE to 0750 in the Makefile before installation.

This command didn't work for me :-(
Please tell if it works at your site or what patches are necessary.

=================================================================================

'Faxrunq' (FaxOUT-mode) would only work, if you invoke PalMail as root,
since it uses faxrunq.
For this reason a simple C-program is provided which can be run SUID.
If you consider this a security-hole, change the variable
FAXRUNQ_MODE to 0750 in the Makefile before installation.

=================================================================================

The commands 'Connect' and 'Faxrunq' use the send command of TK to display
the command output into the logbox of PalMail. This will only work, if you
don't use xhost for access control. Use xauth instead. If the send mechanism
doesn't work, the command output is displayed to stdout and you have to
stop 'Faxrunq' manually to continue.

=================================================================================

PalMail scans the mgetty/vgetty logfile to display some basic information
about connections and phone rings. Because this takes some time if the
logfile is huge, you may want to shorten this file in regular intervals.
Use the provided script 'tail_log' as a starting point.
It can be invoked manually by root or via cron.
Don't use the command sequence 'tail FILE > FILE.tmp ; mv FILE.tmp FILE'
while mgetty is running. This would confuse mgetty.

=================================================================================
[save]
