home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 300-399 / ff319.lzh / CNewsSrc / cnews.orig.lzh / relay / ctl / newgroup < prev    next >
Text File  |  1989-06-27  |  1KB  |  56 lines

  1. #! /bin/sh
  2. # newgroup group flag - create group (4-field version: B-2.10.3+ compatible)
  3. #    subject to our sys file group pattern
  4.  
  5. # =()<. ${NEWSCONFIG-@<NEWSCONFIG>@}>()=
  6. . ${NEWSCONFIG-/usr/lib/news/bin/config}
  7. export NEWSCTL NEWSBIN NEWSARTS
  8. PATH=$NEWSCTL/bin:$NEWSBIN/relay:$NEWSBIN:$NEWSPATH ; export PATH # include mkp
  9. ir
  10. umask $NEWSUMASK
  11.  
  12. F=/tmp/nc$$
  13.  
  14. trap "rm -f $F; exit 0" 0
  15. cat >$F
  16.  
  17. # unapproved ctl msg? then quit
  18. grep -s '^Approved:' $F || { rm -f $F; exit 0; }
  19.  
  20. SENDER="`grep '^Sender:' $F | sed 's/^[^:]*: *//'`"
  21. case "$SENDER" in
  22. "")    SENDER="`grep '^From:' $F | sed 's/^[^:]*: *//' `" ;;
  23. esac
  24.  
  25. greppat="^`echo $1 | sed 's/\./\\\\./g' ` "
  26. if grep -s "$greppat" $NEWSCTL/active; then    # group exists?
  27.     export SENDER
  28.     chamod "$1" "$2"         # change moderated flag if needed
  29.     exit
  30. fi
  31.  
  32. me="`newshostname`"
  33. gngppat=`awk -f $NEWSBIN/relay/canonsys.awk $NEWSCTL/sys |
  34.     egrep "^($me|ME):" |
  35.     awk -F: '
  36. {
  37.     fields = split($2, field2, "/")    # split ngs/dists
  38.     print field2[1]            # print only ngs
  39.     exit
  40. }' `
  41.  
  42. if gngp -a "$gngppat" >/dev/null <<!
  43. $1
  44. !
  45. then            # no group in active, but sys file likes it: make it
  46.     case "$2" in
  47.     moderated)    flag=m ;;
  48.     *)        flag=y ;;
  49.     esac
  50.     echo "$1 0000000000 00000 $flag" >>$NEWSCTL/active
  51.     (echo "$1 `getdate now` $SENDER" >>$NEWSCTL/active.times)  # rn hook
  52.     # make the directory since rn will bitch if it's missing
  53.     mkpdir $NEWSARTS/`echo $1 | tr . / `
  54.     echo "newsgroup $1 was created by $SENDER." | mail $NEWSMASTER
  55. fi
  56.