|
|
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.