home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / N / TCPIP / NNTP-1.000 / NNTP-1 / nntp.1.5.11t / common / README < prev    next >
Encoding:
Text File  |  1993-10-17  |  19.6 KB  |  509 lines

  1.      You will need to customize common/conf.h to get the server,
  2. support, and client programs running on your system.  Unfortunately,
  3. "rrn" has its own ideas of where to look for configuration information,
  4. so there is some duplication here.
  5.  
  6.     >>> Also, you should see README.SYSV if you are compiling this on
  7.     >>> a System V machine, as there is some extra stuff you need to do.
  8.  
  9.     >>> Also, you should see README.MTXNIU if you are compiling this
  10.     >>> on a system running MTXNIU BSD + NFS. 
  11.  
  12.     >>> Also, you should see README.IRIX, if you are compiling this on the
  13.     >>> SGI IRIS.
  14.  
  15.     >>> Also, you should see README.XENIX, if you are compiling this on
  16.     >>> a machine running SCO XENIX with TCP.
  17.  
  18.     >>> Also, you should see README.HPUX, if you are compiling this under
  19.     >>> HP-UX.
  20.  
  21.      FIRST, copy conf.h.dist to conf.h and alter ONLY conf.h.
  22.  
  23.      This is sort of a walk through conf.h so you can get some idea of
  24. what parameters need to be changed.  You should probably print this
  25. file out (or keep it in a separate window if you're on a workstation)
  26. and edit conf.h as you read through it.  For each #define in conf.h,
  27. the default value is listed in parenthesis after its name in this
  28. document.  Manual entries mentioned here are in the "doc" directory of
  29. the NNTP distribution.
  30.  
  31.      First are some compile-time type options, for compiling in
  32. certain code.  The options should be "#undef"ed if you don't want
  33. them, and "#defined" if you do.
  34.  
  35. ALONE        (undefined)
  36.  
  37.      Defines whether we're a stand alone version of the server, or
  38. whether we're running under inetd.  Define this if you do NOT have inetd.
  39. If you do have inetd, keep it undef'ed.
  40.  
  41. FASTFORK    (undefined)
  42.  
  43.      If ALONE is defined, then this option tells us not to read the
  44. active file when we fork, but rather for the parent daemon to re-read
  45. it every READINTVL (below) seconds.  This should make forking off children
  46. a little bit faster.
  47.  
  48. LOAD    (defined as 5)
  49.     You can have nntp findout the load average on a BSD-type machine
  50. (sun or ultrix) and if the load average is higher than LOAD, the connection
  51. will be rejected.
  52.  
  53. DYNAMIC_ART_ARRAY    (undefined)
  54.     Originally, nntpd assumes a specific maximum number of articles on
  55. line per group. (See MAX_ARTICLES definition below.) This has proven to be
  56. a problem at some sites. Define this to dynamically allocate a larger article
  57. array as needed. WARNING: This code did not go through beta. Use at your own
  58. risk.
  59.     
  60. BSD_42        (undefined)
  61.  
  62.      If you have a 4.2 BSD system (as opposed to a 4.3 BSD system),
  63. this needs to be defined.  Really it does only two things: changes
  64. the log level to be compatible with 4.2, and automatically defines
  65. DBM (below).  If, somehow, you already have ndbm, then you should
  66. kill the lines which auto-define it.
  67.  
  68. CMU_MACH    (undefined)
  69.      Define if you are running CMU's MACH. NeXT is handled as a BSD_43
  70. machine.
  71.  
  72. USG        (undefined)
  73.  
  74.      Compiles in code to support System V; some of these appear down
  75. below. 
  76.  
  77. TLI        (undefined)
  78.      Compiles in code to support the Transport Layer Interface of System V
  79. Release 3 and later. [This code does not work yet, but will work in NNTP 1.6.]
  80.  
  81. **** The following four definitions have to do with the format of the ****
  82. **** news history file. You must select the same format for NNTP that ****
  83. **** you chose when you built your news software. If you don't, NNTP  ****
  84. **** will NOT WORK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ****
  85.  
  86. DBM        (undefined)
  87.  
  88.      If you don't have the ndbm routines in your standard library (i.e.,
  89. if you're not running 4.3 BSD), you'll have to define this; all it
  90. does is replace the ndbm calls with the earlier, unwieldy dbm calls.
  91.  
  92. >>> If you define DBM, be sure to edit server/Makefile to have  "-ldbm"
  93. >>> on the LIBS line, i.e.
  94.  
  95.     LIBS = -ldbm
  96. [This does not apply if you are compiling on the SGI IRIX platform.]
  97.  
  98.  
  99. NDBM        (defined)
  100.  
  101.      Define if you have the 4.3BSD ndbm routines and used them to build your
  102. news software.
  103.  
  104. DBZ        (undefined)
  105.      Define this is you are using the DBZ libraries. If you DO define this,
  106. you will need to make alterations to makefile to insure that things will work.
  107. If you built your news software using DBZ, you MUST build NNTP with DBZ. Many
  108. people have success by use the cnews library as a link library.
  109.  
  110. USGHIST        (undefined)
  111.  
  112.      Define if you don't use dbm/ndbm for the history file, but instead
  113. you use the USG-style history file format.  IF YOU DO NOT DEFINE ANY OF
  114. DBZ, DBM OR NDBM ABOVE, THIS IS THE DEFAULT.
  115.  
  116. CNEWS        (undefined)
  117.         If you're running CNEWS instead of BNEWS define this. NNTP will not
  118. work with CNEWS if you don't define this.
  119.  
  120. BATCHED_INPUT    (undefined)
  121.     If this is defined, then the CNews-style batched input is used
  122. to collect incoming articled into a file which periodically is sent to the
  123. incoming news processor. 
  124.  
  125. LAI_TCP        (undefined)
  126.     This should be defined if you are compiling on SCO Xenix with TCP/IP.
  127. It make work on other systems as well.
  128.  
  129. EXCELAN        (undefined)
  130.     This will compile in support for the EXCELAN EXOS TCP/IP routines.
  131. It is known to work with Unisys 5000-series computer.
  132.  
  133. WIN_TCP        (undefined)
  134.     Support for Wollongong TCP/IP for System V/386. [This code does not
  135. yet work. It will work in NNTP 1.6.]
  136.  
  137. U_LONG        (undefined)
  138.     Define this if your system does not know what a u_long is.
  139.  
  140. SIGRET        (defined)
  141.      This should be defined to be int or void depending on what
  142. signals return on your system. SunOS 4.X, Ultrix 3.X, and IRIX return void.
  143. Most others return int.
  144.  
  145. GHNAME        (defined)
  146.  
  147.      Defined if you want to use the 4BSD gethostname() call to
  148. determine the name of your system.  This #define is only used
  149. by the mini-inews when posting news.  Some reasons you might not
  150. want to use this are: if your UUCP/news name is different than
  151. your internet name; if your gethostname() currently doesn't
  152. return fully-qualified names (e.g., 4.2) but you may "upgrade"
  153. to 4.3 (and return fq'd names) shortly, and you'd rather not
  154. have to recompile news...  See UUNAME below.
  155.  
  156. UUNAME        (undefined)
  157.  
  158.      If this is defined, mini-inews will get the hostname out
  159. of /etc/uucpname or /local/uucpname.
  160.  
  161. >>>    If GHNAME and UUNAME are undefined, mini-inews will    <<<
  162. >>>    get the host name from /usr/include/whoami.h        <<<
  163.  
  164. MMAP        (undefined)
  165.     Define this if you run on a version of Unix that has the mmap() system
  166. call. SunOS and Solbourne's OS/MP are two versions of Unix that do.
  167.  
  168. vfork        (undefined)
  169.  
  170.      If you DON'T have vfork, replace this line with:
  171.  
  172. #define    vfork    fork
  173.  
  174. If you DO have vfork, be sure that this remains undefined.
  175.  
  176. MINFREE        (4000)
  177.     This is the minimum number of kbytes or blocks (depending on what the
  178. system) that must be free on the news spool partition before nntp will allow
  179. an XFER command to function.
  180.  
  181. POSTBUFFER    (1000)
  182.     NNTP will allow posting until there is less than MINFREE-POSTBUFFER
  183. blocks or kbytes available. This allows posting to continue while XFERs are
  184. stopped.
  185.  
  186. MINFILES    (MINFREE/4)
  187.     This is the minimum number of inodes that must be available on the
  188. news spool partition before nntp will allow any function that will create 
  189. more files. If you define this, please be careful not to make it a large 
  190. number. I recommend something around MINFREE/4.
  191.  
  192. SETPROCTITLE    (undefined)
  193.     This will replace the process name with information about what nntp
  194. is doing. This is known to work on BSD-flavored Unix, but may not work on
  195. USG Unix.
  196.  
  197. IHAVE_DEBUG    (undefined)
  198.  
  199.      Enables logging of each message-id as it is offered via the IHAVE
  200. command.  This produces huge log files, but is useful if you suspect
  201. a site is repeatedly offering the same article to your site after you
  202. have rejected it.
  203.  
  204. XHDR        (defined)
  205.  
  206.      Enables the XHDR command, which is an extention of the NNTP spec.
  207. XHDR allows client programs to see header lines (e.g., subject) from
  208. an article or range of articles.  This allows the '=' command in rn
  209. to be much faster, IF AND ONLY IF your server machine is fast.  Since
  210. this command foists off work on the server, it may be better to leave this
  211. undefined if your server machine is heavily loaded.
  212.  
  213. SUBNET        (defined)
  214.  
  215.      If you are running 4.3 BSD or have support for subnets on
  216. your local net, this will include subnet support for the access
  217. file.  Basically, a routine goes out and looks at all your ethernet
  218. interfaces, and figures out subnet masks from them.  It then
  219. uses these to resolve subnets from IP addresses.
  220.  
  221. DAMAGED_NETMASK    (undefined)
  222.  
  223.      4.3 supports subnet masks of any bit-width, but user programs
  224. are *very* hard pressed to deal with masks which are not a multiple
  225. of 8 bits wide.  If you have a weird netmask, define DAMAGED_NETMASK.
  226. The code which uses it is in server/subnet.c.
  227.  
  228. NETMASK        (undefined)
  229.  
  230.      The code in server/subnet.c wants to use 4BSD ioctls to determine
  231. the subnet masks for each network interface.  However, you may be able
  232. to support subnets without having such ioctls (HPUX is an example of
  233. such a system; SunOS 3.3 is another).  If you will be satisfied by
  234. having a compiled-in netmask, define NETMASK to be a hex constant
  235. describing your netmask (e.g., 0xffffff00).  You must also define
  236. SUBNET as well.
  237.  
  238. DECNET        (undefined)
  239.  
  240.      Compile in DECNET support into the server and clientlib.
  241. This works under Ultrix (and not VMS!).
  242.  
  243. UMASK        (undefined)
  244.      This should be defined if you are running CNEWS and are concerned
  245. that batch files may be created that can be altered by anyone. Defining
  246. this as 022 should work safely for most systems, but experiment to be
  247. sure.
  248.  
  249. DOMAINMATCH    (defined)
  250.      Defined to allow the use of domain specifications in the nntp access
  251. file. Specifications for domains are of the form *.domain.name and can be
  252. used instead of individually naming hosts or networks.
  253.  
  254. FAKESYSLOG    (undefined)
  255.  
  256.      This is useful if your system doesn't support syslog, but you'd
  257. like logging none the less.  By defining FAKESYSLOG to be the name of
  258. a file, e.g., "/usr/lib/news/nntplog", you can have all nntp messages
  259. logged to that file, ala syslog.  If you define FAKESYSLOG, you must
  260. define LOG and SYSLOG, below.  The code for the fake syslog routines
  261. are in ../server/fakesyslog.c, and are largely joe-code.
  262.  
  263. FAKEAPPEND    (undefined)
  264.     If your host supports the BSD fdopen() function and the O_APPEND flag
  265. to open(), you should define FAKEAPPEND with FAKESYSLOG so that
  266. multiple copies of nntpd don't trash the log with buffered fprintf's.
  267. NOTE: FAKEAPPEND does nothing if FAKESYSLOG is not defined.
  268.  
  269. SYSLOG        (LOG_NEWS)
  270.  
  271.      nntpd uses the syslog system to report errors, and optionally, to
  272. log usage statistics.  If SYSLOG is defined, errors will be
  273. reported via the syslog() library routine; if it is not defined, no errors
  274. will be reported.
  275.  
  276.      If you just define SYSLOG, only errors will be reported.  If you
  277. want more information, such as statistics, you should define LOG, below.
  278. Defining LOG will cause additional information besides errors to be
  279. logged via SYSLOG.
  280.  
  281.      If you have syslog(), define SYSLOG to be the name of the facility
  282. under which nntpd should log things.  If you are using FAKESYSLOG
  283. above, it really doesn't matter what facility name you choose; LOG_NEWS
  284. is fine.
  285.  
  286. LOG        (undefined)
  287.  
  288.      When LOG is defined, we log copious amounts of information via
  289. syslog to a special file.  One a busy system like ucbvax, this produces
  290. about 100K of log information per day.  Look in ../server/SYSLOG to
  291. get an idea of what will be logged.  You can use the scripts
  292. provided in ../support to produce statistics on your NNTP server if
  293. you run with LOG.
  294.  
  295. TIMEOUT        (2 hours)
  296.  
  297.      If a server is idle in command mode for TIMEOUT amount of time,
  298. it will close the connection with an error message.  This prevents
  299. old servers from clogging the system.  Timeout should be at least two
  300. hours so people can go eat lunch and leave an rn on their terminal.
  301.  
  302. XFER_TIMEOUT    (30 minutes)
  303.  
  304.      This is like TIMEOUT, above, but takes effect when the server is
  305. receiving news via IHAVE or POST.  If at least one line is not received
  306. in XFER_TIMEOUT amount of time, the server aborts with an error.
  307.  
  308. DOMAIN        ("uucp")
  309.  
  310.      If domain is defined, it specifies that whatever it is defined
  311. as will be appended to host names; this is for posting news when
  312. your hostname() doesn't return your fully-qualified domain name.
  313. If your hostname system call does return a fully-qualified name,
  314. simply undef DOMAIN.
  315.  
  316. HIDDENNET    (undefined)
  317.  
  318.      If HIDDENNET is defined, it forces inews to interpret DOMAIN as
  319. a complete host name, i.e. the local host is not prepended in the From:
  320. header. The Path: header is generated with only the login name, allowing
  321. inews on the nntp server to fill in the UUCP path. This has the effect of
  322. making all machines on a local network look, to the outside world, as a
  323. single host.
  324.  
  325. REALDOMAIN    (undefined)
  326.      Define this if you want to use gethostbyname() to get your host's
  327. fully qualified domain name. Useful if hostname() does not return the
  328. fully qualified domain name. If you define this, it will override the
  329. use of HIDDENNET.
  330.  
  331. DO_DOTDIR    (defined)
  332.      If defined, mini-inews will look in the environment of the user for
  333. DOTDIR and use $DOTDIR/.signature as the signature if it exists. If undefined
  334. or $DOTDIR/.signature does not exist, $HOME/.signature will be used instead.
  335. This is similiar to the behavior of rn.
  336.  
  337. AUTH        (defined)
  338.  
  339.      Defines whether we want to use the experimental NNTP Version 2
  340. Authorization process. Read the file AUTHORIZATION in the root directory of
  341. the NNTP distribution for more information.
  342.  
  343. SERVER_FILE    ("/usr/local/lib/rn/server")
  344.  
  345.      This file contains the name of the machine which runs the
  346. news server.  Mini-inews, rrn, and getactive all use the contents
  347. of this file.  The idea behind this is that you don't have to have the server
  348. compiled into anything, and can have the same binaries across
  349. machines which have different news servers.
  350.  
  351.      You must edit this file, and add a single line which contains
  352. the name of the news server for each machine which runs rrn.
  353.  
  354.      If you have multiple news servers on your network, users can
  355. select which one they want to use via the NNTPSERVER environment
  356. variable, which will override the contents of SERVER_FILE.  Simply
  357. set NNTPSERVER to be the name of the machine whose news server you
  358. want to use.
  359.  
  360.      If you are afraid of people abusing a particular news server
  361. via NNTPSERVER, you should edit the access file for that news server
  362. accordingly.  Security begins at home.
  363.  
  364. >>> rrn, mini-inews, and getactive NO LONGER have compiled in server names <<<
  365. >>> Be sure to create the SERVER_FILE as mentioned above, or you'll lose!  <<<
  366.  
  367. POSTER        ("usenet")
  368.  
  369.      If your nntpd is run as root, nntpd will attempt to setuid()
  370. and setgid() to the uid and gid of whoever POSTER is defined as.
  371. If your nntpd isn't running as root (i.e., it might run as "usenet"),
  372. either undefine this, or define it to be a user which exists but
  373. is not used -- the setuid will fail in any event.
  374.  
  375. PASSFILE    (/etc/nntp.sys)
  376.     This file contains the password authentication information that the
  377. client uses if AUTH is defined and in use.
  378.  
  379. ACCESS_FILE    ("/usr/lib/news/nntp_access")
  380.  
  381.      Specifies the location of the remote access file. See the manual entry,
  382. nntpd.8c, for a better explanation. A sample access file is in
  383. ../support/access_file.
  384.  
  385. STAT_FILE    ("/usr/lib/news/mgdstats")
  386.  
  387.      NOTE: THIS IS NOT USED, BUT REMAINS FOR COMPATABILITY.
  388.      When the support program "mkgrdates" is run, it keep stats
  389.      in a file to tell whether or not to rebuild its database
  390.      the next time it is run; this is the file the stats are kept
  391.      in.  Needless to say, it must be writable by whatever user-id
  392.      runs "mkgrdates".  See the manual entry "mkgrdates.8c" for
  393.      more info.
  394.  
  395. NGDATE_FILE    ("/usr/lib/news/groupdates")
  396.  
  397.      NOTE: THIS IS NOT USED, BUT REMAINS FOR COMPATABILITY.
  398.      Specifies the location of the newsgroup creation date file.
  399.      See the manual entry for both nntpd.8c and mkgrdates.8c for
  400.      more info.
  401.  
  402. ACTIVE_TIMES_FILE ("/usr/lib/news/active.times")
  403.      This needs to be defined if you defined CNEWS. It is a CNEWS-maintained
  404. version of the NGDATE_FILE. Since it is supported by CNEWS itself, it means
  405. the NEWGROUPS will actually work. Hurrah!
  406.  
  407. Next, we have some common files:
  408.  
  409. ACTIVE_FILE    ("/usr/lib/news/active")
  410.  
  411.      Specifies the location of the "active" file.
  412.  
  413. DISTRIBUTIONS_FILE  ("/usr/lib/news/distributions")
  414.      Specifies the location of the file that defines valid distributions for
  415. this site. The format of the file is usually the name of the distribution
  416. (e.g. "tx" for the state of Texas), some spaces or a tab, and a short descrip-
  417. tion of the area that the distribution covers (e.g. "The State of Texas"). This
  418. is used by the "LIST DISTRIBUTIONS" command.
  419.  
  420. NEWSGROUPS_FILE  ("/usr/lib/news/newsgroups")
  421.      Specifies the location of the file that contains newsgroup descriptions.
  422. The format of the file is usually the name of the newsgroup, a tab, and a short
  423. description of the newsgroup (usually from the checkgroups control message).
  424. This file is used by the "LIST NEWSGROUPS" command.
  425.  
  426. HISTORY_FILE    ("/usr/lib/news/history")
  427.  
  428.      Specifies the location of the "history" file. This is used with NEWNEWS
  429. and ARTICLE/HEAD/BODY/STAT when given an message-id argument.
  430.  
  431. INEWS        ("/usr/lib/news/inews")
  432.  
  433.      Specifies the location of inews, for posting.  Note that this is NOT the
  434. same as the mini-inews in the inews directory supplied with the NNTP
  435. distribution, which should only be installed on client machines.  INEWS should
  436. be the pathname of real, live, honest-to-God inews.  Your inews may be
  437. in a different place, such as /usr/bin/inews.
  438.  
  439. SPOOLDIR    ("/usr/spool/news")
  440.  
  441.      This is the directory where news is stored on the server.
  442.  
  443. RNEWS        ("/usr/bin/rnews")
  444.  
  445.      Specifies the location of the rnews program which is used for dealing with
  446. news received from other systems via the IHAVE command; it is often a link to
  447. inews.
  448.  
  449. ---- The following variables apply only if you are using C News batching. ----
  450. NONEWSRUN    (undefined)
  451.     Define this only if you plan to use the daemon version of relaynews.
  452.  
  453. TOOBIG        (300000, unless NONEWSRUN is defined)
  454.     Under CNews-style batching, a file that is larger than this gets
  455. sent to be unbatched. (Size is in bytes.)
  456.  
  457. TOOMANY        (1024, unless NONEWSRUN is defined)
  458.     Under CNews-style batching, if the number of batched articles is
  459. bigger than this, the batch file gets unbatched.
  460.  
  461. TOOOLD        (5 minutes)
  462.     Under CNews-style batching, a file that is older than this gets
  463. sent to be unbatched.
  464.  
  465. COPYSIZE    (8192)
  466.     Under CNews-style batching, the number of bytes to copy at one time.
  467.  
  468. MAXDIGITS    (25)
  469.     
  470.  
  471. MAXSTR        (1024)
  472.  
  473. INDIR        ("/usr/spool/news/in.coming")
  474.     Under CNews-style batching, the directory in which the batching takes
  475. place.
  476.  
  477. BATCH_FILE    ("/usr/spool/news/in.coming/nntp.XXXXXX")
  478.     The filename template for batch files under CNews-style batching.
  479.  
  480. NEWSRUN        ("/usr/lib/newsbin/input/newsrun")
  481.     The name of the program to which batch files are fed once they are
  482. created under CNews-style unbatching.
  483. _________________________________________________________________________
  484. Look carefully before modifying any of these!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  485. -------------------------------------------------------------------------
  486.  
  487. FCNTL        (defined if SYSV is defined)
  488.  
  489.     Some systems define things like O_RDONLY, etc. in <fcntl.h>.
  490. If FCNTL is defined, <fcntl.h> will be included.
  491.  
  492. FTRUNCATE    (defined if dgux)
  493.     Use ftruncate() even if this is a  System V like machine.
  494.  
  495. NDIR        (defined if USG is defined)
  496.      Uses the ndir compatability library, and includes <ndir.h>.
  497.  
  498. READINTVL    (600 seconds)
  499.  
  500.      If the server is compiled with FASTFORK and ALONE, then this number
  501. tells how often to check if the active file has changed (and to read it in if
  502. it has changed since the last time).  See README in the "server" directory of
  503. the NNTP distribution.  If you are not compiled with FASTFORK and ALONE
  504. (hint: you're not going to), don't worry about this.
  505.  
  506. MAX_ARTICLES    (4096)
  507.     This is the maximum articles per newsgroup that nntp can handle
  508. if DYNAMIC_ART_ARRAY is not defined.
  509.