HylaFAX The world's most advanced open source fax server

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: SNPP & hfaxd




I would suggest that you not use inetd for this. HylaFAX sources
include a script, "hylafax", that will start and stop hfaxd service
and can be started from /etc/rc.local on those systems that use this,
or in the boot script directory on those systems that use that.

If it's not on your system, you can modify and use this one. I've
modified it to use the entries in /etc/services, rather than
hard-coding the port numbers. You'll need to edit SPOOL to
match your system's configuration.

Have I ever mentioned that Sam Leffler writes and uses exceedingly
clever shell scripts?

   #! /bin/sh
   #	$Id: hylafax.in,v 1.33 1996/06/26 14:58:03 sam Rel $
   #
   # Warning, this file was automatically created by the HylaFAX configure script
   #
   # HylaFAX Facsimile Software
   #
   # Copyright (c) 1990-1996 Sam Leffler
   # Copyright (c) 1991-1996 Silicon Graphics, Inc.
   # HylaFAX is a trademark of Silicon Graphics
   # 
   # Permission to use, copy, modify, distribute, and sell this software and 
   # its documentation for any purpose is hereby granted without fee, provided
   # that (i) the above copyright notices and this permission notice appear in
   # all copies of the software and related documentation, and (ii) the names of
   # Sam Leffler and Silicon Graphics may not be used in any advertising or
   # publicity relating to the software without the specific, prior written
   # permission of Sam Leffler and Silicon Graphics.
   # 
   # THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
   # EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
   # WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
   # 
   # IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
   # ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
   # OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
   # WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
   # LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
   # OF THIS SOFTWARE.

   #
   # VERSION:	v4.0pl1
   # DATE:		Fri Nov 29 11:48:51 EST 1996
   # TARGET:	sparc-sun-sunos4.1.4
   #

   #
   # fax server control
   #
   # NB: This script assumes faxgetty processes are managed by init
   #
   SPOOL=/usr/local/spool/hylafax

   test -f $SPOOL/etc/setup.cache || {
       cat<<EOF

   FATAL ERROR: $SPOOL/etc/setup.cache is missing!

   The file $SPOOL/etc/setup.cache is not present.  This
   probably means the machine has not been setup using the faxsetup(1M)
   command.  Read the documentation on setting up HylaFAX before you
   startup a server system.

   EOF
       exit 1
   }
   . $SPOOL/etc/setup.cache

   IS_ON=/etc/chkconfig		# NB: chkconfig is IRIX-specific
   FAXQ=$SBIN/faxq
   HFAXD=$LIBEXEC/hfaxd
   FAXQUIT=$SBIN/faxquit
   KILLALL=/sbin/killall
   OLDFAXPORT=fax			# designated port for old protocol
   FAXPORT=hylafax			# designated port for new protocol
   SNPPPORT=snpp		# official port for SNPP

   if test ! -x $IS_ON ; then
       IS_ON=true
   fi

   if $IS_ON verbose ; then
       ECHO=echo
   else		# For a quiet startup and shutdown
       ECHO=:
   fi

   #
   # killall -SIGNAL process-name
   #
   # Emulate the necessary functionality if the
   # killall program doesn't do the expected...
   #
   if ($KILLALL -l >/dev/null) 2>/dev/null; then
       killall()
       {
	   $KILLALL $1 $2
       }
   else
       killall()
       {
	   # NB: ps ax should give an error on System V, so we try it first!
	   pid="`ps ax 2>/dev/null | $AWK \"\
		   /[\/ (]$2[ )]/	{print \\$1;}
		   /[\/ ]$2\$/	{print \\$1;}\"`"
	   test "$pid" ||
	       pid="`ps -e 2>/dev/null | $AWK \"/ $2[ ]*\$/ {print \\$1;}\"`"
	   test "$pid" && kill $1 $pid; return
       }
   fi

   case $1 in
   'start')
	   if $IS_ON fax && test -x $FAXQ; then
	       killall -15 faxq
	       killall -15 hfaxd
	       $ECHO "HylaFAX:\c"
	       $FAXQ; $ECHO " faxq\c"
	       $HFAXD -i $FAXPORT -o $OLDFAXPORT -s $SNPPPORT
		   $ECHO " hfaxd (w/ compatibility & SNPP)\c"
	       $ECHO "."
	   fi
	   ;;
   'stop')
	   $ECHO "Stopping HylaFAX Servers."
	   $FAXQUIT >/dev/null 2>&1
	   killall -15 hfaxd
	   ;;
   *)
	   echo "usage: /etc/init.d/hylafax {start|stop}"
	   ;;
   esac




Project hosted by iFAX Solutions