Annotation of 43BSD/contrib/nntp/common/README, revision 1.1.1.1

1.1       root        1:      This directory contains lotsa good stuff common to both
                      2: the news server, support, and client programs.  The short of it is:
                      3: 
                      4: conf.h         Configuration information for NNTP server,
                      5:                support, and client programs.
                      6: 
                      7: response_codes.h  These are the #define's of the numeric response
                      8:                codes in NNTP.  This shouldn't change.
                      9: 
                     10: clientlib.c    This file is a collection of routines which clients
                     11:                can use to talk to the NNTP server.  The code is
                     12:                well documented, but briefly, the functions are
                     13: 
                     14:                        server_init     Open connection to server
                     15:                        getsocket       Get a stream socket
                     16:                        get_server      Get line from server
                     17:                        put_server      Send line to server
                     18:                        close_server    Close connection
                     19: 
                     20:                It is worth noting that these routines use
                     21:                buffered I/O, and leave the external variables
                     22:                "ser_rd_fp" and "ser_wr_fp" (server read/write
                     23:                file pointers, respectively) floating around
                     24:                for use by programs which need them.
                     25: 
                     26:                In any event, you shouldn't need to screw with
                     27:                these routines.
                     28: 
                     29: conf.h
                     30: ======
                     31: 
                     32:      Unfortunately, you will need to screw with this to get both
                     33: the server, support, and client programs running.  More unfortunately,
                     34: "rrn" has its own ideas of where to look for config information,
                     35: so there is some duplication of effort here.  With luck, it won't
                     36: be too great.
                     37: 
                     38:      This is sort of a walk through conf.h, and what parameters
                     39: need to be changed.  The #defines's default value is listed in
                     40: parenthesis after it's name.  Manual entries mentioned here are
                     41: in the "doc" directory of the NNTP distribution.
                     42: 
                     43:      First are some compile-time type options, for compiling in
                     44: certain code.  The options should be "#undef"ed if you don't want
                     45: them, and "#defined" if you do.
                     46: 
                     47: ALONE          (undefined)
                     48: 
                     49:      Defines whether we're a stand alone version of the server, or
                     50: whether we're running under inetd.  I suggest you run under inetd.
                     51: 
                     52: FASTFORK       (undefined)
                     53: 
                     54:      If we're ALONE, then this option tells us not to read the
                     55: active file when we fork, but rather for the parent daemon to re-read
                     56: it every READINTVL (below) seconds.  This should make forking off children
                     57: a little bit faster.
                     58: 
                     59: LOG            (undefined)
                     60: 
                     61:      When LOG is defined, we log copious amounts of information via
                     62: syslog to a special file.  One a busy system like ucbvax, this produces
                     63: about 100K of log information per day.  Look in ../src/SYSLOG to
                     64: get an idea of what will be logged.  You can use the scripts
                     65: provided in ../support to produce statistics on your NNTP server if
                     66: you run with LOG.
                     67: 
                     68: BSD_42         (undefined)
                     69: 
                     70:      If you have a 4.2 BSD system (as opposed to a 4.3 BSD system),
                     71: this needs to be defined.  Really it does only two things: changes
                     72: the log level to be compatible with 4.2, and automatically defines
                     73: DBM (below).  If, somehow, you already have ndbm, then you should
                     74: kill the lines which auto-define it.
                     75: 
                     76: DBM            (undefined)
                     77: 
                     78:      If you don't have the ndbm routines in your standard library (i.e.,
                     79: if you're not running 4.3 BSD), you'll have to define this; all it
                     80: does is replace the ndbm calls with the earlier, unwieldy dbm calls.
                     81: 
                     82: DOMAIN         (undefined)
                     83: 
                     84:      If domain is defined, it specifies that whatever it is defined
                     85: as will be appended to host names; this is for posting news when
                     86: your hostname() doesn't return your fully-qualified domain name.
                     87: If your hostname system call does return a fully-qualified name,
                     88: simply undef DOMAIN.
                     89: 
                     90: SERVER_HOST    ("foo")         <- you better change this!
                     91: 
                     92:      ... is the machine which various programs (mini-inews, rrn,
                     93: getactive, etc.) should connect to for news; that is, it is the machine
                     94: which will be running the news server.
                     95: 
                     96: POSTER         ("nobody")
                     97: 
                     98:      If your nntpd is run as root, nntpd will attempt to setuid()
                     99: and setgid() to the uid and gid of whoever POSTER is defined as.
                    100: If your nntpd isn't running as root (i.e., it might run as "usenet"),
                    101: either undefine this, or define it to be a user which exists but
                    102: is not used -- the setuid will fail in any event.
                    103: 
                    104: LOG_FACILITY   (LOG_DAEMON)
                    105: 
                    106:      This is of concern only if you have 4.3 syslog.  If you do,
                    107: and you have LOG defined above (which produces huge amounts of
                    108: log info), you may want to define this to be something which can
                    109: be redirected in /etc/syslog.conf to a special file -- LOG_LOCAL7
                    110: is what we use on ucbvax.
                    111: 
                    112: BUGS_TO                ("Phil Lapsley ([email protected], ...!ucbvax!phil)")
                    113: 
                    114:      This person is mentioned in the output of the HELP command.
                    115: It should probably be left to me, unless you hack on the server.
                    116: 
                    117: Next, we have some common files:
                    118: 
                    119: ACTIVE_FILE    ("/usr/spool/news/lib/active")
                    120: 
                    121:      Specifies the location of the "active" file.
                    122: 
                    123: ACCESS_FILE    ("/usr/spool/news/lib/nntp_access")
                    124: 
                    125:      Specifies the location of the remote access file.
                    126:      See the manual entry, nntpd.8c, for a better explanation.
                    127:      A sample access file is in ../support/access_file.
                    128: 
                    129: HISTORY_FILE   ("/usr/spool/news/lib/history")
                    130: 
                    131:      Specifies the location of the "history" file.
                    132:      This is used with NEWNEWS and ARTICLE/HEAD/BODY/STAT when
                    133:      given an message-id argument.
                    134: 
                    135: SPOOLDIR       ("/usr/spool/news/")
                    136: 
                    137:      This is the directory where news is stored.  Note that
                    138:      the trailing / is important.
                    139: 
                    140: INEWS          ("/usr/spool/news/lib/inews")
                    141: 
                    142:      Specifies the location of inews, for posting.  Note that this
                    143:      is not the same as the pseudo-inews in the inews directory
                    144:      supplied with the NNTP distribution.  Your inews may be
                    145:      in a different place, such as /usr/bin/inews.
                    146: 
                    147: RNEWS          ("/usr/bin/rnews")
                    148: 
                    149:      Specifies the location of the rnews program which is used
                    150:      for dealing with news received from other systems via the
                    151:      IHAVE command; it is often a link to inews.
                    152: 
                    153: STAT_FILE      ("/usr/spool/news/lib/mgdstats")
                    154: 
                    155:      When the support program "mkgrdates" is run, it keep stats
                    156:      in a file to tell whether or not to rebuild its database
                    157:      the next time it is run; this is the file the stats are kept
                    158:      in.  Needless to say, it must be writable by whatever user-id
                    159:      runs "mkgrdates".  See the manual entry "mkgrdates.8c" for
                    160:      more info.
                    161: 
                    162: NGDATE_FILE    ("/usr/spool/news/lib/groupdates")
                    163: 
                    164:      Specifies the location of the newsgroup creation date file.
                    165:      See the manual entry for both nntpd.8c and mkgrdates.8c for
                    166:      more info.
                    167: 
                    168: READINTVL      (600 seconds)
                    169: 
                    170:      If the server is compiled with FASTFORK and ALONE, then this number
                    171:      tells how often to check if the active file has changed (and to
                    172:      read it in if it has changed since the last time).  See README
                    173:      in the "server" directory of the NNTP distribution.  If you are
                    174:      not compiled with FASTFORK and ALONE (hint: you're not going to),
                    175:      don't worry about this.
                    176: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.