home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / news / software / nntp / 911 < prev    next >
Encoding:
Text File  |  1992-07-29  |  12.2 KB  |  411 lines

  1. Newsgroups: news.software.nntp
  2. Path: sparky!uunet!rde!andy
  3. From: andy@homebase.vistachrome.com (Andy Finkenstadt)
  4. Subject: (SOLUTION ENCLOSED) Re: NNTP on ISC 3.0
  5. Message-ID: <1992Jul29.144212.24363@homebase.vistachrome.com>
  6. Reply-To: andy@homebase.vistachrome.com
  7. Organization: Vista-Chrome Incorporated
  8. References: <1992Jul29.010133.26845@dale.ksc.nasa.gov>
  9. Distribution: usa
  10. Date: Wed, 29 Jul 1992 14:42:12 GMT
  11. Lines: 398
  12.  
  13. chc@orion.ksc.nasa.gov (Charles Curley) writes:
  14. >Quick one:  Does anyone have NNTP Server code compiled and operating
  15. >    correctly on ISC 3.0?
  16.  
  17. Thanks in large part to Alan Edmonds - here is what I had to do.
  18. (At the end is enclosed my conf.h)
  19.  
  20. First - I had to get a working conf.h from another ISC Site.
  21. I've enclosed exactly what he sent me at the end of this article.
  22.  
  23. Second - I had to modify /usr/include/ndir.h to UNDEF the
  24. definitions of u_short and u_long, while removing the definition
  25. at the top for void.
  26.  
  27. So, remove the line  '#define void' and add two lines 
  28. '#undef u_short' and '#undef u_long'
  29.  
  30. Third - I had to make a change where MAXHOSTNAMELEN was redefined,
  31. but I no longer remember where that was!
  32.  
  33. Fourth - change the makefile to include these libraries:
  34.         # set LIBS to be -lneededlibrary if needed
  35.         LIBS=-lcnews -lndir -linet -lnsl_s 
  36.  
  37. I had moved my /usr/src/news/cnews/libcnews.a to /usr/lib before.
  38.  
  39. Fifth - OBTAIN the NDIR.SHAR package from archive-server@bmc.tmc.edu.
  40.  
  41. Install NDIR.SHAR and install the include file and library in the
  42. right place.
  43.  
  44. Now, as superuser, 'make server' then 'make install_server'.
  45.  
  46. Voi la!  Working NNTP Server for ISC 3.0.
  47.  
  48. I haven't yet tested the Client version, but it MADE just fine.
  49. (The client primarily makes an inews that posts to the server.)
  50. Since my server is ISC and I don't want to install 'nn' on another
  51. ISC box yet, I haven't tested this.
  52.  
  53. === my conf.h
  54. /* $Header: conf.h,v 1.2 91/02/04 00:46:28 sob Exp $
  55.  * Configuration information for use by NNTP server and support
  56.  * programs.  Change these as appropriate for your system.
  57.  */
  58.  
  59. /*
  60.  * Compile time options.
  61.  */
  62.   
  63. #undef DEBUG
  64.  
  65. #undef    AUTH        /* Define if you want simple authentication */
  66.  
  67. #undef    ALONE        /* True if we're running without inetd */
  68. #undef    FASTFORK    /* True if we don't want to read active file on start */
  69. #define LOAD 5    /* Loadav above which server refuses connections */
  70.  
  71.  
  72. #undef DYNAMIC_ART_ARRAY
  73.  
  74.  
  75. #undef    BSD_42        /* 4.2 compatability code -- if this is defined, */
  76.             /* DBM probably wants to be defined as well. */
  77.  
  78. #undef BSD_43        /* Define if you are running on BSD 4.3 */
  79.  
  80. #undef CMU_MACH        /* Use CMU's MACH ioctl(FIOCFSPARAM) for dfree(). */
  81.  
  82. #define    USG        /* System V support */
  83.  
  84. #undef TLI        /* Define this if you want to use TLI instead of */
  85.             /* sockets */
  86.  
  87. #undef NDBM        /* Use new-style (4.3) ndbm(3x) libraries */
  88.  
  89. #undef    DBM        /* True if we want to use the old dbm(3x) libraries */
  90.             /* IF YOU DEFINE THIS, change CFLAGS in makefile to */
  91.             /* be -ldbm */
  92.  
  93. #define    DBZ        /* True if we want to use dbz libraries */
  94.             /* IF YOU DEFINE THIS, change CFLAGS in makefile to */
  95.             /* be /usr/lib/dbz.o and install dbz.h */
  96.  
  97. #undef    USGHIST        /* Use USG style history file (no DBM) */
  98.             /* IF YOU DO NOT DEFINE NDBM or DBM, this is DEFAULT!*/
  99.  
  100. #define    CNEWS        /* define this if you are running C-NEWS */
  101. #define BATCHED_INPUT    /* define if you want to support C-NEWS style 
  102.                 batched input (not supported by B-NEWS,yet)  */
  103.  
  104. /* Vendor specific implementations */
  105. #define LAI_TCP        /* Lachman Streams TCP/IP support (Xenix) */
  106. #undef EXCELAN        /* Excelan EXOS 205 support */
  107. #undef WIN_TCP        /* WIN/TCP support */
  108.  
  109. #undef U_LONG        /* Define this if your <sys/types.h> is missing */
  110.             /* typedefs for u_long */
  111. #define SIGRET void    /* Newfangled signal() returns void, old returns int */
  112.  
  113. #define MINFREE 10000    /* NNTP will not allow an XFER if there is less */
  114.             /* than this much diskspace (in blocks or kbytes) */
  115. #define POSTBUFFER 1000 /* NNTP will allow local posting until */
  116.             /* MINFREE-POSTBUFFER blocks or kbytes are left */
  117. #undef MINFILES  /* MINFREE/4 */
  118.             /* NNTP will not allow an XFER if there is less */
  119.             /* than this many inodes on the SPOOLDIR filesystem */
  120. #define SETPROCTITLE    /* if you want status visable via ps */
  121. #undef MMAP        /* if your OS supports mmap() */
  122.  
  123. /*
  124.  * If you DON'T have vfork, make this "#define vfork fork"
  125.  * vfork will speed up article transfer nntpds by about 2.5 times.
  126.  */
  127.  
  128. #define    vfork fork
  129.  
  130. /*
  131.  * If you want CNEWS batch files created that are not world writable,
  132.  * remove the comments from the UMASK line below. This does not apply
  133.  * if you are running BNEWS. At least, not yet. :-)
  134.  */
  135.  
  136. /* #define UMASK 022 */
  137.  
  138. /*
  139.  * If you have the syslog library routine, define SYSLOG to
  140.  * be the syslog facility name under which stats should be
  141.  * logged.  Newer 4.3 systems might choose LOG_NEWS;
  142.  * LOG_LOCAL7 is an acceptable substitute.
  143.  *
  144.  * If you don't have support for syslog, but want a facsimile,
  145.  * define FAKESYSLOG to be the name of a file to which to log stuff,
  146.  * then define SYSLOG and LOG, too.  e.g.,
  147.  *
  148.  *    #define    FAKESYSLOG    "/usr/lib/news/nntplog"
  149.  *
  150.  * If your host supports the BSD fdopen() function and the O_APPEND flag
  151.  * to open(), you should define FAKEAPPEND with FAKESYSLOG so that
  152.  * multiple copies of nntpd don't trash the log with buffered fprintf's.
  153.  *
  154.  * If you don't want any syslog-type activity, #undef SYSLOG.
  155.  * Obviously, this means that you can't define LOG, either.
  156.  */
  157.  
  158. #define    FAKESYSLOG    "/usr/lib/news/nntpd_log"
  159. #define    FAKEAPPEND
  160.  
  161. #define SYSLOG    LOG_LOCAL7
  162.  
  163. #ifdef SYSLOG        /* Define LOG if you want copious logging info */
  164. #define     LOG        /* undef it if you don't */
  165. #endif            /* but you can only have LOG if you have SYSLOG */
  166.  
  167. #ifdef DBZ        /* If you use DBZ, then you need DBM as well. */
  168. #ifndef DBM
  169. #define DBM
  170. #endif /* DBM */
  171. #endif /* DBZ */
  172.  
  173. #ifdef BSD_42        /* This is a logical, warranted assumption */
  174. #   ifndef DBM        /* which will probably get me in trouble. */
  175. #    define DBM    /* Kill it if you have 4.2 *and* ndbm.  */
  176. #   endif
  177. #   ifndef sun        /* not a sun */
  178. #       ifndef ultrix   /* not ultrix */
  179. #           ifndef CMU_MACH /* not CMU's Mach */
  180. #        ifndef NeXT /* not a NeXT */
  181. #                  ifndef READ_SUPER
  182. #                    define READ_SUPER /* read super block for space() */
  183. #            endif
  184. #               endif
  185. #           endif
  186. #       endif
  187. #   endif
  188. #endif /* BSD_42 */
  189.  
  190. #ifndef USG
  191. #    ifndef BSD_42
  192. #        ifndef CMU_MACH
  193. #            ifndef BSD_43
  194. #                define BSD_43
  195. #            endif
  196. #        endif
  197. #    endif
  198. #endif
  199.  
  200. #ifdef BSD_43        /* And now more assumptions! */
  201. #   ifndef sun
  202. #    ifndef READ_SUPER
  203. #        define READ_SUPER
  204. #    endif
  205. #   endif
  206. #    ifndef DBZ
  207. #        ifndef DBM
  208. #            ifndef NDBM
  209. #                define NDBM
  210. #            endif
  211. #        endif
  212. #    endif
  213. #endif
  214.  
  215. #undef    IHAVE_DEBUG    /* Copious debugging output from ihave */
  216.  
  217. #define    XHDR        /* Optional XHDR command.  Defining this will */
  218.             /* speed up '=' command in rn, but will load */
  219.             /* the server more.  If your server is heavily */
  220.             /* loaded already, defining this may be a bad idea */
  221.  
  222. #define    SUBNET        /* If you have 4.3 subnetting */
  223. #undef    DAMAGED_NETMASK    /* If your subnet mask is not a multiple of */
  224.             /* four bits (e.g., UCSD) */
  225.  
  226. #undef    NETMASK        /* If you don't have subnet ioctls, define */
  227.             /* this to be a hex constant of your subnet */
  228.             /* mask, e.g., #define NETMASK 0xffffff00 */
  229.             /* Of course, you must define SUBNET above, too. */
  230. #undef    DECNET        /* If you want decnet support */
  231.  
  232. #define    GHNAME        /* Define if you have gethostname() */
  233. #undef    UUNAME        /* Define to use /etc/uucpname */
  234.             /* If neither of these are defined, */
  235.             /* inews will use the contents of */
  236.             /* /usr/include/whoami.h */
  237.  
  238. #define DOMAINMATCH    /* allows use of domain specifications in the */
  239.             /* access list instead of just hostnames. */
  240.             /* See README for more information */
  241.  
  242. #define DO_DOTDIR    /* the mini-inews will get the .signature file from */
  243.             /* this directory ifdefined in the environment. */
  244.             /* This is like rn. Undefine it and it will only */
  245.             /* look in the user's home directory. */
  246.  
  247. #ifdef AUTH
  248. /* 
  249.  * the file where the nntpxmit site/userid/passwords are kept
  250.  * think (and PROTECT!) this file like L.sys, i.e., mode 600
  251.  */
  252. # define    PASSFILE    "/etc/nntp.sys"
  253. #endif /* AUTH */
  254.  
  255. /*
  256.  * System V compatability
  257.  */
  258.  
  259. #ifdef USG
  260. # define    FCNTL            /* If O_etc is defined in <fcntl.h> */
  261. #ifdef dgux
  262. #define        FTRUNCATE
  263. #else
  264. #define    NDIR            /* If you  need ndir library support */
  265. #ifdef hpux
  266. #define        DIRSIZ_MACRO
  267. #endif
  268. #endif
  269. # define    index    strchr
  270. # define    rindex    strrchr
  271. # ifdef U_LONG
  272.    typedef    unsigned long    u_long;
  273.    typedef    unsigned short    u_short;
  274. # endif /* U_LONG */
  275. # define    IPPORT_NNTP    119
  276. #endif /* USG */
  277.  
  278. /*
  279.  * How long you want nntp servers to hang out without receiving
  280.  * commands before they close the connection with an error message.
  281.  *
  282.  * If you don't want any timeout, #undef it, i.e.,
  283.  *
  284.  *    #undef    TIMEOUT
  285.  *
  286.  * TIMEOUT should be at least two hours, which allows users some time
  287.  * away from their terminal (e.g., at lunch) while reading news.
  288.  */
  289.  
  290. #define    TIMEOUT    (2 * 3600)
  291.  
  292.  
  293. /*
  294.  * How long you want nntp servers to wait without receiving data
  295.  * during article transfers.  You CANNOT have XFER_TIMEOUT while
  296.  * running in standalond (ALONE) mode.
  297.  *
  298.  * If you don't want any transfer timeouts, #undef it, as above.
  299.  */
  300.  
  301. #ifndef ALONE
  302. #   define    XFER_TIMEOUT    (30 * 60)
  303. #endif /* ALONE */
  304.  
  305. /*
  306.  * Your domain.  This is for the inews generated From: line,
  307.  * assuming that it doesn't find one in the article's head.
  308.  * Suggestions are .UUCP if you don't belong to the Internet.
  309.  * If your hostname returns the fully-qualified domain name
  310.  * as some 4.3 BSD systems do, simply undefine DOMAIN.
  311.  * If you want your network to appear to be one host, define
  312.  * HIDDENNET.
  313.  *
  314.  * e.g.  #define    DOMAIN        "berkeley.edu"
  315.  */
  316.  
  317. #define    DOMAIN    "dseg.ti.com"
  318. #undef HIDDENNET
  319.  
  320. /*
  321.  * Means do a gethostbyname() to get the canonical host name. 
  322.  */
  323.  
  324. #define REALDOMAIN
  325.  
  326. /*
  327.  * A file containing the name of the host which is running
  328.  * the news server.  This will have to match what rrn thinks,
  329.  * too.
  330.  */
  331.  
  332. #define    SERVER_FILE    "/usr/lib/news/server"
  333.  
  334. /*
  335.  * Person (user name) to post news as.
  336.  */
  337.  
  338. #define    POSTER        "usenet"
  339.  
  340. /*
  341.  * These files are generated by the support programs, and are needed
  342.  * by the NNTP server.  Make sure that whatever directory you
  343.  * decide these files should go is writable by whatever uid you
  344.  * have the sypport programs run under.
  345.  */
  346.  
  347. #define STAT_FILE    "/usr/lib/news/mgdstats"
  348. #define NGDATE_FILE    "/usr/lib/news/groupdates"
  349.  
  350. /*
  351.  * But if you have C News, you can define ACTIVE_TIMES_FILE instead of
  352.  * STAT_FILE and NGDATE_FILE, and you won't have to run "mkgrdates".
  353.  */
  354.  
  355. #ifdef CNEWS
  356. # define ACTIVE_TIMES_FILE    "/usr/lib/news/active.times"
  357. #endif
  358.  
  359. /*
  360.  * Some commonly used programs and files.
  361.  */
  362.  
  363. #define    ACTIVE_FILE    "/usr/lib/news/active"
  364. #define ACCESS_FILE    "/usr/lib/news/nntp_access"
  365. #define DISTRIBUTIONS_FILE    "/usr/lib/news/distributions"
  366. #define NEWSGROUPS_FILE    "/usr/lib/news/newsgroups"
  367. #define HISTORY_FILE    "/usr/lib/news/history"
  368. #define    SPOOLDIR    "/usr/spool/news"
  369. #define INEWS        "/usr/lib/news/inews"
  370. #define RNEWS        "/bin/rnews"        /* Link to inews? */
  371. /*
  372.  * Some miscellaneous stuff you probably don't want to change.
  373.  */
  374.  
  375. #define READINTVL    60 * 10        /* 10 minutes b/n chking active file */
  376.  
  377. /*
  378.  * Support for C-News style batching 
  379.  */
  380. #undef  NONEWSRUN        /* define this if you are using the daemon */
  381.                 /* version of relaynews */
  382. #ifdef NONEWSRUN
  383. #define TOOBIG 1L        
  384. #define TOOMANY 1
  385. #else
  386. #define TOOBIG 300000L        /* batch > TOOBIG bytes, kick rnews */
  387. #define TOOMANY 1024        /* batch > TOOMANY articles, kick rnews */
  388. #define NEWSRUN            "/usr/lib/newsbin/input/newsrun"
  389. #endif
  390. #define TOOOLD (5*60)        /* batch > TOOOLD seconds old, kick rnews */
  391. #define COPYSIZE 8192        /* bytes to copy at one time */
  392. #define MAXDIGITS 25        /* lg(maxlongint) + epsilon */
  393. #define MAXSTR 1024
  394. #define INDIR            "/usr/spool/news/in.coming"
  395. /* You may to delete the pathname from the front of each of BATCH_FILE */
  396. #define BATCH_FILE        "/usr/spool/news/in.coming/nntp.XXXXXX"
  397.  
  398.  
  399. #ifndef    MAXHOSTNAMELEN
  400. #define MAXHOSTNAMELEN        64
  401. #endif
  402.  
  403. #define MAX_ARTICLES        (4096)
  404.  
  405.  
  406. -- 
  407. Andrew Finkenstadt       | Vista-Chrome, Inc.   |    NIC Handle: AF136
  408. GEnie Unix Sysop/Manager | The Printing House   |   ...!uunet!rde!andy
  409. +1 904 222 2639 home     | 1600 Capital Cir SW  |  andy@GEnie.geis.com
  410. +1 904 575 0189 work     | Tallahassee FL 32310 | andy@vistachrome.com
  411.