home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 1 / GoldFishApril1994_CD2.img / d4xx / d473 / cnewssrc / cnews_src.lzh / relay / ctl / newgroup < prev    next >
Text File  |  1990-01-11  |  1KB  |  55 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 mkpdir
  9. umask $NEWSUMASK
  10.  
  11. hdr=/tmp/nc$$
  12.  
  13. trap "rm -f $hdr; exit 0" 0
  14. canonhdr >$hdr
  15.  
  16. # unapproved ctl msg? then quit
  17. grep -s '^Approved:' $hdr >/dev/null || { rm -f $hdr; exit 0; }
  18.  
  19. SENDER="`grep '^Sender:' $hdr | sed 's/^[^:]*: *//'`"
  20. case "$SENDER" in
  21. "")    SENDER="`grep '^From:' $hdr | sed 's/^[^:]*: *//' `" ;;
  22. esac
  23.  
  24. greppat="^`echo $1 | sed 's/\./\\\\./g' ` "
  25. if grep -s "$greppat" $NEWSCTL/active >/dev/null; then    # group exists?
  26.     export SENDER
  27.     chamod "$1" "$2"         # change moderated flag if needed
  28.     exit
  29. fi
  30.  
  31. me="`newshostname`"
  32. gngppat=`awk -f $NEWSBIN/relay/canonsys.awk $NEWSCTL/sys |
  33.     egrep "^($me|ME):" |
  34.     awk -F: '
  35. {
  36.     fields = split($2, field2, "/")    # split ngs/dists
  37.     print field2[1]            # print only ngs
  38.     exit
  39. }' `
  40.  
  41. if gngp -a "$gngppat" >/dev/null <<!
  42. $1
  43. !
  44. then            # no group in active, but sys file likes it: make it
  45.     case "$2" in
  46.     moderated)    flag=m ;;
  47.     *)        flag=y ;;
  48.     esac
  49.     echo "$1 0000000000 0000000001 $flag" >>$NEWSCTL/active
  50.     (echo "$1 `getdate now` $SENDER" >>$NEWSCTL/active.times)  # rn hook
  51.     # make the directory since rn will bitch if it's missing
  52.     mkpdir $NEWSARTS/`echo $1 | tr . / `
  53.     echo "newsgroup $1 was created by $SENDER." | mail $NEWSMASTER
  54. fi
  55.