File: //usr/share/doc/mgetty-1.1.33/samples/new_fax.all/new_fax
#!/bin/ksh
#
# Written 1996 by Darko Krizic
#
# This is an flexible, configurable and expandable fax postprocessor for
# mgetty from Gert Doering. See the README file for more information.
# Do the settings here
home=/usr/local/newfax # The home directory
config=$home/faxlist # The configuration file
from="Fax Subsystem <faxadmin@xplor.ipf.de>" # From this user
log=/var/log/faxlog # logfile
# Usually nothing to configure beyond this line
PATH=/usr/bin:/bin:/usr/local/bin:/usr/bin/X11
# A function for logging. Each line starting with date and time
log()
{
echo "`date +"%d.%m.%y %H:%M"` "$* >>$log
}
# take the fax informations and log status line
code="$1"
id="$2"
pages="$3"
shift 3
log "fax received (id $id, $pages pages)"
# include all module found
for module in $home/*.module
do
log "module `basename $module .module`"
. $module
done
match=0 # no section matches yet
name="" # no name for id yet
cat $config | while read line # read config line by line
do
command=`echo $line | cut -d" " -f1 -s` # extract command
data=`echo $line | cut -d" " -f2- -s` # extract parameter
if [ "$command" = "" ] # empty line
then
command=$line
fi
case "$command" in
"#"*) # comment - ignore
;;
"") # end of section
if [ $match -ne 0 ]
then
exit 0 # section done, exit
fi
;;
"id") # id of caller
if [ "$data" = "" ]
then
if [ $match -eq 0 ]
then
log "default section"
match=1
fi
fi
if [ -z "$name" ]
then
if [ `echo $id | grep "$data" | wc -l` -gt 0 ]
then
log "id $id matches section $data"
match=1
fi
fi
;;
"name") # name of caller
if [ "$match" -ne 0 ]
then
if [ -z "$name" ]
then
name=$data
log "name of $id is $name"
fi
fi
;;
*)
#type -type $command >>$log
if [ "$match" -ne 0 ]
then
$command $* >>$log 2>&1
fi
;;
esac
done
exit 0