[net.sources] news 2.10.2 doc part 1

rick@seismo.UUCP (Rick Adams) (09/08/84)

if test ! -d doc
then
	echo mkdir doc
	mkdir doc
fi
echo x - doc/install
sed 's/^X//' >doc/install <<'*-*-END-of-install-*-*'
X
X
X
X
X
X
X
X
X
X               USENET Version B Installation
X
X
X                       Matt Glickman
X
X                 Computer Science Division
X Department of Electrical Engineering and Computer Sciences
X                  University of California
X                 Berkeley, California 94720
X
X
X          Revised by Mark Horton for version 2.10
X          Revised by Rick Adams for version 2.10.2
X
X
X
X
X
X
X_1.  _I_n_t_r_o_d_u_c_t_i_o_n
X
X     This document is intended to help a USENET site install
Xand  maintain  the  network news software.  Please ask ques-
Xtions of Rick Adams, such questions will help to  point  out
Xareas that need to be addressed here.
X
X     The overall order of things to do is:
X
X(a)  Find somebody to link up with.  You need a network con-
X     nection of some kind, for example ARPANET or UUCP.  You
X     cannot get a link to Berkeley, sorry.  If you must  use
X     UUCP  and have no connections, you must have at least a
X     dialup and preferably a dialer, and find  someone  wil-
X     ling to call your machine.  The USENET directory may be
X     helpful in finding some other site geographically  near
X     yours to hook up to.
X
X(b)  Create a localize.sh script to make  local  changes  to
X     the makefile and defs.h files.
X
X(c)  Compile the software using the _m_a_k_e command.
X
X(d)  Su and type ``make install''.  This will copy the files
X     out  to the right place and make directories containing
X     most of the important files.  It will configure you  in
X     with  a  connection to oopsvax via uucp links.  This is
X     undoubtably wrong, so you will have to configure  links
X     as needed.
X
X(e)  After editing the configuration table, get your contact
X     at the other end of the link to add you to their sys.
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 2 -
X
X
X(f)  Post a message to the to._s_y_s_n_a_m_e newsgroup which should
X     be  set up to go only to the site you are linked to, as
X     a test.  Have the other person send a message  to  your
X     system using the same mechanism.  If this doesn't work,
X     find  the  problem  and  fix  it.   (Please  don't  use
X     net.test  unless there is no alternative.  It is almost
X     always possible to use test,  or  to._s_y_s_n_a_m_e,  or  some
X     local.test group, instead of net.test.
X
X(g)  Fill out a USENET directory form and post a copy to the
X     USENET newsgroup ``net.news.newsite.''
X
X(h)  Post the ``etiquette'' and ``howto'' files (in the  doc
X     directory)  to  your  ``general'' newsgroup with a long
X     expiration date.  Running ``rnews'' separately on  each
X     of these files will do.
X
X(i)  It will probably be necessary to fix your uucp  command
X     to  allow rnews and cunbatch, and to support the -z and
X     -n options.
X
X_2.  _I_n_s_t_a_l_l_a_t_i_o_n
X
X_2._1.  _C_o_n_f_i_g_u_r_a_t_i_o_n
X
X     Local configuration of the _U_S_E_N_E_T  version  B  software
Xrequires  you  to  edit  a few files.  Most importantly, the
X_d_e_f_s._h and _M_a_k_e_f_i_l_e files must be created  from  their  tem-
Xplates _d_e_f_s._d_i_s_t and _M_a_k_e_f_i_l_e._v_7or You should create a shell
Xscript called localize.sh which copies the files  and  makes
Xlocal  changes to the copies.  Even for a completely vanilla
Xsite, some changes will be  necessary.   For  example,  your
Xscript  should  choose between Makefile.v7 and Makefile.usg.
XYou should  include  the  name  of  the  local  organization
X(MYORG)  and  the uid of the local news super user (ROOTID).
XYou should also choose how your hostname will be determined.
XIf  you  are  a USG site, define UNAME in defs.h. If you are
Xrunning 4.2 BSD, define GHNAME in  defs.h.  Otherwise,  news
Xwill  look  in  the file /_u_s_r/_i_n_c_l_u_d_e/_w_h_o_a_m_i._h for a line of
Xthe form
X
X        #define sysname your-sysname
X
X
X     If you are running System 3 or System 5, you are a  USG
Xsite.  Otherwise, unless you are in AT&T, you are probably a
XV7 site.  The previously  mentioned  defines  are  the  only
Xmodifications  that  are  _n_e_c_e_s_s_a_r_y  to install news at your
Xsite. However, you will probably want to change some of  the
Xones listed below.
X
X     A  sample  localize  shell  script  can  be  found   in
Xlocalize.sample.  The most important parameters are:
X
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 3 -
X
X
X_2._1._1.  _R_O_O_T_I_D
X
X     The numerical userid of the  person  who  is  the  news
Xsuper  user.   This  should not be set to 0.  Normally it is
Xset to the uid of the news contact person for the site.
X
X_2._1._2.  _N__U_M_A_S_K
X
X     Mask for _u_m_a_s_k(_2) system call.  Set to  something  like
X022 for a secure system.  Unsecure systems might want 002 or
X000.  This mask controls the mode of news files  created  by
Xthe software.  Insecure modes would allow people to edit the
Xfiles directly.
X
X_2._1._3.  _D_F_L_T_E_X_P
X
X     The default no. of seconds after which an article  will
Xexpire.   2 weeks (1,209,600 seconds) is the default choice.
XArticles which were posted more than DFLTEXP  ago  are  con-
Xsidered  too old and are moved into the junk directory. This
Xis because they are too old to be in the history file, so it
Xis  impossible  to tell if they really should be accepted or
Xare endlessly looping around the network (This was theoreti-
Xcally  possible before this feature was added.). If you wish
Xto expire articles faster than two weeks, it is  recommended
Xthat  you  use  the  -e flag to expire instead of decreasing
XDFLTEXP.
X
X_2._1._4.  _D_F_L_T_S_U_B
X
X     The default subscription list.   If  a  user  does  not
Xspecify  any list of newsgroups, this will be used.  Popular
Xchoices are _a_l_l and _g_e_n_e_r_a_l,_a_l_l._g_e_n_e_r_a_l.
X
X_2._1._5.  _T_M_A_I_L
X
X     This is the version of the Berkeley _M_a_i_l  program  that
Xhas  the  -T  option.   If  left undefined, the -_M option to
X_r_e_a_d_n_e_w_s will be disabled.
X
X_2._1._6.  _A_D_M_S_U_B
X
X     This newsgroup  (or  newsgroup  list)  will  always  be
Xselected  unless  the  user  specifies a newsgroup list that
Xdoesn't include ADMSUB on the command  line.   That  is,  as
Xlong  as the user doesn't use the -_n flag to readnews on the
Xcommand line, ADMSUB will always be selected.  This is  usu-
Xally  set  to  _g_e_n_e_r_a_l.  (The intent of this parameter is to
Xhave certain newsgroups which users  are  required  to  sub-
Xscribe to.  A typical site might require _g_e_n_e_r_a_l.)
X
X_2._1._7.  _P_A_G_E
X
X     The default program for which articles will be piped to
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 4 -
X
X
Xfor paging.  This can be disabled or changed by the environ-
Xment variable PAGER.  If you have it, the Berkeley _m_o_r_e com-
Xmand  should  be used, since the + option allows the headers
Xto be skipped.
X
X_2._1._8.  _N_O_T_I_F_Y
X
X     If defined, this character string will  be  used  as  a
Xuser  name  to  send mail to in the event of certain control
Xmessages  of  interest.   (Currently  these  are   newgroup,
Xrmgroup,  sendsys,  checkgroups  and senduuname.) As distri-
Xbuted, mail will be sent to user _u_s_e_n_e_t.  It is  recommended
Xyou create such a mailbox (have it forwarded to yourself) if
Xpossible, since this makes it easier  for  another  site  to
Xcontact  the  site  administrator for your site.  If you are
Xunable to do this (e.g. you are  not  the  super  user)  you
Xshould  change  this name to yourself.  Also, messages about
Xmissing or extra newsgroups are mailed to this user  by  the
X``checkgroups'' control message.
X
X_2._1._9.  _D_F_T_X_M_I_T
X
X     This is the default command to use to transmit news  if
Xno  explicit  command  is  given in the 4th field of the sys
Xfile.  It normally includes uux with  the  -z  option.   You
Xshould  install  this  mod  to  uucp at once, otherwise your
Xusers will start being bombarded with annoying  uux  comple-
Xtion  messages.   However, you can turn this off to get news
Xinstalled.
X
X_2._1._1_0.  _U_X_M_I_T
X
X     This is the default command  used  if  the  U  flag  is
Xpresent  in  the  flags portion of a sys file line.  In this
Xcase, the 2nd %s refers to the name of a file  in  the  news
Xspool  area,  not  a temporary file.  It can usually only be
Xused when local modifications are made to the  uucp  system,
Xsuch as the -c option to uux.
X
X_2._1._1_1.  _D_F_T_E_D_I_T_O_R
X
X     This is the full path name of the default editor to use
Xduring  followups and replies.  It should be set to the most
Xpopular text editor on your system.  As distributed,  _v_i  is
Xused.
X
X_2._1._1_2.  _U_U_P_R_O_G
X
X     If this is defined, it will be used as a command to run
Xwhen  the _s_e_n_d_u_u_n_a_m_e control message is sent around.  Other-
Xwise the command _u_u_n_a_m_e will be run.  Normally, this program
Xshould be placed in LIBDIR.
X
X
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 5 -
X
X
X_2._1._1_3.  _M_A_N_U_A_L_L_Y
X
X     If this is defined, incoming _r_m_g_r_o_u_p messages will  not
Xremove  the subdirectories, but rather just remove the group
Xline from your active file.  You should have  NOTIFY  on  if
Xyou  use  this.   Note that on a USG system the subdirectory
Xwill not be removed anyway unless you have an unsecure (mode
X777  directory)  system.   This  is turned off by default to
Xprotect you against accidental or malicious  removal  of  an
Ximportant newsgroup.
X
X_2._1._1_4.  _B_A_T_C_H
X
X     If set, this is the name of a program that will be used
Xto unpack batched articles (those beginning with the charac-
Xter `#').  Batched articles normally are files reading
X
X        #! rnews 1234
X        article containing 1234 characters
X        #! rnews 4321
X        article containing 4321 characters
X        etc.
X
XBatching is _s_t_r_o_n_g_l_y recommended.
X
X_2._1._1_5.  _L_O_C_A_L_N_A_M_E
X
X     Most systems have a full name database  on  line  some-
Xwhere,  showing for each user what their full name is.  Most
Xoften this is in the GCOS field  of  /etc/passwd.   If  your
Xsystem  has  such a database, LOCALNAME should be left unde-
Xfined.  If not, define LOCALNAME, and articles  posted  will
Xonly  receive  full names from local user information speci-
Xfied in NAME or ~/.name by the user.  If you have a nonstan-
Xdard GCOS format (not finger or RJE) it will be necessary to
Xmake local changes to fullname.c as appropriate on your sys-
Xtem.
X
X_2._1._1_6.  _I_N_T_E_R_N_E_T
X
X     If your system  has  a  mailer  that  understands  ARPA
XInternet  syntax  addresses (user@site.domain) turn this on,
Xand replies will use the From or Reply-To  headers.   Other-
Xwise,  leave  it  disabled  and  replies  will  use the Path
Xheader.
X
X_2._1._1_7.  _M_Y_D_O_M_A_I_N
X
X     When generating internet addresses, this domain will be
Xappended  to  the  local  site  name to form mailing address
Xdomains.  For example, on system ucbvax with user  root,  if
XMYDOMAIN  is set to ``.UUCP'', addresses generated will read
X``root@ucbvax.UUCP''.  If  MYDOMAIN  is  ``.Berkeley.ARPA'',
Xthe address would be ``root@ucbvax.Berkeley.ARPA''.  If your
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 6 -
X
X
Xsite is in more than one domain, use  your  primary  domain.
XThe  domain  always  begins  with a period, unless the local
Xsite name contains the domain; in this case MYDOMAIN  should
Xbe the null string.
X
X_2._1._1_8.  _C_H_E_A_P
X
X     Do not chown spool files to  news.   Used  for  obscure
Xaccounting reasons on some systems.
X
X_2._1._1_9.  _O_L_D
X
X     Define this if any of your USENET neighbors run 2.9  or
Xearlier versions of B news.  It will cause all headers writ-
Xten to contain two extra lines: Article-I.D. and Posted, for
Xupward  compatibility.   Once  all  your neighbors have con-
Xverted, you can save disk space and  transmission  costs  by
Xturning  this off.  It is strongly encouraged that they con-
Xvert. 2.10 is _M_U_C_H faster than 2.9. The performance  differ-
Xence is dramatic.
X
X_2._1._2_0.  _U_N_A_M_E
X
X     Define this if  the  uname  system  call  is  available
Xlocally,  even though you are not a USG system.  USG systems
Xalways have uname available and ignore this setting.
X
X_2._1._2_1.  _G_H_N_A_M_E
X
X     Define this if the 4.2BSD gethostname  system  call  is
Xavailable.   If  neither  UNAME  or GHNAME is defined, inews
Xwill determine the name  of  the  local  system  by  reading
X/usr/include/whoami.h.
X
X_2._1._2_2.  _V_7_M_A_I_L
X
X     Define this if your system uses  V7  mail  conventions.
XThe  V7  mail  convention is that a mailbox contains several
Xmessages concatenated, each message beginning  with  a  line
Xreading  ``From  user date'' and ending in a blank line.  If
Xthis is defined, articles saved will have these lines  added
Xso that mail can be used to look at saved news.
X
X_2._1._2_3.  _S_O_R_T_A_C_T_I_V_E
X
X     Define this if you want the news  groups  presented  in
Xthe  order  of  each  persons  .newsrc instead of the active
Xfile.
X
X_2._1._2_4.  _Z_A_P_N_O_T_E_S
X
X     Define this if you want old style notesfile ids in  the
Xbody  of  the  article to be converted into NF-ID: fields in
Xthe header.
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 7 -
X
X
X_2._1._2_5.  _B_S_D_4__2
X
X     Define this if you are running 4.2 bsd Unix.
X
X_2._1._2_6.  _B_S_D_4__1_C
X
X     Define this if you are running 4.1C bsd Unix.
X
X_2._1._2_7.  _S_E_N_D_M_A_I_L
X
X     This is the program to use instead of recmail for send-
Xing  mail.   At  this time, it has only been used with send-
Xmail. However, it could be used with other mailers.
X
X_2._1._2_8.  _M_Y_O_R_G
X
X     This should be set to the name  of  your  organization.
XPlease  keep  the  name  short,  because it will be printed,
Xalong with the electronic  address  and  full  name  of  the
Xauthor  of  each  message.  40 characters is probably a good
Xupper bound on the length.  If the city and state or country
Xof  your organization are not obvious, please try to include
Xthem.  If the organization name begins with a `/',  it  will
Xbe taken as the name of a file.  The first line in that file
Xwill be used as the organization.   This  permits  the  same
Xbinary  to  be used on many different machines.  A good file
Xname would be `/usr/lib/news/organization'.  For example, an
Xorganization  might read ``AT&T Bell Labs, Murray Hill'', or
X``U.C. Berkeley'' or ``MIT'' or  ``Computer  Corp.  America,
XCambridge, Mass''.
X
X     There are other parameters  that  may  be  modified  in
X_d_e_f_s._h, and they are described in the file.
X
X_2._2.  _M_a_k_e_f_i_l_e
X
X     There are also a few  parameters  in  the  _M_a_k_e_f_i_l_e  as
Xwell.  These are:
X
X_2._2._1.  _N_E_W_S_U_S_R
X
X     This is the owner (user name) of _i_n_e_w_s.  If you  are  a
Xsuperuser,  you should probably create a new user id (tradi-
Xtionally _n_e_w_s) and use this id.  If you are not a superuser,
Xyou  can  use  your  own  user  id.  If you are able to, you
Xshould create a mail alias _u_s_e_n_e_t  and  have  mail  to  this
Xalias  forwarded to you.  This will make it easier for other
Xsites to find the right person in the presence  of  changing
Xjobs  and  out  of  date  or  nonexistent  directory  pages.
XNEWSUSR and ROOTID do not need to represent the same user.
X
X_2._2._2.  _N_E_W_S_G_R_P
X
X     This is the group (name) to which _i_n_e_w_s  belongs.   The
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 8 -
X
X
Xsame considerations as NEWSUSR apply.
X
X_2._2._3.  _S_P_O_O_L_D_I_R
X
X     This directory contains subdirectories  in  which  news
Xarticles will be stored.  It is normally /usr/spool/news.
X
X     Briefly, for each  newsgroup  (say  _n_e_t._g_e_n_e_r_a_l)  there
Xwill  be a subdirectory /usr/spool/news/net/general contain-
Xing articles, whose file names are sequential numbers,  e.g.
X/usr/spool/news/net/general/1, etc.
X
X     Each article file is in a mail-compatible  format.   It
Xbegins  with  a  number of header lines, followed by a blank
Xline, followed by the body of the article.  The  format  has
Xdeliberately  been  chosen to be compatible with the ARPANET
Xstandard for mail documented in RFC 822.
X
X     You should place news in  an  area  of  the  disk  with
Xenough  free  space to hold news you intend to keep on line.
XThe total volume of news in net.all currently runs about 14M
Xbytes/month.   If you expire news after the default 2 weeks,
Xyou will need about 7M bytes of disk space (plus some  extra
Xas a safety margin and to allow for increased traffic in the
Xfuture.) If you only receive  some  of  the  newsgroups,  or
Xexpire news after a different interval, these figures can be
Xadjusted accordingly.  Other newsgroup classes  do  not  add
Xmuch   to   the  volume;  fa.all  accounts  for  only  about
X80KB/week, and btl.all+bell.all are only about 450KB/week.
X
X_2._2._4.  _B_A_T_C_H_D_I_R
X
X     This directory will contain the  list  of  articles  to
Xsend to each system. It is normally /usr/spool/batch.
X
X_2._2._5.  _L_I_B_D_I_R
X
X     This directory will contain various system  files.   It
Xis normally /usr/lib/news.
X
X_2._2._6.  _B_I_N_D_I_R
X
X     This is the  directory  in  which  _r_e_a_d_n_e_w_s,  _p_o_s_t_n_e_w_s,
X_v_n_e_w_s,  and _c_h_e_c_k_n_e_w_s are to be installed.  This is normally
X/usr/bin.  If you decide to set BINDIR  to  a  local  binary
Xdirectory,  you  should consider that the _r_n_e_w_s and _c_u_n_b_a_t_c_h
Xcommands must be in a directory that can be found by  _u_u_x_q_t,
Xwhich  normally  only searches /bin and /usr/bin (unless you
Xmodify uuxqt).
X
X_3.  _F_I_L_E_S
X
X     This section lists the files  in  LIBDIR  and  comments
Xbriefly what they do.
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 9 -
X
X
X_3._1.  _a_c_t_i_v_e
X
X     A list of active newsgroups.  Automatically updated  as
Xnew newsgroups come in.  The order here is the order news is
Xinitially presented by _r_e_a_d_n_e_w_s, so you can edit  this  file
Xto  put  important newsgroups first.  If you have _S_O_R_T_A_C_T_I_V_E
Xdefined, after the first time the user invokes readnews,  it
Xwill be presented in the order of his .newsrc.  Each line of
Xthe active file contains four fields, separated by a  space:
Xthe  newsgroup  name,  the highest local article number (for
Xthe most recently received article), the lowest local  arti-
Xcle  number that has not yet expired, and a single character
Xused to determine if the user can post  to  that  newsgroup.
XIf the character is _y the user is permitted to post articles
Xto that group. If the character is _n the user is not permit-
Xted  to  post articles to that groups. (This field takes the
Xplace of the _n_g_f_i_l_e in  earlier  versions  of  news.   Local
Xarticle numbers begin at 1 and count sequentially within the
Xnewsgroup as articles are received.   They  do  not  usually
Xcorrespond  to  local  article  numbers on other sites.  The
Xarticle numbers are always stored as a 5 digit number  (with
Xleading zeros) to allow updating of the file in place.
X
X     The active file  should  contain  _A_L_L  active  net-wide
Xactive  newsgroups  (net.all,  mod.all  and  fa.all).  It is
Ximportant that they all be present, as they are  used  as  a
Xcheck  for valid newsgroup names and invalid newsgroup names
Xare removed from any articles processed by inews. You should
Xuse the _s_y_s file to keep out unwanted newsgroups.
X
X_3._2.  _a_l_i_a_s_e_s
X
X     This file is used to map bad  newsgroup  names  to  the
Xcorrect  ones.   (For example, net.unix.wizards is mapped in
Xnet.unix-wizards).   Each  line  consists  of   two   fields
Xseparated  by  a  space.  If the first field is found in the
Xnewsgroup list of the incoming article, it is changed to the
Xsecond  field. This change takes place in the article before
Xit is passed on to other systems, not just locally.
X
X_3._3.  _b_a_t_c_h
X
X     This program reads a list of filenames of articles  and
Xoutputs  the  articles themselves. It is typically used by a
Xshell script such as _s_e_n_d_b_a_t_c_h or _c_s_e_n_d_b_a_t_c_h.
X
X_3._4.  _c_a_e_s_a_r
X
X     A program to do caesar decoding of rotated text,  on  a
Xline  by  line  basis.   The standard input is copied to the
Xstandard output, rotating each line according  to  a  static
Xsingle  letter  frequency  table.  If an integer argument is
Xgiven (e.g. 13), every line is  rotated  by  that  argument,
Xwithout  regard  to  letter  frequencies.   This  program is
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 10 -
X
X
Xinvoked by the ``D'' readnews command.  It is also used   by
Xpostnews   with  the  ``13''  argument  to  encode  selected
Xmaterial for posting.
X
X_3._5.  _c_h_e_c_k_g_r_o_u_p_s
X
X     checkgroups is a shell file to aid in automatic  check-
Xing  of  the accuracy of your active file. It is executed by
Xthe _c_h_e_c_k_g_r_o_u_p_s control message and mails a list of  out  of
Xdate  newsgroups  to  the  person  defined by _N_O_T_I_F_Y It also
Xupdates the _n_e_w_s_g_r_o_u_p_s file that is used by  _p_o_s_t_n_e_w_s  as  a
Xhelpfile for newsgroup selection.
X
X_3._6.  _c_o_m_p_r_e_s_s
X
X     This program  is  used  for  data  compression  by  the
Xcompressed batching scheme. It averages 50% compression on a
Xtypical batch of news.
X
X_3._7.  _c_s_e_n_d_b_a_t_c_h
X
X     This shell  file is used to send a compressed batch  of
Xnews to a machine that has _c_u_n_b_a_t_c_h available to unbatch it.
X
X_3._8.  _d_i_s_t_r_i_b_u_t_i_o_n_s
X
X     This is a list of distributions that are valid for your
Xsite.  Each line has two fields separated by the first space
Xon the line.  The first field is the name of  the  distribu-
Xtion  (e.g.  usa,  na,  etc.).   The  second  field  is text
Xdescribing the distribution. As distributed,  this  file  is
Xonly  correct  for sites in the USA. You should examine this
Xfile and add or delete the appropriate distributions.
X
X_3._9.  _e_r_r_l_o_g
X
X     This file contains  the  ``important''  error  messages
Xfound  in  the  log file. These errors usually indicate that
Xsomething was wrong with an article.  This  file  should  be
Xwatched  closely.  The  _l_o_g  file contains much more verbose
Xinformation and it is often difficult to  detect  errors  in
Xit.
X
X_3._1_0.  _e_x_p_i_r_e
X
X     This program expires old articles and archives then  if
Xarchiving  is  selected. It is typically run once a day from
X_c_r_o_n.
X
X_3._1_1.  _h_e_l_p
X
X     A list of commands printed when an illegal  command  is
Xtyped to _r_e_a_d_n_e_w_s.
X
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 11 -
X
X
X_3._1_2.  _h_i_s_t_o_r_y
X
X     A list of every article that has come in to  your  sys-
Xtem.   Used  to  reject articles that come in for the second
Xtime (presumably via a different path).  This file will grow
Xbut is cleaned out by the expire command.
X
X_3._1_3.  _h_i_s_t_o_r_y._d_i_r,_h_i_s_t_o_r_y._p_a_g
X
X     These two files are used on V7 systems as a hashed ver-
Xsion of history, containing the message ID's of all articles
Xin history.  They are only used if -DDBM and -ldbm appear in
Xthe Makefile.
X
X_3._1_4.  _i_n_e_w_s
X
X     This is the program that actually  sends  and  receives
Xnews. All other programs interface eventually with it. It is
Xnot intended to be used directly by a human,  so  it  is  no
Xlonger in /usr/bin.
X
X_3._1_5.  _l_o_c_a_l_g_r_o_u_p_s
X
X     This is a list of newsgroups specific to your site.  It
Xis used in addition to the data furnished by the _c_h_e_c_k_g_r_o_u_p_s
Xcontrol message to provide a  list  of  possible  groups  to
Xwhich to submit articles.
X
X_3._1_6.  _l_o_g
X
X     If present, a log of articles processed and error  con-
Xditions  is kept here.  This file grows without limit unless
Xcleaned out periodically, the trimlib script in misc can  be
Xinvoked  from  /usr/lib/crontab  daily or weekly to keep the
Xlog short.
X
X_3._1_7.  _m_o_d_e_r_a_t_o_r_s
X
X     This file contains a list of the moderators  and  their
Xmailing  addresses  for  each moderated newsgroup. Each line
Xconsists of two  fields.  the  first  is  the  name  of  the
Xmoderated  group.  The  second is the mailing address of the
Xgroup's moderator. As distributed, they are almost certainly
Xwrong.  You  will need to modify the paths so they work from
Xyour site.
X
X_3._1_8.  _n_e_w_s_g_r_o_u_p_s
X
X     This file is displayed by _p_o_s_t_n_e_w_s  when  a  user  hits
X``?''  in  response  to  its  request  for newsgroups. It is
Xupdated automatically by the _c_h_e_c_k_g_r_o_u_p_s control message.
X
X
X
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 12 -
X
X
X_3._1_9.  _n_o_t_i_f_y
X
X     If this file is present, it's contents will be taken as
Xthe name of the user to notify in case of a problem.  If the
Xfile is empty, nobody will be notified.  (This overrides the
XNOTIFY  option  in  defs.h.)  This  is  useful if one person
Xadministers several  systems  and  does  not  want  multiple
Xcopies of control message notifications.
X
X_3._2_0.  _o_a_c_t_i_v_e, _o_h_i_s_t_o_r_y, _o_h_i_s_t_o_r_y._d_i_r, _o_h_i_s_t_o_r_y._p_a_g
X
X     These are copies of the corresponding active,  history,
Xhistory.dir,  history.pag  files before expire ran. They are
Xkept in case something happens to the originals.
X
X_3._2_1.  _r_e_c_m_a_i_l
X
X     This program can serve as a link between news and  your
Xlocal  mailer.   If  you  have  _s_e_n_d_m_a_i_l, don't use recmail.
XSendmail is much more useful.
X
X_3._2_2.  _r_e_c_n_e_w_s
X
X     A program which allows you to send  mail  to  get  news
Xposted.   You usually need to run _s_e_n_d_m_a_i_l or _d_e_l_i_v_e_r_m_a_i_l to
Xbe able to use this.
X
X_3._2_3.  _r_e_c_o_r_d_i_n_g
X
X     A list of newsgroup classes and  filenames  to  display
Xrecordings  for.   The recording feature is analogous to the
Xrecordings played in some  areas  when  you  dial  directory
Xassistance,  trying to be annoying and make you think twice.
XRecordings on certain newsgroups are intended to remind  the
Xuser  of  the  rules for the newsgroup, or, in the case of a
Xcompany worried about letting proprietary  information  out,
Xreminding authors that anything they say is seen outside the
Xcompany  and  so  proprietary  information  should  not   be
Xincluded.
X
X     The file contains one line  per  recording.   The  line
Xcontains  two fields, separated by a space.  The first field
Xis the newsgroup class (e.g. ``net.all''), the second  field
Xis the name of the file containing the recorded message.  If
Xthe file name does not  begin  with  a  slash,  it  will  be
Xsearched for in LIBDIR.  Sample recording files can be found
Xin the misc directory.
X
X_3._2_4.  _r_m_g_r_o_u_p
X
X     This shell file should be used  to  remove  any  groups
Xthat are no longer used.
X
X
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 13 -
X
X
X_3._2_5.  _s_e_n_d_b_a_t_c_h
X
X     This shell file is used to  send  batched  articles  to
Xother systems. It is typically run from _c_r_o_n.
X
X_3._2_6.  _s_e_n_d_n_e_w_s
X
X     A program to send news internally from one computer  to
Xanother.  Useful if you use mail links to transmit articles.
X
X_3._2_7.  _s_e_q
X
X     The current sequence number for your system.   Used  to
Xgenerate unique article ID's.
X
X_3._2_8.  _s_y_s
X
X     A list of all your  neighbors,  which  newsgroups  they
Xget, and how to send news to them.  The format is documented
Xbelow.
X
X_3._2_9.  _u_n_b_a_t_c_h
X
X     This program is used to unbatch  the  incoming  batched
Xnews  and feed each article to inews. It's horrible and will
Xgo away in the next version.
X
X_3._3_0.  _u_s_e_r_s
X
X     A list of users that read news on your system.
X
X_3._3_1.  _u_u_r_e_c
X
X     A program to receive news sent by _s_e_n_d_n_e_w_s.
X
X_3._3_2.  _v_n_e_w_s._h_e_l_p
X
X     This is the helpfile used by vnews.
X
X_4.  _S_e_t_t_i_n_g _U_p _L_i_n_k_s
X
X     There are two basic types of links for exchanging news:
Xthose that use mail and those that don't.  The ones that use
Xmail are more indirect, yet more versatile  while  the  ones
Xthat don't are simpler.  The default is without mail so that
Xis discussed first.
X
X_4._1.  _N_o_n-_m_a_i_l _L_i_n_k_s
X
X     The basic theory behind a non-mail  link  is  that  the
X_r_n_e_w_s program is invoked on the remote system with the arti-
Xcle being transmitted as the standard input.  This is possi-
Xble  on some networks, but the most common implementation is
Xvia the  _U_U_C_P  network.   Using  the  _u_u_x(_1_C)  command,  the
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 14 -
X
X
Xcommand which is forked to the shell looks like:
X           _u_u_x - -_r -_z _r_e_m_o_t_e_s_y_s!_r_n_e_w_s < _a_r_t_i_c_l_e
XThis is the default transmission method.  In order to set up
Xsuch  a  link,  obviously a _U_U_C_P link with the remote system
Xmust be in effect.  In addition, _r_n_e_w_s must be available and
Xexecutable  by  _u_u_x_q_t on the remote machine.  In most cases,
Xthis means that _r_n_e_w_s must be in /usr/bin so  _u_u_x  can  find
Xit.   Also,  /usr/src/cmd/uucp/uuxqt.c  should be checked to
Xmake sure that rnews is an allowed command.
X
X     Other networks that allow remote execution include  the
XBerknet,  BLICN  (usend), many Ethernets, and the NSC hyper-
Xchannel (nusend).  It is important, however, that a spooling
Xmechanism  be  available.   Otherwise,  if system A tries to
Xsend an article to system B via a remote execution  command,
Xand B is down, the article could be lost.  Spooling arranges
Xthat the system will try again when B comes back up.
X
X_4._2.  _M_a_i_l _L_i_n_k_s
X
X     When using mail to transmit articles, two  intermediary
Xprograms are necessary.  These are _s_e_n_d_n_e_w_s(_8) and _u_u_r_e_c(_8).
XThe idea is that when system A wants to send an  article  to
Xsystem B, the sys file on system A has an entry for system B
Xsuch as:
X
X        /usr/lib/news/sendnews -a rnews@B
X
Xwhich runs _s_e_n_d_n_e_w_s on the article.  The -a option specifies
Xthat the mail should be formatted for the Arpanet.  Sendnews
Xpackages the article and mails it to rnews@B.  Somehow,  the
XB  system  is  expected  to  make sure that all mail to user
X``rnews'' is fed as input to the program _u_u_r_e_c.   This  pro-
Xgram unpackages it and invokes rnews.
X
X     The best way to get mail to rnews fed into _u_u_r_e_c is  to
Xuse  sendmail or delivermail, if you are on a system running
Xthem.  Create an alias in /usr/lib/aliases as follows:
X
X        rnews: "|/usr/lib/news/uurec"
X
Xand sendmail will handle it.  If you do not have a  facility
Xfor  forwarding  mail  to  a  program,  you can gimmick your
Xmailer to watch for it (using _p_o_p_e_n(3S), this is  easy)  or,
Xif  you  don't want to do any programming, you can have _c_r_o_n
Xinvoke uurec every hour with /usr/spool/mail/rnews as stdin.
XThis solution is messier because uurec must potentially deal
Xwith  multiple  messages,  something  that  has  never  been
Xtested.
X
X_5.  _F_o_r_m_a_t _o_f _t_h_e _s_y_s _f_i_l_e
X
X     To set up a link to another site, edit the _s_y_s file  in
XLIBDIR.   This  file  is  similar to the L.sys file of uucp.
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 15 -
X
X
XEach line contains four fields, separated by colons:
X
X(1)  The system name of a site to which  you  forward  news.
X     Normally   all  systems  you  have  links  to  will  be
X     included.  You should also have a  line  for  your  own
X     system.
X
X(2)  The newsgroups to be forwarded to them.  This is a pat-
X     tern  in  the  sense of a subscription.  Generally, you
X     will list classes of newsgroups, that is, using ``all''
X     for  everything.   A  typical forwarding list for a new
X     site would be
X
X             net,mod,na,usa,to.sysname
X
X     where _s_y_s_n_a_m_e is the name of the  remote  system.   (Of
X     course  if you are not in the USA or North America, you
X     would remove those distributions and replace them  with
X     the  ones  appropriate  for  you).   In particular, you
X     don't want to forward _a_l_l since local newsgroups (those
X     without  dots)  should  not  be  sent.   For  the  line
X     describing your own system, this  field  describes  the
X     newsgroups  your  site  will  accept from remote sites.
X     Thus, if another site insists on sending  you  a  news-
X     group you don't want, say _n_e_t._j_o_k_e_s, include !_n_e_t._j_o_k_e_s
X     here.
X
X(3)  This field contains flags  describing  the  connection.
X     An  A will indicate that the other site is running an A
X     version of netnews.  A B indicates a B version.   Leav-
X     ing  it  empty  defaults to B.  If you are reading this
X     document, you have a B version.   Some  existing  sites
X     run  A  versions.  If you aren't sure, ask your contact
X     at the other site, with whom you should be  talking  to
X     set  this  up  anyway.   The  F flag indicates that the
X     fourth field is the name of a file.  The full path name
X     of  a  file  containing  the  article  in SPOOL will be
X     appended to this file.  The L flag  prevents  transmis-
X     sion  unless the article was created on this site.  (It
X     is recommended that you feed an L link  to  a  backbone
X     site,  to  ensure  that  your  submissions will be more
X     likely to get to the entire network, even in the  event
X     of  a local problem.  Please make sure that a mail link
X     exists too, so you can get replies.)  The  N  flag  can
X     also  be  included here, indicating that mail should be
X     sent using the _i_h_a_v_e/_s_e_n_d_m_e protocol  described  below.
X     The U field arranges that the parameter to the optional
X     %s in the command field to be filled  in  with  a  per-
X     manent file name from SPOOL instead of a temporary cus-
X     tomized file name.
X
X(4)  This field is the command to be run to send news to the
X     remote  site.   The  article  will  be  on the standard
X     input.  Leaving this field blank means an ordinary uucp
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 16 -
X
X
X     link is being used, that is, the command defaults to
X
X             uux - -r -z sysname!rnews
X
X     The - option tells uux to expect input on  stdin.   The
X     -z  option  is nonstandard - you should add it, see the
X     minus.z* files in the uucp directory.  It shuts off the
X     annoying  message you would otherwise get mailed to you
X     telling you that your article  was  broadcast  OK.   To
X     avoid using the -z option, change the source or put the
X     uux command in the fourth field.  The -r  option  tells
X     uux  not  to  start up a daemon right away.  This turns
X     out to ease the load on the system, at the  expense  of
X     making news be transmitted a bit slower.  The news will
X     be sent when the next daemon is started,  usually  this
X     means  the  next time mail is sent to or from your sys-
X     tem.  If this turns out to be unreasonably long, put  a
X     line in crontab to run
X
X             /usr/lib/uucp/uucico -r1
X
X     every hour or so.
X
X     Here is a sample sys file for  a  site  ``myvax''  with
Xconnections  to  ``yourvax'' where myvax also passes news on
Xto ``downstream''.  We assume  that  ``myvax''  and  ``down-
Xstream'' exchange a local newsgroup class lng.all as well as
Xthe network wide  newsgroups.   News  to  ``downstream''  is
Xbatched.  We  also  assume that myvax and yourvax are in the
XUSA, while downstream is in Canada.
X
X        myvax:net,fa,mod,na,usa,lng::
X        yourvax:net,fa,mod,na,usa::
X        downstream:net,fa,mod,na,usa,lng:F:/usr/spool/batch/downstream
X
X
X_6.  _P_o_s_t_i_n_g _M_e_t_h_o_d_s
X
X     The basic method is _p_o_s_t_n_e_w_s.  This program will prompt
Xyou  for the title, newsgroups, and distribution, then place
Xyou in the editor.   (The  system  default  EDITOR  is  used
Xunless  the  environment  variable EDITOR is set, overriding
Xthe system default.) The text  should  be  typed  after  the
Xblank  line.   The  title  and  newsgroups are available for
Xediting at the top of the buffer.  Other header lines can be
Xadded, such as an expiration date or distribution.  When you
Xwrite out the file and exit from  the  editor,  the  article
Xwill be posted.
X
X     Another method is to use mail.  This can only  be  done
Xon systems that allow mail to a given name to be fed into an
Xarbitrary program as input.  This is easily  done  with  the
XBerkeley  delivermail  or sendmail program, and not with any
Xother mailer the  author  is  familiar  with.   (It  may  be
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 17 -
X
X
Xpossible  to  painfully  set this up with MMDF, provided the
Xnewsgroup name is no more than 8 characters  long.)  To  use
Xmail, set up an alias such as the following:
X
X        net.general: "|/usr/lib/news/recnews net.general"
X
XWhenever a user sends mail to _n_e_t._g_e_n_e_r_a_l,  this  starts  up
Xthe  given  shell command which calls recnews with one argu-
Xment, the name of the newsgroup.  You  need  to  create  one
Xalias for each newsgroup, and to keep the list up to date as
Xnew newsgroups are created.  _R_e_c_n_e_w_s  will  in  turn  invoke
X_i_n_e_w_s.
X
X     Note that there are problems with recnews.  There is no
Xway  to use it to post to multiple newsgroups without creat-
Xing separate articles (something frowned  upon   because  it
Xforces  people to read the same thing more than once.) Also,
Xthere is no way to make the recording feature (to safe guard
Xproprietary information) work when recnews is used.
X
X_7.  _V_a_r_i_o_u_s _c_o_n_s_i_d_e_r_a_t_i_o_n_s
X
X_7._1.  _S_u_i_d _b_i_t_s
X
X     The current intended state of  affairs  is  that  _i_n_e_w_s
Xruns suid NEWSUSR.  The _r_e_a_d_n_e_w_s program does not need to be
Xsuid.  This makes it possible to write your own interface to
Xread news instead of using readnews.  (As distributed, _i_n_e_w_s
Xis also sgid.  I know of no good reason for this.)
X
X_7._2.  _M_o_d_e_s _o_f _S_p_o_o_l _D_i_r_e_c_t_o_r_i_e_s
X
X     All the files should be writable by NEWSUSR.   However,
Xdue to a glitch, you will probably have to make the SPOOLDIR
Xand its subdirectories mode 777.  It could be 755 except for
Xone  problem.   When  a  new  newsgroup comes in, _i_n_e_w_s will
Xattempt to _m_k_d_i_r a new  subdirectory  of  SPOOLDIR  for  the
Xnewsgroup.   Since both inews and mkdir are suid, mkdir will
Xuse the real uid instead of NEWSUSER when checking for  per-
Xmissions,  and  if  the  directory  isn't 777 the check will
Xfail.  Here are several alternatives if you don't want a 777
Xdirectory around:
X
X_7._2._1.  _F_i_x _R_e_a_l _U_i_d
X
X     If inews is always run from cron or by root,  the  real
Xuid  can  be arranged to be root or NEWSUSR.  This is a poor
Xsolution since it makes the local creation of new  newsgroup
Xrequire  super user permissions, and is a potential security
Xhole.  If this approach is taken,  care  must  be  taken  to
Xinsure that the owner of the created directory is NEWSUSR.
X
X
X
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 18 -
X
X
X_7._2._2.  _C_h_a_n_g_e _t_h_e _K_e_r_n_e_l
X
X     _i_n_e_w_s will do _s_e_t_u_i_d(_g_e_t_e_u_i_d())  before  it  forks  the
Xmkdir.   If  your system permits this call, there will be no
Xproblem.  In particular, Berkeley 4.0BSD and  later  systems
Xallow  this.   An  alternative  change  to  the kernel is to
Xautomatically stack uids: when an suid program is  run,  set
Xthe new real uid to the old effective uid.
X
X_7._2._3.  _G_r_o_u_p_s
X
X     You could have inews be  sgid  NEWSGRP  and  all  files
Xwritable  by  the  group.  This approach has been tested and
Xthe problem turns out to be that the _m_k_d_i_r command uses  the
X_a_c_c_e_s_s  system call to check permissions.  Since _a_c_c_e_s_s uses
Xthe real gid, you run into the same problem.
X
X_7._2._4.  _A_n_o_t_h_e_r _m_k_d_i_r
X
X     You could create a version  of  mkdir  that  does  less
Xchecking,  and  put  it  in  a  directory  that  can only be
Xaccessed by NEWSUSR (mode  700,  owned  by  NEWSUSR).   Have
Xinews fork this mkdir.
X
X_7._3.  _E_x_p_i_r_a_t_i_o_n _d_a_t_e_s
X
X     To get articles to expire automatically, put a line  in
Xcrontab to run
X
X        /usr/lib/news/expire
X
Xevery night.  This command deletes all expired news.  The -a
X_n_e_w_s_g_r_o_u_p_s  option  causes  all  expired news to be archived
Xunder /usr/spool/oldnews depending on which  newsgroups  are
Xselected. (See _e_x_p_i_r_e(_3) for details.
X
X     Sometimes news is not expired when it  should  be.   Be
Xsure  to  check that expire has permissions to unlink files,
Xthat it runs as a user that has a .newsrc, and  that  it  is
Xproperly  suid.   You can manually invoke expire with the -v
X(verbose) option to find out what it's doing.  Adding levels
Xof verbosity (e.g. -v6) will get more and more output.
X
X_7._4.  _V_e_r_s_i_o_n _t_o _V_e_r_s_i_o_n
X
X     Version B will understand incoming news in either  ver-
Xsion  A or B format, automatically.  Version B will generate
Xeither format, depending on the flag in the 3rd field of the
Xsys  line.   Version A will not understand version B format.
XThus, it is possible for two version B sites to  communicate
Xusing  version  A  format.  This will work but is not a good
Xidea, since the translation from B to  A  loses  information
X(such  as  the expiration date) which will not be there when
Xtranslated back to version B.
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 19 -
X
X
X     News from versions A and 2.9 B do not  conform  to  the
XUSENET interchange standard.  2.10 supports the standard and
Xwill communicate with either A or 2.9 B  news.   A  news  is
Xwritten  (losing  other  header  information) if A is in the
Xflags for the system.  If OLD is defined,  2.10  will  write
Xout  headers  with  both standard (Date, Message-ID) and 2.9
X(Posted, Article-I.D.) lines so that either  B  system  will
Xproperly handle the article.  Incoming news is recognized by
Xthe first letter (``A'' for A news), or the lack of an ``@''
Xin  the  From line (2.9).  Missing fields are constructed as
Xwell as possible from the available information.
X
X_7._5.  _P_r_e_s_e_n_t_a_t_i_o_n _O_r_d_e_r
X
X     The order of the newsgroups listed in LIBDIR/active  is
Xthe order the newsgroups will be presented in initially.  If
X_S_O_R_T_A_C_T_I_V_E is defined in defs.h, after the first  time  news
Xwill be presented in the order of the persons .newsrc.  Ini-
Xtially this will be directory order, but you can edit impor-
Xtant newsgroups like general to the top.
X
X     A recommended order to maintain your active file in  is
Xthis:
X
X                general
X                local.general
X                net.announce
X                net.general
X                net.followup
X                local newsgroups, in alphabetical order
X                net.all newsgroups, in alphabetical order
X                fa.all, in alphabetical order
X                test
X                all.test
X                to.all
X                control
X                junk
X
X
X_8.  _C_o_n_t_r_o_l _M_e_s_s_a_g_e_s
X
X     Some news systems will send you articles that  are  not
Xfor  human consumption.  They are messages to your news sys-
Xtem called _c_o_n_t_r_o_l _m_e_s_s_a_g_e_s.  Such messages contain the Con-
Xtrol:   header.    Older  systems  use  newsgroups  matching
X_a_l_l._a_l_l._c_t_l, and this will still work, although the Control:
Xheader  is  preferred.  Since the newsgroup name is used for
Xdistribution only, and is not checked to ensure it's in  the
Xactive  file,  such newsgroup names can still be used.  This
Xmakes it possible to post network wide control messages with
X_n_e_t._m_s_g._c_t_l (or restricted broadcast such as _b_t_l._m_s_g._c_t_l) or
Xmessages for a particular system:  _t_o._u_c_b_v_a_x._c_t_l.   Messages
Xare  canceled, however, with a Control: line in a message to
Xthe same newsgroup(s) as the original message.
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 20 -
X
X
X     A control message contains a command and zero  or  more
Xarguments  (much  like  a UNIX program).  The subject of the
Xarticle contains the command and arguments.  The body of the
Xarticle  is  usually ignored, although some messages can use
Xit for additional text information.   Control  messages  are
Xnot  stored in SPOOL, rather they are acted on and discarded
Xat once.
X
X_8._1.  _i_h_a_v_e/_s_e_n_d_m_e
X
X     Two control messages are _i_h_a_v_e and _s_e_n_d_m_e.  These  mes-
Xsages allow two participating sites to set up a link so that
Xone site will tell the other site it has a given article and
Xwait  for a request before it actually sends it.  The normal
Xcase is to send an entire article to a  system,  which  con-
Xsults  the  history  file  to see if the article has already
Xbeen seen, and then throws it away if it's been seen before.
X
X     Note  that,  since  most  messages  are  short  anyway,
Xexperience  has  indicated  that for ordinary UUCP unbatched
Xcommunication, all ihave/sendme does is triple the load  and
Xslow  down  forwarding.   Hopefully  future  code will allow
Xihave's with multiple message ID's in the body, and existing
Xcode  in  2.10  understands such messages, but does not gen-
Xerate them.  So we advise that you  don't  use  ihave/sendme
Xfor now.
X
X     Use of these control messages  can  cut  down  on  this
Xwasted  transmission,  but if you have a polled UUCP connec-
Xtion, they can slow down receipt  of  news  due  to  polling
Xdelays.   It  is  up to each connected pair of sites whether
Xthey want to use this protocol.  The choice is controlled by
Xthe N flag in the sys file.  In the case of a leaf node (one
Xwith only one neighbor) there is no advantage to this proto-
Xcol.   Even  if both sites are able to initiate a connection
X(have dialers or the link is hardwired) the -r option on the
Xuux  can  cause  2  hour or more delays in propagating news.
XSince this protocol can triple the number of  messages  gen-
Xerated,  you  should  carefully evaluate your situation when
Xdeciding whether to use it.  If transmission time and  phone
Xbills  dominate  your  costs,  and  you  are sending news to
Xseveral sites, and large article bodies dominate  the  costs
X(rather  than  the  headers and the time spent by UUCP nego-
Xtiating transmission)  it  is  probably  worthwhile  to  use
Xihave/sendme.   If your costs are dominated by CPU load from
XUUCP, or if you send news to a site that cannot get it  from
Xanywhere  else,  you probably do not want to use this proto-
Xcol.  The decision can be made independently for  each  site
Xin your sys file.
X
X     This pair works as follows: Site _m_y_s_i_t_e receives  arti-
Xcle  <_1_2_3@_a_b_c._U_U_C_P>.   It  enters it locally and then broad-
Xcasts it to its neighbors.  One of  its  neighbors  is  site
X_y_o_u_r_s_i_t_e  which  has  the N flag in the _s_y_s file.  So mysite
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 21 -
X
X
Xsends an article on  newsgroup  to.yoursite.ctl  with  title
X``ihave  <123@abc.UUCP>  mysite''.  This control message has
Xtwo arguments - the first (<123@abc.UUCP>) is the article ID
Xof  the article in question, the second (mysite) is the name
Xof the site sending the article.  The name of the  newsgroup
Xand  the  sys file control transmission of the article, nor-
Xmally the sys file will read something like
X
X        yoursite:net.all,fa.all,to.yoursite:BN:
X
Xwhich  will  cause  an  article  on  to.yoursite.ctl  to  be
Xtransmitted.
X
X     Yoursite receives the message and looks to  see  if  it
Xhas  seen  it before.  If it has, it throws the message away
Xand  stops.   If  it  hasn't,  it   sends   a   message   on
Xto.mysite.ctl  with title ``sendme <123@abc.UUCP> yoursite''
Xwhich is transmitted  to  mysite.   (The  two  arguments  to
Xsendme  are the article ID requested and the site to send it
Xto.) Then mysite gets this message  and  actually  transmits
Xthe article to yoursite.
X
X_8._2.  _n_e_w_g_r_o_u_p
X
X     This message has one argument, the name of a  newsgroup
Xto  be  created.   This  allows  special  action to be taken
Xlocally when a new newsgroup is created.  It is generated by
Xthe  -C option to inews.  By default, the newsgroup is added
Xto the active file and a directory is created, and  mail  is
Xsent  to  the local contact advising that this has happened.
XSee the routine ``c_newgroup''  in  control.c  if  you  want
Xsomething  different  to  happen.   (Note that, although the
Xbody of the message contains a brief description of the pur-
Xpose  of  the  group,  this  body  is usually thrown away by
Xexisting software.)
X
X_8._3.  _r_m_g_r_o_u_p
X
X     This message has one argument, the name of a  newsgroup
Xto  be removed.  It is used for network-wide cancellation of
Xa newsgroup.  If MANUALLY is not defined, it will remove the
Xarticles,  directory,  and  active  file line for the group.
XThere is a shell script _r_m_g_r_o_u_p that  does  essentially  the
Xsame  thing  as  this  message,  but  the  shell script only
Xremoves the group locally.   We  recommend  that  you  leave
XMANUALLY  defined, and when you receive mail advising you of
Xthe demise of the newsgroup, you run rmgroup by hand.   This
Xwill prevent accidental or malicious removal of a good news-
Xgroup.
X
X_8._4.  _c_a_n_c_e_l
X
X     This message cancels a given  article.   It  takes  one
Xargument,  the  message  ID  of  the  article to cancel.  It
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 22 -
X
X
Xshould be broadcast to the same newsgroup  as  the  original
Xarticle.
X
X_8._5.  _s_e_n_d_s_y_s
X
X     The sys file is mailed to the originator  of  the  mes-
Xsage.   There  are  no  arguments.   This is used for making
Xmaps.  Since your sys file is public information, you should
Xnot remove or change this control message.
X
X_8._6.  _s_e_n_d_u_u_n_a_m_e
X
X     The _u_u_n_a_m_e(1) program is run and the output  is  mailed
Xto  the  originator of the message.  There are no arguments.
XThis is used for making uucp maps.  If you do not  run  UUCP
Xor have sites in your L.sys which are a secret, you may wish
Xto edit this.  Note  that  only  the  output  of  uuname  is
Xmailed,  not the contents of L.sys (which news does not have
Xaccess to anyway).  If you do  make  a  change,  you  should
Xarrange  that  some mail still is sent out to the originator
Xof the message, so he will know your site received it.   See
Xthe code in routine c_senduuname in control.c.
X
X_8._7.  _v_e_r_s_i_o_n
X
X     The local version name/number of the  netnews  software
Xis mailed back to the author of the control message.
X
X_8._8.  _c_h_e_c_k_g_r_o_u_p_s
X
X     This control message is an  attempt  at  semi-automatic
Xmainenance  of  the list of active news groups. This control
Xmessages takes the body of the article  and  pipes  it  into
XLIB/checkgroups.  As  mentioned  perviously, LIB/checkgroups
Xwill update the newsgroups file, add any missing  newsgroups
Xand  mail  a message to _N_O_T_I_F_Y about any old newsgroups that
Xshould be removed. It is expected that the person who  main-
Xtains the list of active newsgroups will broadcast this con-
Xtrol message on a regular basis.
X
X_8._9.  _O_t_h_e_r _M_e_s_s_a_g_e_s
X
X     Any unrecognized message will cause an error message to
Xbe  mailed  to  the  originator.  Additional messages may be
Xdefined as time goes on, such as messages  to  automatically
Xupdate  directories  or  maps.   You should be willing to go
Xinto the code (control.c) and add messages  as  they  become
Xstandardized.
X
X_9.  _M_a_i_n_t_e_n_a_n_c_e
X
X     There are some things you  should  do  periodically  to
Xkeep  your news system running smoothly.  We hope to eventu-
Xally automate all or most of this, but right now some of  it
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 23 -
X
X
Xmust be done by hand.
X
X     The _h_i_s_t_o_r_y and _l_o_g files in your  LIB  directory  will
Xgrow.  You should make sure that they are cleaned up period-
Xically.  The LIB/expire program will remove lines from  his-
Xtory  corresponding  to  deleted  articles, but it is a good
Xidea to check the file every few months to make sure  it  is
Xnot  going wild. Be sure not to completely lose your history
Xfile when you clean it up, in case another neighbor tries to
Xsend you an article you recently got.  (If you only get news
Xfrom one site it is safe to clean it out completely.)
X
X     The log file is not automatically cleaned  out  by  any
Xnetnews  software,  and will grow quickly.  The misc/trimlib
Xscript can be installed in LIB/trimlib, and  invoked  weekly
Xfrom /usr/lib/crontab.
X
X     You should also clean out old newsgroups  that  are  no
Xlonger  active.   To  remove a newsgroup net.foo, you should
Xrun the shell script rmgroup with net.foo as  the  argument.
XI.e.
X
X        /usr/lib/news/rmgroup net.foo
X
X
X     Note that clearing  up  UUCP  constipation  is  another
Xthing  you'll have to do if you have flaky hardware or phone
Xlines.  If you have more than one  connection,  chances  are
Xthat  UUCP  will  get  clogged up when one of your neighbors
Xgoes down for more  than  a  few  hours.   Various  spooling
Xschemes  are being worked on to help make the news/uucp sys-
Xtem more robust, but one thing you can and should do, if you
Xfind  your  /usr/spool/uucp directory getting too big, is to
Xinstall a subdirectory fix to UUCP.  A quick and dirty  ver-
Xsion  of  this is available from Duke, which traps the open,
Xcreat, link, etc. system  calls  at  the  assembly  language
Xlevel    and    maps,    for    example,   D.fooA1234   into
XD.foo/D.fooA1234.  Since  the  C.  and  D.local  directories
Xstill  get  big,  in practice this can still create some big
Xdirectories, but the directories tend to be a  factor  of  5
Xsmaller,  resulting  in  a factor of 25 improvement to speed
X(since a directory traversal for all files is  quadratic  on
XUNIX).   Right now, UUCP is the weak link in netnews distri-
Xbution, and you should certainly keep an eye on it.
X
X_1_0.  _C_r_e_a_t_i_n_g _N_e_w _N_e_w_s_g_r_o_u_p_s
X
X     As system news administrator, you are  able  to  create
Xnewsgroups.   To create a newsgroup, first make sure this is
Xthe right thing to do.   (Normally  a  suggestion  is  first
Xposted  to  net.general,net.news.group  for a net newsgroup,
Xfollowups are made to net.news.group, it is  established  if
Xthere  is  general  interest  in such a group, and a name is
Xagreed on.) Then someone creates it by typing the command
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 24 -
X
X
X
X        inews -C _n_e_w_s_g_r_o_u_p
X
XThis will create the directory and active entry locally.  It
Xwill  also  prompt  you for a paragraph describing the group
Xand start up an inews to post  a  newgroup  control  message
Xannouncing the group.  This control message will be sent out
Xon net.msg.ctl and other sites  may  have  configured  their
Xsystems  to do something with these messages.  A human read-
Xable announcement is  not  made  -  you  can  post  this  to
Xnet.news.group if necessary.
X
X     Someone should post a first article to  the  new  news-
Xgroup immediately.  If this is not done, the empty directory
Xfor the newsgroup will cause _c_h_e_c_k_n_e_w_s to believe  there  is
Xunread  news, because each user has no .newsrc line for that
Xnewsgroup.  This command creates the group network-wide.  It
Xis then possible to submit an article to the group.
X
X     You must be the super user to  use  the  -C  option  to
Xinews.   (That is, your uid must match ROOTID.  It is recom-
Xmended that you change ROOTID to your own uid so  you  don't
Xhave to su to create newsgroups.)
X
X     A new site should get the active file from their neigh-
Xbor  and  use  the  _m_a_k_e_a_c_t_i_v_e._s_h shell script to create the
Xlocal directory  hierarchy  and  active  file.   (The  local
Xactive  file will have 00000 for each newsgroup, since local
Xnumbers will start at 1 for the first  article  received  in
Xeach newsgroup.)
X
X_1_1.  _C_o_n_v_e_r_s_i_o_n _f_r_o_m _A _t_o _B
X
X     If you are currently running version A on your  system,
Xnote that B is incompatible with A.  The files are stored in
Xa different format (headers have mail like field names now).
XThe  directory organization is different (each newsgroup has
Xa subdirectory of its own, and the file  names  are  numbers
Xrather than site.id pairs).  There are no bitmap, uindex, or
Xnindex files to be trashed (which articles have been read is
Xstored  in  each users .newsrc file).  The user interface is
Xslightly different (news/netnews  is  now  called  readnews,
Xnews  is posted using inews, subscription is done by editing
X.newsrc, the sense of the -c option  is  reversed,  news  is
Xpresented  in  newsgroup  order,  the  -a and -t options now
Xprobably need -x as well, and there are many minor changes).
X
X     We decided not to provide a  program  to  convert  from
Xversion  A to version B.  Rather, the following strategy was
Xadopted for conversion:
X
X(1)  Install the new news in  a  different  spool  directory
X     from   the   old   one.    For  example,  you  can  use
X     /usr/spool/newnews.  You can  change  to  the  standard
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 25 -
X
X
X     name  later if you want.  Get it to work for local mes-
X     sages.
X
X(2)  Post an article to newsgroup _g_e_n_e_r_a_l with the old  news
X     announcing  the  change.   Make available documentation
X     such as the accompanying paper ``How to Read  the  Net-
X     work  News''  to  the  users.  This article will be the
X     last one in the old news.
X
X(3)  Chmod the old news directory to 555 to prevent any more
X     news  from  being posted.  (Actually, this will prevent
X     the bitfile from being updated, so it may not be a good
X     idea.)
X
X(4)  Replace the old rnews program with the new  rnews  pro-
X     gram.
X
X(5)  Test it by having your neighbor send you a message.
X
X(6)  Wait a reasonable period for everyone to have read  the
X     final  article  with the old news.  Perhaps a few weeks
X     is right.
X
X(7)  Uninstall the old news.
X
X     Users will have to invoke _r_e_a_d_n_e_w_s instead  of  _n_e_t_n_e_w_s
Xto read news.  Depending on your old method of posting, this
Xcould be changed too.  (If you were using mail, it does  not
Xneed  to  be changed.) They will also have to fix their sub-
Xscriptions.  In general, they can type
X
X        netnews -s
X
Xto see what they subscribe to on the old  system,  and  then
Xcreate  a  file  in their home directory called .newsrc con-
Xtaining
X
X        options -s _t_h_e_i_r _s_u_b_s_c_r_i_p_t_i_o_n
X
XThe format of the subscription pattern matching is the  same
Xas  in A except that ALL is replaced by all (change to lower
Xcase).  Something along the lines of this could be  used  to
Xautomate this:
X
X(echo -n "options -s" ; netnews -s | sed s/ALL/all/) > .newsrc
X
X
X_1_2.  _C_o_n_v_e_r_s_i_o_n _f_r_o_m _2._9 _t_o _2._1_0
X
X     Conversion from 2.9 to 2.10 is not nearly  as  involved
Xas an A to B conversion.  The user interface does not change
Xmuch, and the user .newsrc files are not affected.  However,
Xit  is  recommended that you do the conversion during a time
Xwhen no news is received, so that incoming news will not get
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 26 -
X
X
Xlost.   One  way  to  ensure this is to make /bin/rnews be a
Xshell script which saves the article in /usr/spool/innews/$$
X($$  is  the  process id of the particular shell and will be
Xunique for each article).
X
X     The first  step  to  conversion  is  to  customize  the
Xsources.   In the past, you had to take a fresh distribution
Xand edit the defs.h file and Makefile to suit local  prefer-
Xences.   If you had many local changes, or didn't record the
Xlocal changes, upgrading could be annoying.  2.10 provides a
Xmechanism  to automate these changes.  Create a shell script
Xin the src  directory  called  localize.sh.   (You  can  use
Xlocalize.sample  as  a  template.)  This shell script should
Xcopy defs.dist to defs.h, and  copy  either  Makefile.v7  or
XMakefile.usg  to  Makefile.   It should chmod any files that
Xneed to be changed (often Makefile and defs.h) to a writable
Xmode.   Then  it  should  invoke _e_d on the files, making any
Xnecessary local changes.
X
X     The  next  step  is  to  compile  the  software,   with
X``make''.   It  may  be  necessary to update the localize.sh
Xfile until you are satisfied  with  the  compilation.   Note
Xthat  after  any  change to the Makefile in localize.sh, you
Xshould run localize.sh by hand.   Otherwise,  although  make
Xwill  run  it  for you, it will then continue to do the make
Xwith the old Makefile.
X
X     When the software  is  compiled,  you  should  run  the
Xcvt.active.sh  shell  script,  with the lib and spool direc-
Xtories as parameters.  This will create a new active file in
XLIB/active.   Then  run  cvt.links.sh with the lib and spool
Xdirectories as parameters.  Then run cvt.names.sh  with  the
Xlib  and  spool directories as parameters.  Old news will be
Xlinked into the new hierarchy while leaving links in the old
Xhierarchy.   If you were using the default library and spool
Xdirectories, you would do the following:
X
X         sh cvt.active.sh /usr/lib/news /usr/spool/news
X         sh cvt.links.sh /usr/lib/news /usr/spool/news
X         sh cvt.names.sh /usr/lib/news /usr/spool/news
X
X
X     The next step is  to  back  up  the  old  binaries  (mv
X/usr/bin/rnews  /usr/bin/ornews,  etc.)  and to install 2.10
Xwith ``make install''.  Once it is installed,  any  incoming
Xnews  will  be placed into the new hierarchy but not the old
Xone.  The critical time window is between running the  three
Xshell  files  and installing the new software - any incoming
Xnews between these two points will appear in  only  the  old
Xhierarchy  and be lost to the new software.  If any signifi-
Xcant time elapses here,  you  should  divert  rnews  into  a
Xseparate spool directory as described above.
X
X     Expire will update several key files automatically.
X
X
X
X                     September 7, 1984
X
X
X
X
X
X                           - 27 -
X
X
X     Finally, test things by posting articles to to.neighbor
Xnewsgroups and watching some incoming news, and announce the
Xchange to your users.
X
X     When you are satisfied that the conversion was success-
Xful,  run  the shell file _c_v_t._c_l_e_a_n._s_h which will remove the
Xold 2.9 news hierarchy.
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X                     September 7, 1984
X
X
*-*-END-of-install-*-*
exit