#! /bin/sh # submit.relay - submit article on stdin via relaynews # environment variables: autopost, relayopts # =()<. ${NEWSCONFIG-@@}>()= . ${NEWSCONFIG-/var/lib/news/bin/config} export NEWSCTL NEWSBIN NEWSARTS NEWSPATH NEWSUMASK NEWSMASTER NEWSCONFIG PATH=$NEWSCTL/bin:$NEWSBIN/relay:$NEWSBIN:$NEWSPATH; export PATH # deal with inadequate free space case "$autopost" in no) if test "`spacefor 1 articles`" -le 0; then echo "$0: too little space free on $NEWSARTS" >&2 exit 1 fi ;; yes) iter=0 while test "`spacefor 1 articles`" -le 0 -o "`spacefor 1 control`" -le 0 do sleep 30 iter=`expr $iter + 1` case "$iter" in 3) mail "$NEWSMASTER" <&2 exit 1 ;; esac # execute relaynews commands on the server, for the sake of locking. me="` hostname `" server="` cat $NEWSCTL/server 2>/dev/null `" case "$server" in "") server="$me" ;; # if no server file, assume this is it esac case "$me" in $server) relaynews $relayopts status=$? ;; *) # send article+commands to remote shell echo PATH=$PATH relaynews $relayopts >/tmp/irsh$$cmd ersh $server /bin/sh >/tmp/inewsdebug # DEBUG exit $status