4.4BSD/usr/src/contrib/news/inn/samples/sendsys

#! /bin/sh
##  $Revision: 1.12 $
##  Sendsys control-message handler

PROG=sendsys
##  Some shells don't pass in $* unless we explicitly pass it in here.
##  =()<. @<_PATH_PARSECTL>@ "$@">()=
. /var/spool/news/data/parsecontrol "$@"

##  See if the poster should have given an argument.
case "${ACTION}-$1" in
doifarg-)
    ACTION=mail
    ;;
doifarg-*)
    ACTION=doit
    ;;
esac

SUBJECT="Sendsys reply from `innconfval pathhost`"
case ${ACTION} in
mail)
    export FROM MAILCMD SUBJECT ARTICLE
    (
	echo "${FROM} posted a sendsys requesting your newsfeeds file."
	echo ''
	echo 'To reply, do the following:'
	echo "	${MAILCMD} -s \"${SUBJECT}\" ${FROM} <${NEWSFEEDS}"
	echo ''
	echo 'The full article was:'
	cat ${ARTICLE}
    ) | ${MAILCMD} -s "sendsys by ${FROM}" ${NEWSMASTER}
    ;;
logit)
    ${WRITELOG} ${LOGFILE} "sendsys by ${FROM}; reply skipped" <${ARTICLE}
    ;;
doit)
    case "$1" in
    "")
	${MAILCMD} -s "${SUBJECT}" ${REPLYTO} <${NEWSFEEDS}
	${MAILCMD} -s "sendsys by ${FROM}; reply sent" ${NEWSMASTER} <${ARTICLE}
	;;
    *)
	${AWK} "/^$1"'[/:\\]/,/[^\\]$/' ${NEWSFEEDS} >${TEMP}
	trap 'rm -f ${TEMP} ; exit' 1 2 3 15
	if [ -s ${TEMP} ] ;  then
	    ${MAILCMD} -s "${SUBJECT} for $1" ${REPLYTO} <${TEMP}
	    ${MAILCMD} -s "sendsys $1 by ${FROM}; reply sent" \
		    ${NEWSMASTER} <${ARTICLE}
	fi
	rm -f ${TEMP}
	;;
    esac
    ;;
esac

exit