#!/usr/local/bin/bash
#
# Copyright (C) 2004 SIPfoundry Inc.
# Licensed by SIPfoundry under the LGPL license.
#
# Copyright (C) 2004 Pingtel Corp.
# Licensed to SIPfoundry under a Contributor Agreement.

Action=RUN
Status=0
Args=""

while [ $# -ne 0 ]
do
    case ${1} in
        --configtest)
            Action=CONFIGTEST
            ;;

        *)
            Args="$Args $1"
            ;;
    esac           

    shift # always consume 1
done

CONFIG_DEFS="@SIPX_CONFDIR@/config.defs"

CONFIG_FILES="\
  @SIPX_CONFDIR@/authproxy-config \
  @SIPX_CONFDIR@/authrules.xml \
  "

# If the "config.defs" file exists and the <name>.in file exists for a
# configuration file, then run the config preprocessor to generate the
# fully resolved configuration file.
if [ -f "$CONFIG_DEFS" ]
then
  for i in $CONFIG_FILES ; do
    if [ -f "${i}.in" ]
    then
       @bindir@/configpp --defs "${CONFIG_DEFS}" --in "${i}.in" --out "$i"
    fi
  done
fi

case ${Action} in
   RUN)
     echo $$ > @SIPX_RUNDIR@/sipauthproxy.pid
     exec @bindir@/sipauthproxy $Args
     ;;

   CONFIGTEST)
     @bindir@/sipx-validate-xml @SIPX_CONFDIR@/authrules.xml
     Status=$?

     # Check that the log file is writable.
     logfile="@SIPX_LOGDIR@/sipauthproxy.log"
     if [ -e $logfile -a ! -w $logfile ]
     then
	 echo "Log file '$logfile' exists but is not writable by user '@SIPXPBXUSER@'." >&2
	 Status=1
     fi

     ;;
esac

exit $Status


syntax highlighted by Code2HTML, v. 0.9.1