home *** CD-ROM | disk | FTP | other *** search
- #! /bin/sh
- # newsreply - print return address from news article on stdin
- # This version assumes a domain mailer (user@host.domain works) or
- # "internet" in mailpaths file, unless $NEWSCTL/replyusepath exists.
-
- # =()<. ${NEWSCONFIG-@<NEWSCONFIG>@}>()=
- . ${NEWSCONFIG-/var/lib/news/bin/config}
- export NEWSCTL NEWSBIN NEWSARTS
- PATH=$NEWSCTL/bin:$NEWSBIN:$NEWSPATH ; export PATH
- umask $NEWSUMASK
-
- hdr=/tmp/nc$$
- mroute=/tmp/ncm$$
-
- canonhdr >$hdr
-
- if test -r $NEWSCTL/replyusepath; then
- grep '^Path:' $hdr | sed 's/^[^:]*:[ ]*//'
- rm -f $hdr
- exit 0
- fi
-
- # pick out the appropriate header
- sender="` grep '^Reply-To:' $hdr `"
- case "$sender" in
- "") sender="` grep '^From:' $hdr `" ;;
- esac
-
- # strip header keyword, full name & duplicate lines, print result.
- # this copes with "address", "address (full name)" and "full name <address>".
- sender=` echo "$sender" | sed 's/^[^:]*:[ ]*//
- s/[ ]*(.*)//
- s/^.*<\(.*\)>.*$/\1/
- 1q' `
-
- # B 2.11 mailpaths/"internet" hack
- cat $NEWSCTL/mailpaths |
- while read ngpat route junk
- do
- case "$ngpat" in
- internet)
- echo "$route" >$mroute
- break
- ;;
- esac
- done
- if test -s $mroute; then
- sed "s/%s/`
- echo $sender | sed 's/\(.*\)@\(.*\)/\2!\1/'
- `/" <$mroute # the real B 2.11 hack: u@d -> route!d!u
- else
- echo $sender
- fi
-
- rm -f $hdr $mroute
-