home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / sys / next / misc / 22985 < prev    next >
Encoding:
Text File  |  1992-12-13  |  26.9 KB  |  707 lines

  1. Path: sparky!uunet!mcsun!sun4nl!tuegate.tue.nl!terra.stack.urc.tue.nl!tricky.wft.stack.urc.tue.nl!tricky!michael
  2. From: michael@wft.stack.urc.tue.nl (Michael Brouwer)
  3. Newsgroups: comp.sys.next.misc
  4. Subject: Re: INN on the NeXT
  5. Message-ID: <MICHAEL.92Dec13054413@tar.wft.stack.urc.tue.nl>
  6. Date: 13 Dec 92 04:44:13 GMT
  7. References: <1078@esosun.UUCP>
  8. Organization: WayForward Technologies
  9. Lines: 694
  10. NNTP-Posting-Host: tar.wft.stack.urc.tue.nl
  11. In-reply-to: zeke@esosun.UUCP's message of 10 Dec 92 21:08:18 GMT
  12.  
  13. Here's my config.data file for the NeXT.  This let's inn do a clean compile
  14. on NeXTSTEP 3.0.  I have some fixes for nntpget.c, but you only need this if
  15. you want to poll for news by nntp. (As opposed to have a newsfeed offerd to
  16. you.)
  17.  
  18. ##  $Revision: 1.38 $
  19. ##
  20. ##  InterNetNews configuration file.
  21. ##  Note that if you leave a field blank, you must have the trailing tab!
  22. ##
  23.  
  24.  
  25. ##
  26. ##  1.  MAKE CONFIG PARAMETERS
  27. ##  Where the DBZ sources are, from C News.  INN has a (maybe old) copy.
  28. #### =()<DBZDIR            @<DBZDIR>@>()=
  29. DBZDIR            ../dbz
  30. ##  If you have a parallel make, set this to "&"
  31. #### =()<P            @<P>@>()=
  32. P            
  33. ##  C pre-processor flags
  34. #### =()<DEFS            @<DEFS>@>()=
  35. DEFS            -I../include
  36. ##  C compiler
  37. #### =()<CC            @<CC>@>()=
  38. CC            cc
  39. ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  40. #### =()<USE_CHAR_CONST        @<USE_CHAR_CONST>@>()=
  41. USE_CHAR_CONST        DO
  42. ##  C compiler flags
  43. #### =()<CFLAGS            @<CFLAGS>@>()=
  44. CFLAGS            $(DEFS) -O2
  45. ##  What flags to use if profiling; -p or -pg, e.g.
  46. #### =()<PROF            @<PROF>@>()=
  47. PROF            -pg
  48. ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
  49. #### =()<LDFLAGS            @<LDFLAGS>@>()=
  50. LDFLAGS            -s
  51. ##  If you use the standard NNTP way of connecting, where is the library?
  52. #NNTPLIB        /usr/local/lib/clientlib.o
  53. #### =()<NNTPLIB        @<NNTPLIB>@>()=
  54. NNTPLIB        
  55. ##  If you need to link in other libraries, add them here
  56. #### =()<LIBS        @<LIBS>@>()=
  57. LIBS        
  58. ##  How to make a lint library; pick BSD, SYSV, or NONE.
  59. #### =()<LINTLIBSTYLE        @<LINTLIBSTYLE>@>()=
  60. LINTLIBSTYLE        BSD
  61. ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
  62. #### =()<LINTFLAGS        @<LINTFLAGS>@>()=
  63. LINTFLAGS        -b -h -z $(DEFS)
  64. ##  Some lints insist on putting out the filename and other crap.
  65. ##  Possible values:
  66. ##    LINTFILTER              | sed -n -f ../sedf.aix
  67. ##    LINTFILTER              | sed -n -f ../sedf.osx
  68. ##    LINTFILTER              | sed -n -f ../sedf.sun
  69. ##    LINTFILTER              | sed -n -f ../sedf.sysv
  70. ##    LINTFILTER              
  71. ####  =()<LINTFILTER        @<LINTFILTER>@>()=
  72. LINTFILTER        | sed -n -f ../sedf.sun
  73. ##  How to install manpages; pick SOURCE, NROFF-PACK, or NONE.
  74. #### =()<MANPAGESTYLE        @<MANPAGESTYLE>@>()=
  75. MANPAGESTYLE        SOURCE
  76. ##  Where various manpages should go
  77. #### =()<MAN1            @<MAN1>@>()=
  78. MAN1            /usr/local/man/man1
  79. #### =()<MAN3            @<MAN3>@>()=
  80. MAN3            /usr/local/man/man3
  81. #### =()<MAN5            @<MAN5>@>()=
  82. MAN5            /usr/local/man/man5
  83. #### =()<MAN8            @<MAN8>@>()=
  84. MAN8            /usr/local/man/man8
  85. ##  Ranlib command.  Use echo if you don't need ranlib.
  86. #### =()<RANLIB            @<RANLIB>@>()=
  87. RANLIB            ranlib
  88. ##  Ctags command.  Use echo if you don't have ctags.
  89. #### =()<CTAGS            @<CTAGS>@>()=
  90. CTAGS            ctags -t -w
  91.  
  92.  
  93. ##
  94. ##  2.  LOGGING LEVELS
  95. ##  Facility innd should log under.
  96. #### =()<LOG_INN_SERVER        @<LOG_INN_SERVER>@>()=
  97. LOG_INN_SERVER        LOG_LOCAL0
  98. ##  Facility all other programs should log under.
  99. #### =()<LOG_INN_PROG        @<LOG_INN_PROG>@>()=
  100. LOG_INN_PROG        LOG_LOCAL0
  101. ##  Flags to use in opening the logs; some programs add LOG_PID.
  102. #### =()<L_OPENLOG_FLAGS        @<L_OPENLOG_FLAGS>@>()=
  103. L_OPENLOG_FLAGS        (LOG_CONS | LOG_NDELAY)
  104. ##  Log a fatal error; program is about to exit.
  105. #### =()<L_FATAL            @<L_FATAL>@>()=
  106. L_FATAL            LOG_CRIT
  107. ##  Log an error that might mean one or more articles get lost.
  108. #### =()<L_ERROR            @<L_ERROR>@>()=
  109. L_ERROR            LOG_ERR
  110. ##  Informational notice, usually not worth caring about.
  111. #### =()<L_NOTICE        @<L_NOTICE>@>()=
  112. L_NOTICE        LOG_WARNING
  113. ##  A protocol trace.
  114. #### =()<L_TRACE            @<L_TRACE>@>()=
  115. L_TRACE            LOG_DEBUG
  116. ##  All incoming control commands (ctlinnd, etc).
  117. #### =()<L_CC_CMD        @<L_CC_CMD>@>()=
  118. L_CC_CMD        LOG_INFO
  119.  
  120.  
  121. ##
  122. ##  3.  OWNERSHIPS AND FILE MODES
  123. ##  Owner of articles and directories and _PATH_INNDDIR
  124. #### =()<NEWSUSER            @<NEWSUSER>@>()=
  125. NEWSUSER            news
  126. ##  Group, for same purpose
  127. #### =()<NEWSGROUP        @<NEWSGROUP>@>()=
  128. NEWSGROUP        news
  129. ##  Who gets email about control messages? (Usually same as NEWSUSER)
  130. #### =()<NEWSMASTER        @<NEWSMASTER>@>()=
  131. NEWSMASTER        usenet
  132. ##  Who gets email on the Path line?
  133. #### =()<PATHMASTER        @<PATHMASTER>@>()=
  134. PATHMASTER        not-for-mail
  135. ##  Mode that incoming articles are created under.
  136. #### =()<ARTFILE_MODE        @<ARTFILE_MODE>@>()=
  137. ARTFILE_MODE        0664
  138. ##  Mode that batch files are created under.
  139. #### =()<BATCHFILE_MODE        @<BATCHFILE_MODE>@>()=
  140. BATCHFILE_MODE        0664
  141. ##  Mode that directories are created under.
  142. #### =()<GROUPDIR_MODE        @<GROUPDIR_MODE>@>()=
  143. GROUPDIR_MODE        0775
  144.  
  145.  
  146. ##
  147. ##  4.  C LIBRARY DIFFERENCES
  148. ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
  149. ##  You need vfprintf and vfsprintf if not NONE.
  150. #### =()<VAR_STYLE        @<VAR_STYLE>@>()=
  151. VAR_STYLE        VARARGS
  152. ##  If you don't have <string.h>, set this to "mystring.h"
  153. #### =()<STR_HEADER        @<STR_HEADER>@>()=
  154. STR_HEADER        <string.h>
  155. ##  If you don't have <memory.h>, set this to "mymemory.h"
  156. #### =()<MEM_HEADER        @<MEM_HEADER>@>()=
  157. MEM_HEADER        <memory.h>
  158. ##  What is a file offset?  Usually long or off_t.  *Must be long for now!*
  159. #### =()<OFFSET_T            @<OFFSET_T>@>()=
  160. OFFSET_T            long
  161. ##  What is the type of an object size? Usually size_t or unsigned int.
  162. #### =()<SIZE_T            @<SIZE_T>@>()=
  163. SIZE_T            long
  164. ##  What is the type of a passwd uid and gid, for use in chown(2)?
  165. #### =()<UID_T            @<UID_T>@>()=
  166. UID_T            short
  167. #### =()<GID_T            @<GID_T>@>()=
  168. GID_T            short
  169. ##  Type of a pid, for use in kill(2).
  170. #### =()<PID_T            @<PID_T>@>()=
  171. PID_T            int
  172. ##  Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
  173. #### =()<POINTER            @<POINTER>@>()=
  174. POINTER            char
  175. ##  Worst-case alignment, in order to shut lint up
  176. #### =()<ALIGNPTR        @<ALIGNPTR>@>()=
  177. ALIGNPTR        int
  178. ##  What should a signal handler return?  Usually int or void.
  179. #### =()<SIGHANDLER        @<SIGHANDLER>@>()=
  180. SIGHANDLER        void
  181. ##  Type of variables can be modified in a signal handler? sig_atomic_t
  182. #### =()<SIGVAR        @<SIGVAR>@>()=
  183. SIGVAR        int
  184. ##  Function that returns no value, and a pointer to it.  Pick int or void
  185. #### =()<FUNCTYPE        @<FUNCTYPE>@>()=
  186. FUNCTYPE        void
  187. ##  Use BSD4.2 or Posix directory names?  Pick DIRENT or DIRECT.
  188. #### =()<DIR_STYLE        @<DIR_STYLE>@>()=
  189. DIR_STYLE        DIRECT
  190. ##  Use flock, lockf, or nothing to lock files?
  191. ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  192. #### =()<LOCK_STYLE        @<LOCK_STYLE>@>()=
  193. LOCK_STYLE        FLOCK
  194. ##  Do you have <unistd.h>?  Pick DO or DONT
  195. #### =()<HAVE_UNISTD    @<HAVE_UNISTD>@>()=
  196. HAVE_UNISTD    DONT
  197. ##  Do you have setbuffer?  Pick DO or DONT.
  198. #### =()<HAVE_SETBUFFER        @<HAVE_SETBUFFER>@>()=
  199. HAVE_SETBUFFER        DO
  200. ##  Do you have gettimeofday?  Pick DO or DONT.
  201. #### =()<HAVE_GETTIMEOFDAY    @<HAVE_GETTIMEOFDAY>@>()=
  202. HAVE_GETTIMEOFDAY    DO
  203. ##  Do you have fchmod?  Pick DO or DONT.
  204. #### =()<HAVE_FCHMOD        @<HAVE_FCHMOD>@>()=
  205. HAVE_FCHMOD        DO
  206. ##  Do you have setsid()?  Pick DO or DONT.
  207. #### =()<HAVE_SETSID        @<HAVE_SETSID>@>()=
  208. HAVE_SETSID        DONT
  209. ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  210. #### =()<HAVE_TM_GMTOFF        @<HAVE_TM_GMTOFF>@>()=
  211. HAVE_TM_GMTOFF        DO
  212. ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
  213. #### =()<HAVE_ST_BLKSIZE        @<HAVE_ST_BLKSIZE>@>()=
  214. HAVE_ST_BLKSIZE        DO
  215. ##  Use waitpid instead of wait3?  Pick DO or DONT.
  216. #### =()<HAVE_WAITPID        @<HAVE_WAITPID>@>()=
  217. HAVE_WAITPID        DONT
  218. ##  Use "union wait" instead of int?  Pick DO or DONT.
  219. #### =()<USE_UNION_WAIT        @<USE_UNION_WAIT>@>()=
  220. USE_UNION_WAIT        DO
  221. ##  How to fork?  Pick fork or vfork.
  222. #### =()<FORK            @<FORK>@>()=
  223. FORK            vfork
  224. ##  Do you have <vfork.h>?  Pick DO or DONT.
  225. #### =()<HAVE_VFORK        @<HAVE_VFORK>@>()=
  226. HAVE_VFORK        DO
  227. ##  Do you have symbolic links?  Pick DO or DONT.
  228. #### =()<HAVE_SYMLINK        @<HAVE_SYMLINK>@>()=
  229. HAVE_SYMLINK        DO
  230. ##  Do you have Unix-domain sockets?  Pick DO or DONT.
  231. #### =()<HAVE_UNIX_DOMAIN    @<HAVE_UNIX_DOMAIN>@>()=
  232. HAVE_UNIX_DOMAIN    DO
  233. ##  Does your AF_UNIX bind use sizeof for the socket size?  Pick DO or DONT.
  234. #### =()<BIND_USE_SIZEOF        @<BIND_USE_SIZEOF>@>()=
  235. BIND_USE_SIZEOF        DO
  236. ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
  237. #### =()<CLX_STYLE        @<CLX_STYLE>@>()=
  238. CLX_STYLE        IOCTL
  239. ##  How should non-blocking I/O be done?  Pick IOCTL or FCNTL.
  240. #### =()<NBIO_STYLE        @<NBIO_STYLE>@>()=
  241. NBIO_STYLE        FCNTL
  242. ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
  243. #### =()<RES_STYLE        @<RES_STYLE>@>()=
  244. RES_STYLE        RUSAGE
  245. ##  How to get number of available descriptors?
  246. ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  247. ####  =()<FDCOUNT_STYLE        @<FDCOUNT_STYLE>@>()=
  248. FDCOUNT_STYLE        GETDTAB
  249. ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  250. ##  If -1, then no [gs]etrlimit calls are done.
  251. #### =()<NOFILE_LIMIT        @<NOFILE_LIMIT>@>()=
  252. NOFILE_LIMIT        -1
  253. ##  Do you need <time.h> as well as <sys/time.h>?  Pick DO or DONT.
  254. #### =()<NEED_TIME        @<NEED_TIME>@>()=
  255. NEED_TIME        DO
  256. ##  What predicate, if any, the <ctype.h> macros need
  257. #### =()<CTYPE            @<CTYPE>@>()=
  258. CTYPE            (isascii((c)) && isXXXXX((c)))
  259. #CTYPE            ((c) > 0 && isXXXXX((c)))
  260. #CTYPE            isXXXXX((c))
  261. ##  What's the return type of abort?  Usually int or void.
  262. #### =()<ABORTVAL        @<ABORTVAL>@>()=
  263. ABORTVAL        void
  264. ##  What's the return type of alarm?  Usually int or unsigned int.
  265. #### =()<ALARMVAL        @<ALARMVAL>@>()=
  266. ALARMVAL        int
  267. ##  What's the return type of getpid?  Usually int or unsigned int.
  268. #### =()<GETPIDVAL        @<GETPIDVAL>@>()=
  269. GETPIDVAL        int
  270. ##  What's the return type of sleep?  Usually int or unsigned int.
  271. #### =()<SLEEPVAL        @<SLEEPVAL>@>()=
  272. SLEEPVAL        int
  273. ##  What's the return type of  qsort?  Usually int or void.
  274. #### =()<QSORTVAL        @<QSORTVAL>@>()=
  275. QSORTVAL        int
  276. ##  What's the return type of lseek?  Usually long or off_t.
  277. #### =()<LSEEKVAL        @<LSEEKVAL>@>()=
  278. LSEEKVAL        long
  279. ##  What's the return type of free?  Usually int or void.
  280. #### =()<FREEVAL            @<FREEVAL>@>()=
  281. FREEVAL            int
  282. ##  What's the return type of exit?  Usually int or void.
  283. ##  (For gcc use "volatile void" in EXITVAL and _EXITVAL.)
  284. #### =()<EXITVAL            @<EXITVAL>@>()=
  285. EXITVAL            void
  286. ##  What's the return type of _exit?  Usually int or void.
  287. #### =()<_EXITVAL        @<_EXITVAL>@>()=
  288. _EXITVAL        void
  289.  
  290.  
  291. ##
  292. ##  5.  C LIBRARY OMISSIONS
  293. ##  Possible values:
  294. ##    MISSING_MAN        strcasecmp.3 syslog.3
  295. ##    MISSING_SRC        strcasecmp.c syslog.c strerror.c getdtab.c
  296. ##    MISSING_OBJ        strcasecmp.o syslog.o strerror.o getdtab.c
  297. ##  getdtab has a getdtablesize() routine if you need it; see the lib
  298. ##  directory and Install.ms for others.
  299. ##  OSx systems should add $(OSXATTOBJ) to MISSING_OBJ.
  300. #### =()<MISSING_MAN        @<MISSING_MAN>@>()=
  301. MISSING_MAN        
  302. #### =()<MISSING_SRC        @<MISSING_SRC>@>()=
  303. MISSING_SRC        
  304. #### =()<MISSING_OBJ        @<MISSING_OBJ>@>()=
  305. MISSING_OBJ        
  306.  
  307.  
  308. ##
  309. ##  6.  MISCELLANEOUS CONFIG DATA
  310. ##  Use read/write to update the active file, or mmap?  Pick READ or MMAP.
  311. #### =()<ACT_STYLE        @<ACT_STYLE>@>()=
  312. ACT_STYLE        READ
  313. ##  Do clients use our NNTP-server-open routine, or the one in NNTP?
  314. ##  INND is nicer, but you must install inn.conf files everywhere; NNTP
  315. ##  is better if you already have lots of /usr/lib/news/server files.
  316. ##  Pick INND or NNTP.
  317. #### =()<REM_STYLE        @<REM_STYLE>@>()=
  318. REM_STYLE        INND
  319. ##  Should rnews save articles that the server rejects?  Pick DO or DONT.
  320. #### =()<RNEWS_SAVE_BAD        @<RNEWS_SAVE_BAD>@>()=
  321. RNEWS_SAVE_BAD        DONT
  322. ##  Look in _PATH_RNEWSPROGS for rnews unpackers?  Pick DO or DONT.
  323. #### =()<RNEWSPROGS        @<RNEWSPROGS>@>()=
  324. RNEWSPROGS        DO
  325. ##  Environment variable that has remote hostname for rnews.
  326. #### =()<_ENV_UUCPHOST        @<_ENV_UUCPHOST>@>()=
  327. _ENV_UUCPHOST        UU_MACHINE
  328. ##  Require posts to have under 50% inclusion (">") lines?  Pick DO OR DONT.
  329. ##  (This is only for inews and nnrpd.)
  330. #### =()<CHECK_INCLUDED_TEXT        @<CHECK_INCLUDED_TEXT>@>()=
  331. CHECK_INCLUDED_TEXT        DO
  332. ##  Put hosts in the inews Path header?  Pick DO or DONT.
  333. #### =()<INEWS_PATH        @<INEWS_PATH>@>()=
  334. INEWS_PATH        DO
  335. ##  How many times to try to fork before giving up
  336. #### =()<MAX_FORKS        @<MAX_FORKS>@>()=
  337. MAX_FORKS        10
  338. ##  Largest acceptable article size; 0 allows any size
  339. #### =()<MAX_ART_SIZE        @<MAX_ART_SIZE>@>()=
  340. MAX_ART_SIZE        1000000
  341. ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
  342. #### =()<INND_NICE_KIDS        @<INND_NICE_KIDS>@>()=
  343. INND_NICE_KIDS        DONT
  344. ##  Value for nice(2) call in innd.
  345. #### =()<INND_NICE_VALUE    @<INND_NICE_VALUE>@>()=
  346. INND_NICE_VALUE    10
  347. ##  Null-terminated list of unknown commands to not log to syslog.
  348. ##    INND_QUIET_BADLIST    "xstream", "xfoo", NULL
  349. #### =()<INND_QUIET_BADLIST    @<INND_QUIET_BADLIST>@>()=
  350. INND_QUIET_BADLIST    NULL
  351. ##  Null-terminated set of illegal distribution patterns.
  352. #### =()<BAD_DISTRIBS    @<BAD_DISTRIBS>@>()=
  353. BAD_DISTRIBS    "*.*",NULL
  354. ##  Verify that the poster is the person doing the cancel?  Pick DO or DONT.
  355. #### =()<VERIFY_CANCELS        @<VERIFY_CANCELS>@>()=
  356. VERIFY_CANCELS        DONT
  357. ##  Log "ctlinnd cancel" commands to syslog?  Pick DO or DONT.
  358. #### =()<LOG_CANCEL_COMMANDS    @<LOG_CANCEL_COMMANDS>@>()=
  359. LOG_CANCEL_COMMANDS    DONT
  360. ##  File unknown "to.*" groups into the "to" newsgroup?  Pick DO or DONT.
  361. #### =()<MERGE_TO_GROUPS        @<MERGE_TO_GROUPS>@>()=
  362. MERGE_TO_GROUPS        DONT
  363. ##  File articles in unknown newsgroups into junk?  Pick DO or DONT.
  364. #### =()<WANT_TRASH        @<WANT_TRASH>@>()=
  365. WANT_TRASH        DONT
  366. ##  Record rejected articles in history?  Pick DO or DONT.
  367. #### =()<REMEMBER_TRASH        @<REMEMBER_TRASH>@>()=
  368. REMEMBER_TRASH        DONT
  369. ##  Check the linecount against the Lines header?  Pick DO or DONT.
  370. #### =()<CHECK_LINECOUNT        @<CHECK_LINECOUNT>@>()=
  371. CHECK_LINECOUNT        DONT
  372. ##  If checking, the error must be within LINECOUNT_FUZZ lines.
  373. ##  Five is number of .signature lines + 1.
  374. #### =()<LINECOUNT_FUZZ        @<LINECOUNT_FUZZ>@>()=
  375. LINECOUNT_FUZZ        5
  376. ##  Have innd throttle itself after this many I/O errors.
  377. #### =()<IO_ERROR_COUNT        @<IO_ERROR_COUNT>@>()=
  378. IO_ERROR_COUNT        50
  379. ##  Default value for ctlinnd -t flag; use 0 to wait and poll.
  380. #### =()<CTLINND_TIMEOUT        @<CTLINND_TIMEOUT>@>()=
  381. CTLINND_TIMEOUT        0
  382. ##  Flush logs if we go this long with no I/O.
  383. #### =()<DEFAULT_TIMEOUT        @<DEFAULT_TIMEOUT>@>()=
  384. DEFAULT_TIMEOUT        300
  385. ##  INND closes channel if inactive this long (seconds).
  386. #### =()<PEER_TIMEOUT        @<PEER_TIMEOUT>@>()=
  387. PEER_TIMEOUT        (1 * 60 * 60)
  388. ##  NNRP exits if inactive this long (seconds).
  389. #### =()<CLIENT_TIMEOUT        @<CLIENT_TIMEOUT>@>()=
  390. CLIENT_TIMEOUT        (2 * 60 * 60)
  391. ##  Allow nnrpd readers when paused or throttled?  Pick DO or DONT.
  392. #### =()<ALLOW_READERS        @<ALLOW_READERS>@>()=
  393. ALLOW_READERS        DO
  394. ##  Refuse newsreader connections if load is higher then this; -1 disables.
  395. #### =()<NNRP_LOADLIMIT        @<NNRP_LOADLIMIT>@>()=
  396. NNRP_LOADLIMIT        16
  397. ##  Don't readdir() spool dir if same group within this many secs.
  398. #### =()<NNRP_RESCAN_DELAY        @<NNRP_RESCAN_DELAY>@>()=
  399. NNRP_RESCAN_DELAY        60
  400. ##  Do gethostbyaddr on client adresses in nnrp?   Pick DO or DONT.
  401. ##  (If DONT, then use only IP addresses in hosts.nnrp)
  402. #### =()<NNRP_GETHOSTBYADDR        @<NNRP_GETHOSTBYADDR>@>()=
  403. NNRP_GETHOSTBYADDR        DO
  404. ##  Should nnrpd do a dbzincore?  Pick DO or DONT.
  405. ##  RRN doesn't need it, but some newsreaders fetch everything by Message-ID
  406. ##  and would benefit by it.
  407. #### =()<NNRP_DBZINCORE        @<NNRP_DBZINCORE>@>()=
  408. NNRP_DBZINCORE        DO
  409. ##  Strip Sender from posts that didn't authenticate?  Pick DO or DONT.
  410. #### =()<NNRP_AUTH_SENDER    @<NNRP_AUTH_SENDER>@>()=
  411. NNRP_AUTH_SENDER    DONT
  412. ##  How many read/write failures until channel is put to sleep or closed?
  413. #### =()<BAD_IO_COUNT        @<BAD_IO_COUNT>@>()=
  414. BAD_IO_COUNT        5
  415. ##  Multiplier for sleep in EWOULDBLOCK writes (seconds).
  416. #### =()<BLOCK_BACKOFF        @<BLOCK_BACKOFF>@>()=
  417. BLOCK_BACKOFF        (2 * 60)
  418. ##  How many article-writes between active and history updates?
  419. #### =()<ICD_SYNC_COUNT        @<ICD_SYNC_COUNT>@>()=
  420. ICD_SYNC_COUNT        10
  421. ##  Tell resolver _res.options to be fast?  Pick DO or DONT.
  422. #### =()<FAST_RESOLV        @<FAST_RESOLV>@>()=
  423. FAST_RESOLV        DONT
  424. ##  Drop articles that were posted this many days ago.
  425. #### =()<DEFAULT_CUTOFF        @<DEFAULT_CUTOFF>@>()=
  426. DEFAULT_CUTOFF        14
  427. ##  Maximum number of incoming NNTP connections.
  428. #### =()<DEFAULT_CONNECTIONS    @<DEFAULT_CONNECTIONS>@>()=
  429. DEFAULT_CONNECTIONS    50
  430. ##  Wait this many seconds before channel restarts.
  431. #### =()<CHANNEL_RETRY_TIME    @<CHANNEL_RETRY_TIME>@>()=
  432. CHANNEL_RETRY_TIME    (5 * 60)
  433. ##  Wait this many seconds before seeing if pause is ended.
  434. #### =()<PAUSE_RETRY_TIME    @<PAUSE_RETRY_TIME>@>()=
  435. PAUSE_RETRY_TIME    (5 * 60)
  436. ##  Wait this many seconds between noticing inactive channels.
  437. #### =()<CHANNEL_INACTIVE_TIME    @<CHANNEL_INACTIVE_TIME>@>()=
  438. CHANNEL_INACTIVE_TIME    (10 * 60)
  439. ##  Put nntplink info (filename) into the log?
  440. #### =()<NNTPLINK_LOG    @<NNTPLINK_LOG>@>()=
  441. NNTPLINK_LOG    DONT
  442. ##  Log by host IP address, rather than from Path line?
  443. #### =()<IPADDR_LOG    @<IPADDR_LOG>@>()=
  444. IPADDR_LOG    DONT
  445. ##  Log NNTP activity after this many articles.
  446. #### =()<NNTP_ACTIVITY_SYNC    @<NNTP_ACTIVITY_SYNC>@>()=
  447. NNTP_ACTIVITY_SYNC    200
  448. ##  Free buffers bigger than this when we're done with them.
  449. #### =()<BIG_BUFFER        @<BIG_BUFFER>@>()=
  450. BIG_BUFFER        (2 * START_BUFF_SIZE)
  451. ##  A general small buffer.
  452. #### =()<SMBUF            @<SMBUF>@>()=
  453. SMBUF            256
  454. ##  Buffer for a single article name.
  455. #### =()<MAXARTFNAME        @<MAXARTFNAME>@>()=
  456. MAXARTFNAME        10
  457. ##  Buffer for a single pathname in the spool directory.
  458. #### =()<SPOOLNAMEBUFF        @<SPOOLNAMEBUFF>@>()=
  459. SPOOLNAMEBUFF        512
  460. ##  Maximum size of a single header.
  461. #### =()<MAXHEADERSIZE        @<MAXHEADERSIZE>@>()=
  462. MAXHEADERSIZE        1024
  463. ##  Byte limit on locally-posted articles; 0 to disable the check.
  464. #### =()<LOCAL_MAX_ARTSIZE        @<LOCAL_MAX_ARTSIZE>@>()=
  465. LOCAL_MAX_ARTSIZE        0
  466. ##  Do you have uustat, or just uuq?  Pick DO or DONT
  467. #### =()<HAVE_UUSTAT        @<HAVE_UUSTAT>@>()=
  468. HAVE_UUSTAT        DO
  469.  
  470.  
  471. ##
  472. ##  7.  PATHS TO COMMON PROGRAMS
  473. ##  Where the raison d'etre for this distribution lives.
  474. #### =()<_PATH_INND        @<_PATH_INND>@>()=
  475. _PATH_INND        /usr/local/etc/innd
  476. ##  Where the optional front-end that exec's innd lives.
  477. #### =()<_PATH_INNDSTART        @<_PATH_INNDSTART>@>()=
  478. _PATH_INNDSTART        /usr/local/etc/inndstart
  479. ##  Where news boot-up script should be installed.
  480. #### =()<_PATH_NEWSBOOT        @<_PATH_NEWSBOOT>@>()=
  481. _PATH_NEWSBOOT        /usr/local/etc/rc.news
  482. ##  Where sendmail, or a look-alike, lives.
  483. ##  The -t is optional and says to read message for recipients
  484. #### =()<_PATH_SENDMAIL        @<_PATH_SENDMAIL>@>()=
  485. _PATH_SENDMAIL        /usr/lib/sendmail -t
  486. ##  Where the shell is.
  487. #### =()<_PATH_SH        @<_PATH_SH>@>()=
  488. _PATH_SH        /bin/sh
  489. ##  Where the compress program lives.
  490. #### =()<_PATH_COMPRESS        @<_PATH_COMPRESS>@>()=
  491. _PATH_COMPRESS        /usr/ucb/compress
  492. ##  What extension your compress appends
  493. #### =()<_PATH_COMPRESSEXT    @<_PATH_COMPRESSEXT>@>()=
  494. _PATH_COMPRESSEXT    .Z
  495. ##  Where egrep lives (you might need the FSF one; see scanlogs)
  496. #### =()<_PATH_EGREP        @<_PATH_EGREP>@>()=
  497. _PATH_EGREP        /usr/bin/egrep
  498. ##  Where awk lives (you might need the FSF one; see scanlogs)
  499. #### =()<_PATH_AWK        @<_PATH_AWK>@>()=
  500. _PATH_AWK        awk
  501. ##  Where sed lives (you might need the FSF one)
  502. #### =()<_PATH_SED        @<_PATH_SED>@>()=
  503. _PATH_SED        sed
  504. ##  Where inews lives.
  505. #### =()<_PATH_INEWS        @<_PATH_INEWS>@>()=
  506. _PATH_INEWS        /usr/local/news/inews
  507. ##  Where relaynews lives.
  508. #### =()<_PATH_RELAYNEWS        @<_PATH_RELAYNEWS>@>()=
  509. _PATH_RELAYNEWS        /usr/local/news/relaynews
  510. ##  Where rnews lives.
  511. #### =()<_PATH_RNEWS        @<_PATH_RNEWS>@>()=
  512. _PATH_RNEWS        /bin/rnews
  513. ##  Where the NNRP server lives.
  514. #### =()<_PATH_NNRPD        @<_PATH_NNRPD>@>()=
  515. _PATH_NNRPD        /usr/local/etc/in.nnrpd
  516. ##  The path of the process run when an unknown host connects to innd.
  517. ##  Usually the same as _PATH_NNRPD, but may be, e.g., the path to
  518. ##  nntpd from the reference implementation.
  519. #### =()<_PATH_NNTPD        @<_PATH_NNTPD>@>()=
  520. _PATH_NNTPD        /usr/local/etc/in.nnrpd
  521. ##  Where the NNQR server lives.  Make same as _PATH_NNRPD for now
  522. #### =()<_PATH_NNQRD        @<_PATH_NNRPD>@>()=
  523. _PATH_NNQRD        /usr/local/etc/in.nnrpd
  524. ##  Where most other programs live.
  525. ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  526. #### =()<_PATH_NEWSBIN        @<_PATH_NEWSBIN>@>()=
  527. _PATH_NEWSBIN        /usr/local/news/bin
  528. ##  Where temporary files live on the server
  529. #### =()<_PATH_TMP        @<_PATH_TMP>@>()=
  530. _PATH_TMP        /tmp
  531. ##  Command to send mail (with -s "subject" allowed)
  532. #### =()<_PATH_MAILCMD        @<_PATH_MAILCMD>@>()=
  533. _PATH_MAILCMD        /usr/ucb/Mail
  534. ##  Where scripts should have shlock create locks.
  535. #### =()<_PATH_LOCKS        @<_PATH_LOCKS>@>()=
  536. _PATH_LOCKS        /usr/local/news
  537.  
  538.  
  539. ##
  540. ##  8.  PATHS RELATED TO THE SPOOL DIRECTORY
  541. ##  Spool directory, where articles live.
  542. #### =()<_PATH_SPOOL        @<_PATH_SPOOL>@>()=
  543. _PATH_SPOOL        /usr/spool/news
  544. ##  Where rnews spools its input.
  545. #### =()<_PATH_SPOOLNEWS        @<_PATH_SPOOLNEWS>@>()=
  546. _PATH_SPOOLNEWS        /usr/spool/news/in.coming
  547. ##  Where rnews creates temporary files until finished
  548. #### =()<_PATH_SPOOLTEMP        @<_PATH_SPOOLTEMP>@>()=
  549. _PATH_SPOOLTEMP        /usr/spool/news/in.coming/tmp
  550. ##  Where rnews puts bad input.
  551. #### =()<_PATH_BADNEWS        @<_PATH_BADNEWS>@>()=
  552. _PATH_BADNEWS        /usr/spool/news/in.coming/bad
  553. ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
  554. #### =()<_PATH_RELBAD        @<_PATH_RELBAD>@>()=
  555. _PATH_RELBAD        bad
  556.  
  557.  
  558. ##
  559. ##  9.  EXECUTION PATHS FOR INND AND RNEWS
  560. ##  Rnews may execute any program in this directory; see RNEWSPROGS.
  561. #### =()<_PATH_RNEWSPROGS    @<_PATH_RNEWSPROGS>@>()=
  562. _PATH_RNEWSPROGS    /usr/local/news/bin/rnews
  563. ##  Path to control messages scripts.
  564. #### =()<_PATH_CONTROLPROGS    @<_PATH_CONTROLPROGS>@>()=
  565. _PATH_CONTROLPROGS    /usr/local/news/bin/control
  566. ##  Default "unknown/illegal" control script, within _PATH_CONTROLPROGS.
  567. #### =()<_PATH_BADCONTROLPROG    @<_PATH_BADCONTROLPROG>@>()=
  568. _PATH_BADCONTROLPROG    default
  569.  
  570.  
  571. ##
  572. ##  10.  SOCKETS CREATED BY INND OR CLIENTS
  573. #### =()<_PATH_INNDDIR        @<_PATH_INNDDIR>@>()=
  574. _PATH_INNDDIR        /usr/local/news/innd
  575. ##  Unix-domain stream socket that rnews connects to.
  576. #### =()<_PATH_NNTPCONNECT    @<_PATH_NNTPCONNECT>@>()=
  577. _PATH_NNTPCONNECT    /usr/local/news/innd/nntpin
  578. ##  Unix-domain datagram socket that ctlinnd to.
  579. #### =()<_PATH_NEWSCONTROL    @<_PATH_NEWSCONTROL>@>()=
  580. _PATH_NEWSCONTROL    /usr/local/news/innd/control
  581. ##  Temporary socket created by ctlinnd; run through mktemp
  582. #### =()<_PATH_TEMPSOCK        @<_PATH_TEMPSOCK>@>()=
  583. _PATH_TEMPSOCK        /usr/local/news/innd/ctlinndXXXXXX
  584.  
  585.  
  586. ##
  587. ##  11.  LOG AND CONFIG FILES
  588. #### =()<_PATH_NEWSLIB        @<_PATH_NEWSLIB>@>()=
  589. _PATH_NEWSLIB        /usr/local/news
  590. ##  The server's log file.
  591. #### =()<_PATH_LOGFILE        @<_PATH_LOGFILE>@>()=
  592. _PATH_LOGFILE        /var/log/news/news
  593. ##  The server's error log file.
  594. #### =()<_PATH_ERRLOG        @<_PATH_ERRLOG>@>()=
  595. _PATH_ERRLOG        /var/log/news/errlog
  596. ##  Where most sylog log files go; see also scanlogs, innstat, etc.
  597. #### =()<_PATH_MOST_LOGS    @<_PATH_MOST_LOGS>@>()=
  598. _PATH_MOST_LOGS    /var/log/news
  599. ##  How many generates of log files to keep.
  600. #### =()<LOG_CYCLES    @<LOG_CYCLES>@>()=
  601. LOG_CYCLES    5
  602. ##  Text value of the server's pid.
  603. #### =()<_PATH_SERVERPID        @<_PATH_SERVERPID>@>()=
  604. _PATH_SERVERPID        /usr/local/news/innd/innd.pid
  605. ##  The newsfeeds file, on the server host.
  606. #### =()<_PATH_NEWSFEEDS    @<_PATH_NEWSFEEDS>@>()=
  607. _PATH_NEWSFEEDS    /usr/local/news/newsfeeds
  608. ##  The article history database, on the server host.
  609. #### =()<_PATH_HISTORY    @<_PATH_HISTORY>@>()=
  610. _PATH_HISTORY    /usr/local/news/history
  611. ##  File listing the sites that feed us news.
  612. #### =()<_PATH_INNDHOSTS        @<_PATH_INNDHOSTS>@>()=
  613. _PATH_INNDHOSTS        /usr/local/news/hosts.nntp
  614. ##  The active file, on the server host.
  615. #### =()<_PATH_ACTIVE    @<_PATH_ACTIVE>@>()=
  616. _PATH_ACTIVE    /usr/local/news/active
  617. ##  A temporary active file, for writing on the server host.
  618. #### =()<_PATH_NEWACTIVE        @<_PATH_NEWACTIVE>@>()=
  619. _PATH_NEWACTIVE        /usr/local/news/active.tmp
  620. ##  An old active file on the server host.
  621. #### =()<_PATH_OLDACTIVE        @<_PATH_OLDACTIVE>@>()=
  622. _PATH_OLDACTIVE        /usr/local/news/active.old
  623. ##  The log of when groups are created.
  624. #### =()<_PATH_ACTIVETIMES    @<_PATH_ACTIVETIMES>@>()=
  625. _PATH_ACTIVETIMES    /usr/local/news/active.times
  626. ##  Where batch files are located.
  627. #### =()<_PATH_BATCHDIR        @<_PATH_BATCHDIR>@>()=
  628. _PATH_BATCHDIR        /usr/spool/news/out.going
  629. ##  Where archives are kept.
  630. #### =()<_PATH_ARCHIVEDIR    @<_PATH_ARCHIVEDIR>@>()=
  631. _PATH_ARCHIVEDIR    /usr/spool/news/news.archive
  632. ##  Where NNRP distributions file is
  633. #### =()<_PATH_NNRPDIST        @<_PATH_NNRPDIST>@>()=
  634. _PATH_NNRPDIST        /usr/local/news/distributions
  635. ##  Where the default Distribution assignments file is
  636. #### =()<_PATH_DISTPATS        @<_PATH_DISTPATS>@>()=
  637. _PATH_DISTPATS        /usr/local/news/distrib.pats
  638. #### =()<_PATH_NEWSGROUPS    @<_PATH_NEWSGROUPS>@>()=
  639. _PATH_NEWSGROUPS    /usr/local/news/newsgroups
  640. ##  File where client configuration parameters can be read.
  641. #### =()<_PATH_CONFIG    @<_PATH_CONFIG>@>()=
  642. _PATH_CONFIG    /usr/local/news/inn.conf
  643. ##  The possible active file, on clients (NFS-mounted, e.g.).
  644. #### =()<_PATH_CLIENTACTIVE    @<_PATH_CLIENTACTIVE>@>()=
  645. _PATH_CLIENTACTIVE    /usr/local/news/active
  646. ##  A temporary file, for client inews to use.
  647. #### =()<_PATH_TEMPACTIVE    @<_PATH_TEMPACTIVE>@>()=
  648. _PATH_TEMPACTIVE    /tmp/activeXXXXXX
  649. ##  Where to mail to the moderators.
  650. #### =()<_PATH_MODERATORS    @<_PATH_MODERATORS>@>()=
  651. _PATH_MODERATORS    /usr/local/news/moderators
  652. ##  Where NNTP puts the name of the server.
  653. #### =()<_PATH_SERVER    @<_PATH_SERVER>@>()=
  654. _PATH_SERVER    /usr/local/news/server
  655. ##  File with name/password for all remote connections.
  656. #### =()<_PATH_NNTPPASS        @<_PATH_NNTPPASS>@>()=
  657. _PATH_NNTPPASS        /usr/local/news/passwd.nntp
  658. ##  NNRP access file.
  659. #### =()<_PATH_NNRPACCESS        @<_PATH_NNRPACCESS>@>()=
  660. _PATH_NNRPACCESS        /usr/local/news/nnrp.access
  661. ##  Default expire control file.
  662. #### =()<_PATH_EXPIRECTL        @<_PATH_EXPIRECTL>@>()=
  663. _PATH_EXPIRECTL        /usr/local/news/expire.ctl
  664. ##  Prolog to parse control scripts
  665. #### =()<_PATH_PARSECTL        @<_PATH_PARSECTL>@>()=
  666. _PATH_PARSECTL        /usr/local/news/parsecontrol
  667. ##  Access control file for control scripts.
  668. #### =()<_PATH_CONTROLCTL        @<_PATH_CONTROLCTL>@>()=
  669. _PATH_CONTROLCTL        /usr/local/news/control.ctl
  670. ##  Innwatch control file.
  671. #### =()<_PATH_CTLWATCH            @<_PATH_CTLWATCH>@>()=
  672. _PATH_CTLWATCH            /usr/local/news/innwatch.ctl
  673. ##  Where innwatch writes its own pid.
  674. #### =()<_PATH_WATCHPID        @<_PATH_WATCHPID>@>()=
  675. _PATH_WATCHPID        /usr/local/news/innwatch.pid
  676. ##  Where innwatch writes status when it gets an interrupt
  677. #### =()<_PATH_INNWSTATUS        @<_PATH_INNWSTATUS>@>()=
  678. _PATH_INNWSTATUS        /usr/local/news/innwatch.status
  679.  
  680.  
  681. ##
  682. ##  12.  INNWATCH CONFIGURATION
  683. ##  Load average (* 100) at which innd should be paused.
  684. #### =()<INNWATCH_PAUSELOAD    @<INNWATCH_PAUSELOAD>@>()=
  685. INNWATCH_PAUSELOAD    1500
  686. ##  Load average (* 100) at which innd should be throttled.
  687. #### =()<INNWATCH_HILOAD    @<INNWATCH_HILOAD>@>()=
  688. INNWATCH_HILOAD    2000
  689. ##  Load average (* 100) at which to restart innd (pause/throttle undone).
  690. #### =()<INNWATCH_LOLOAD    @<INNWATCH_LOLOAD>@>()=
  691. INNWATCH_LOLOAD    1000
  692. ##  Space, in df output units, at which to throttle innd on _PATH_SPOOL.
  693. #### =()<INNWATCH_SPOOLSPACE    @<INNWATCH_SPOOLSPACE>@>()=
  694. INNWATCH_SPOOLSPACE    8000
  695. ##  Space, in df output units, at which to throttle innd on _PATH_BATCHDIR.
  696. #### =()<INNWATCH_BATCHSPACE    @<INNWATCH_BATCHSPACE>@>()=
  697. INNWATCH_BATCHSPACE    800
  698. ##  Space, in df output units, at which to throttle innd on _PATH_NEWSLIB.
  699. #### =()<INNWATCH_LIBSPACE    @<INNWATCH_LIBSPACE>@>()=
  700. INNWATCH_LIBSPACE    25000
  701. ##  Number of inodes at which to throttle innd on _PATH_SPOOL.
  702. #### =()<INNWATCH_SPOOLNODES    @<INNWATCH_SPOOLNODES>@>()=
  703. INNWATCH_SPOOLNODES    200
  704. ##  How long to sleep between innwatch iterations.
  705. #### =()<INNWATCH_SLEEPTIME    @<INNWATCH_SLEEPTIME>@>()=
  706. INNWATCH_SLEEPTIME    600
  707.