|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.