home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume30 / tin / part03 / server.patch next >
Encoding:
Text File  |  1992-05-20  |  33.3 KB  |  1,472 lines

  1. diff -rcs server.old/Makefile server/Makefile
  2. *** server.old/Makefile    Mon May  4 07:03:54 1992
  3. --- server/Makefile    Mon May  4 07:16:35 1992
  4. ***************
  5. *** 6,18 ****
  6.       ahbs.o globals.o group.o help.o ihave.o list.o misc.o netaux.o \
  7.       newgroups.o newnews.o nextlast.o ngmatch.o post.o parsit.o scandir.o \
  8.       slave.o spawn.o strcasecmp.o subnet.o time.o xhdr.o fakesyslog.o \
  9. !     batch.o auth.o timer.o ../common/version.o
  10.   
  11.   SRVRSRC = main.c serve.c access.c access_inet.c access_dnet.c active.c \
  12.       ahbs.c globals.c group.c help.c ihave.c list.c misc.c netaux.c \
  13.       newgroups.c newnews.c nextlast.c ngmatch.c post.c parsit.c scandir.c \
  14.       slave.c spawn.c strcasecmp.c subnet.c time.c xhdr.c fakesyslog.c \
  15. !     batch.c auth.c timer.c ../common/version.c
  16.   
  17.   SRVRINC = common.h ../common/conf.h ../common/nntp.h timer.h
  18.   
  19. --- 6,18 ----
  20.       ahbs.o globals.o group.o help.o ihave.o list.o misc.o netaux.o \
  21.       newgroups.o newnews.o nextlast.o ngmatch.o post.o parsit.o scandir.o \
  22.       slave.o spawn.o strcasecmp.o subnet.o time.o xhdr.o fakesyslog.o \
  23. !     batch.o auth.o timer.o ../common/version.o xuser.o xindex.o
  24.   
  25.   SRVRSRC = main.c serve.c access.c access_inet.c access_dnet.c active.c \
  26.       ahbs.c globals.c group.c help.c ihave.c list.c misc.c netaux.c \
  27.       newgroups.c newnews.c nextlast.c ngmatch.c post.c parsit.c scandir.c \
  28.       slave.c spawn.c strcasecmp.c subnet.c time.c xhdr.c fakesyslog.c \
  29. !     batch.c auth.c timer.c ../common/version.c xuser.c xindex.c
  30.   
  31.   SRVRINC = common.h ../common/conf.h ../common/nntp.h timer.h
  32.   
  33. Files server.old/README and server/README are identical
  34. Files server.old/SYSLOG and server/SYSLOG are identical
  35. diff -rcs server.old/access.c server/access.c
  36. *** server.old/access.c    Mon May  4 07:03:55 1992
  37. --- server/access.c    Sat Mar  7 11:46:00 1992
  38. ***************
  39. *** 44,50 ****
  40.   
  41.   #ifdef AUTH
  42.   extern    int Needauth;
  43. ! #endif AUTH
  44.   
  45.   host_access(canread, canpost, canxfer, gdlist)
  46.       int        *canread, *canpost, *canxfer;
  47. --- 44,50 ----
  48.   
  49.   #ifdef AUTH
  50.   extern    int Needauth;
  51. ! #endif /* AUTH */
  52.   
  53.   host_access(canread, canpost, canxfer, gdlist)
  54.       int        *canread, *canpost, *canxfer;
  55. ***************
  56. *** 230,236 ****
  57.       /* do we require a userid and password for this guy? */
  58.       if (isupper(readperm[0]) || isupper(postperm[0]))
  59.           Needauth = 1;
  60. ! #endif AUTH
  61.   }
  62.   
  63.   #ifdef DOMAINMATCH
  64. --- 230,236 ----
  65.       /* do we require a userid and password for this guy? */
  66.       if (isupper(readperm[0]) || isupper(postperm[0]))
  67.           Needauth = 1;
  68. ! #endif /* AUTH */
  69.   }
  70.   
  71.   #ifdef DOMAINMATCH
  72. ***************
  73. *** 267,270 ****
  74.   
  75.       return (0);
  76.   }
  77. ! #endif DOMAINMATCH
  78. --- 267,270 ----
  79.   
  80.       return (0);
  81.   }
  82. ! #endif /* DOMAINMATCH */
  83. Files server.old/access_dnet.c and server/access_dnet.c are identical
  84. diff -rcs server.old/access_inet.c server/access_inet.c
  85. *** server.old/access_inet.c    Mon May  4 07:03:55 1992
  86. --- server/access_inet.c    Sat Mar  7 11:46:00 1992
  87. ***************
  88. *** 77,83 ****
  89.       }
  90.   #else
  91.       subnet_name[0] = '\0';
  92. ! #endif SUBNET
  93.   
  94.       hp = gethostbyaddr((char *) &sin->sin_addr.s_addr,
  95.           sizeof (sin->sin_addr.s_addr), AF_INET);
  96. --- 77,83 ----
  97.       }
  98.   #else
  99.       subnet_name[0] = '\0';
  100. ! #endif /* SUBNET */
  101.   
  102.       hp = gethostbyaddr((char *) &sin->sin_addr.s_addr,
  103.           sizeof (sin->sin_addr.s_addr), AF_INET);
  104. Files server.old/active.c and server/active.c are identical
  105. Files server.old/ahbs.c and server/ahbs.c are identical
  106. diff -rcs server.old/auth.c server/auth.c
  107. *** server.old/auth.c    Mon May  4 07:03:55 1992
  108. --- server/auth.c    Sat Mar  7 11:46:00 1992
  109. ***************
  110. *** 149,152 ****
  111.       Needauth = 0;
  112.   }
  113.   
  114. ! #endif AUTH
  115. --- 149,152 ----
  116.       Needauth = 0;
  117.   }
  118.   
  119. ! #endif /* AUTH */
  120. diff -rcs server.old/batch.c server/batch.c
  121. *** server.old/batch.c    Mon May  4 07:03:55 1992
  122. --- server/batch.c    Sat Mar  7 11:46:00 1992
  123. ***************
  124. *** 255,265 ****
  125.   #ifdef SYSLOG
  126.   #ifdef LOG
  127.       syslog(LOG_ERR, "%s transfer_timeout", hostname);
  128. ! #endif LOG
  129.   #endif
  130.       (void) unlink(tempfile);
  131.       exit(1);
  132. ! #endif XFER_TIMEOUT
  133.   }
  134.   
  135.   /*
  136. --- 255,265 ----
  137.   #ifdef SYSLOG
  138.   #ifdef LOG
  139.       syslog(LOG_ERR, "%s transfer_timeout", hostname);
  140. ! #endif /* LOG */
  141.   #endif
  142.       (void) unlink(tempfile);
  143.       exit(1);
  144. ! #endif /* XFER_TIMEOUT */
  145.   }
  146.   
  147.   /*
  148. diff -rcs server.old/common.h server/common.h
  149. *** server.old/common.h    Mon May  4 07:03:55 1992
  150. --- server/common.h    Sun Mar  8 11:26:19 1992
  151. ***************
  152. *** 48,53 ****
  153. --- 48,56 ----
  154.   #endif
  155.   #else /* not NDIR */
  156.   # include <sys/dir.h>
  157. + # ifdef ISC
  158. + #  include <sys/dirent.h>
  159. + # endif
  160.   #endif /* not NDIR */
  161.   
  162.   #ifdef FCNTL
  163. ***************
  164. *** 157,162 ****
  165. --- 160,166 ----
  166.   extern    char    spooldir[];
  167.   extern    char    activefile[];
  168.   extern    char    distributionsfile[];
  169. + extern    char    subscriptionsfile[];
  170.   extern    char    newsgroupsfile[];
  171.   extern    char    accessfile[];
  172.   extern    char    historyfile[];
  173. Only in server: cscope.out
  174. diff -rcs server.old/fakesyslog.c server/fakesyslog.c
  175. *** server.old/fakesyslog.c    Mon May  4 07:03:55 1992
  176. --- server/fakesyslog.c    Sat Mar  7 11:46:00 1992
  177. ***************
  178. *** 138,144 ****
  179.       (void) strcpy(buf, ctime(&clock)+4);
  180.       *(bp = buf + 16) = '\0';
  181.   
  182. !     (void) sprintf(bp, "localhost %s", ident ? ident : "");
  183.       bp += strlen(bp);
  184.   
  185.       if (opt&LOG_PID) {
  186. --- 138,145 ----
  187.       (void) strcpy(buf, ctime(&clock)+4);
  188.       *(bp = buf + 16) = '\0';
  189.   
  190. ! /*    (void) sprintf(bp, "localhost %s", ident ? ident : ""); */
  191. !     (void) sprintf(bp, "local %s", ident ? ident : "");
  192.       bp += strlen(bp);
  193.   
  194.       if (opt&LOG_PID) {
  195. diff -rcs server.old/fakesyslog.h server/fakesyslog.h
  196. *** server.old/fakesyslog.h    Mon May  4 07:03:55 1992
  197. --- server/fakesyslog.h    Thu Feb 20 08:27:03 1992
  198. ***************
  199. *** 62,65 ****
  200.   #define LOG_NDELAY    0
  201.   #define LOG_NOWAIT    0
  202.   
  203. ! #endif FAKESYSLOG
  204. --- 62,65 ----
  205.   #define LOG_NDELAY    0
  206.   #define LOG_NOWAIT    0
  207.   
  208. ! #endif /* FAKESYSLOG */
  209. diff -rcs server.old/globals.c server/globals.c
  210. *** server.old/globals.c    Mon May  4 07:03:56 1992
  211. --- server/globals.c    Sun Mar  8 11:25:47 1992
  212. ***************
  213. *** 16,21 ****
  214. --- 16,22 ----
  215.   char    activefile[] = ACTIVE_FILE;
  216.   char    accessfile[] = ACCESS_FILE;
  217.   char    distributionsfile[] = DISTRIBUTIONS_FILE;
  218. + char    subscriptionsfile[] = SUBSCRIPTIONS_FILE;
  219.   char    newsgroupsfile[] = NEWSGROUPS_FILE;
  220.   char    historyfile[] = HISTORY_FILE;
  221.   #ifdef ACTIVE_TIMES_FILE
  222. ***************
  223. *** 54,60 ****
  224.   #ifdef AUTH
  225.   int    Needauth;    /* 1 if we need to do authorization */
  226.   char    User[10];    /* username for authentication */
  227. ! #endif AUTH
  228.   
  229.   #ifdef LOG
  230.   int    arts_acsd;
  231. --- 55,61 ----
  232.   #ifdef AUTH
  233.   int    Needauth;    /* 1 if we need to do authorization */
  234.   char    User[10];    /* username for authentication */
  235. ! #endif /* AUTH */
  236.   
  237.   #ifdef LOG
  238.   int    arts_acsd;
  239. diff -rcs server.old/group.c server/group.c
  240. *** server.old/group.c    Mon May  4 07:03:56 1992
  241. --- server/group.c    Sat Mar  7 11:46:00 1992
  242. ***************
  243. *** 49,54 ****
  244. --- 49,55 ----
  245.           return;
  246.       }
  247.   
  248.       reqlist[0] = argv[1];
  249.       reqlist[1] = NULL;
  250.   
  251. ***************
  252. *** 70,79 ****
  253.       close_crnt();
  254.       (void) chdir(spooldir);
  255.   
  256. - #ifdef LOG
  257. -     syslog(LOG_INFO, "%s group %s", hostname, argv[1]);
  258. - #endif
  259.       while ((cp = index(argv[1], '.')) != (char *) NULL)
  260.           *cp = '/';
  261.   
  262. --- 71,76 ----
  263. ***************
  264. *** 96,101 ****
  265. --- 93,103 ----
  266.       art_ptr = 0;
  267.   
  268.       ingroup = 1;
  269. +     
  270. + #ifdef LOG    
  271. +     syslog(LOG_INFO, "%s group=%s  high=%d  low=%d  arts=%d",
  272. +          hostname, argv[1], high_msg, low_msg, num_arts);
  273. + #endif
  274.   
  275.       while ((cp = index(argv[1], '/')) != (char *) NULL)
  276.           *cp = '.';
  277. diff -rcs server.old/help.c server/help.c
  278. *** server.old/help.c    Mon May  4 07:03:56 1992
  279. --- server/help.c    Tue Mar 10 08:55:29 1992
  280. ***************
  281. *** 21,28 ****
  282.       printf("NEXT        POST         QUIT\r\n");
  283.       printf("STAT        NEWGROUPS    HELP\r\n");
  284.       printf("IHAVE       NEWNEWS      SLAVE\r\n");
  285. !     printf("\r\nAdditionally, the following extention is supported:\r\n\r\n");
  286.       printf("XHDR        Retrieve a single header line from a range of articles.\r\n");
  287.       printf("\r\n");
  288.       printf("Bugs to Stan Barber (Internet: nntp@tmc.edu; UUCP: ...!bcm!nntp)\r\n");
  289.       printf(".\r\n");
  290. --- 21,38 ----
  291.       printf("NEXT        POST         QUIT\r\n");
  292.       printf("STAT        NEWGROUPS    HELP\r\n");
  293.       printf("IHAVE       NEWNEWS      SLAVE\r\n");
  294. ! #if defined(XHDR) || defined(XUSER) || defined(XINDEX)
  295. !     printf("\r\nAdditionally, the following extentions are supported:\r\n\r\n");
  296. ! #  ifdef XHDR
  297.       printf("XHDR        Retrieve a single header line from a range of articles.\r\n");
  298. + #  endif
  299. + #  ifdef XUSER    
  300. +     printf("XUSER       Log a clients username to nntp logfile.\r\n");
  301. + #  endif    
  302. + #  ifdef XINDEX
  303. +     printf("XINDEX      Retrieve a tin group index file.\r\n");
  304. + #  endif    
  305. + #endif    
  306.       printf("\r\n");
  307.       printf("Bugs to Stan Barber (Internet: nntp@tmc.edu; UUCP: ...!bcm!nntp)\r\n");
  308.       printf(".\r\n");
  309. diff -rcs server.old/ihave.c server/ihave.c
  310. *** server.old/ihave.c    Mon May  4 07:03:56 1992
  311. --- server/ihave.c    Sat Mar  7 11:46:00 1992
  312. ***************
  313. *** 8,14 ****
  314.   int    ih_accepted;
  315.   int    ih_rejected;
  316.   int    ih_failed;
  317. ! #endif LOG
  318.   
  319.   /*
  320.    * IHAVE <messageid>
  321. --- 8,14 ----
  322.   int    ih_accepted;
  323.   int    ih_rejected;
  324.   int    ih_failed;
  325. ! #endif /* LOG */
  326.   
  327.   /*
  328.    * IHAVE <messageid>
  329. ***************
  330. *** 50,57 ****
  331.           ih_rejected++;
  332.   #ifdef IHAVE_DEBUG
  333.           syslog(LOG_DEBUG, "%s ihave %s rejected", hostname, argv[1]);
  334. ! #endif IHAVE_DEBUG
  335. ! #endif LOG
  336.           return;
  337.       }
  338.   
  339. --- 50,57 ----
  340.           ih_rejected++;
  341.   #ifdef IHAVE_DEBUG
  342.           syslog(LOG_DEBUG, "%s ihave %s rejected", hostname, argv[1]);
  343. ! #endif /* IHAVE_DEBUG */
  344. ! #endif /* LOG */
  345.           return;
  346.       }
  347.   
  348. ***************
  349. *** 100,106 ****
  350.   #ifdef IHAVE_DEBUG
  351.       syslog(LOG_DEBUG, "%s ihave %s accepted %s",
  352.           hostname, argv[1], retcode == 1 ? "succeeded" : "failed");
  353. ! #endif IHAVE_DEBUG
  354. ! #endif LOG
  355.   
  356.   }
  357. --- 100,106 ----
  358.   #ifdef IHAVE_DEBUG
  359.       syslog(LOG_DEBUG, "%s ihave %s accepted %s",
  360.           hostname, argv[1], retcode == 1 ? "succeeded" : "failed");
  361. ! #endif /* IHAVE_DEBUG */
  362. ! #endif /* LOG */
  363.   
  364.   }
  365. diff -rcs server.old/list.c server/list.c
  366. *** server.old/list.c    Mon May  4 07:03:56 1992
  367. --- server/list.c    Sun Mar  8 11:24:24 1992
  368. ***************
  369. *** 7,14 ****
  370.   /*
  371.    * LIST
  372.    *
  373. !  * List active newsgroups, newsgroup descriptions, and distributions.
  374.    *
  375.    */
  376.   
  377.   list(argc, argv)
  378. --- 7,17 ----
  379.   /*
  380.    * LIST
  381.    *
  382. !  * List active newsgroups, newsgroup descriptions, distributions
  383. !  * and subscriptions.
  384.    *
  385. +  *
  386. +  *
  387.    */
  388.   
  389.   list(argc, argv)
  390. ***************
  391. *** 45,52 ****
  392.           filename = newsgroupsfile;
  393.           items = "newsgroup descriptions";
  394.           format = "Descriptions in form \"group description\".";
  395.       } else {
  396. !         printf("%d Usage: LIST [ACTIVE|NEWSGROUPS|DISTRIBUTIONS]\r\n",
  397.               ERR_CMDSYN);
  398.           (void) fflush(stdout);
  399.           return;
  400. --- 48,59 ----
  401.           filename = newsgroupsfile;
  402.           items = "newsgroup descriptions";
  403.           format = "Descriptions in form \"group description\".";
  404. +     } else if (argc == 2 && !strcasecmp(argv[1],"subscriptions")){
  405. +         filename = subscriptionsfile;
  406. +         items = "automatic group subscriptions";
  407. +         format = "Subscriptions in form \"group\".";
  408.       } else {
  409. !         printf("%d Usage: LIST [ACTIVE|NEWSGROUPS|DISTRIBUTIONS|SUBSCRIPTIONS]\r\n",
  410.               ERR_CMDSYN);
  411.           (void) fflush(stdout);
  412.           return;
  413. Files server.old/main.c and server/main.c are identical
  414. diff -rcs server.old/misc.c server/misc.c
  415. *** server.old/misc.c    Mon May  4 07:03:56 1992
  416. --- server/misc.c    Sat Mar  7 11:46:00 1992
  417. ***************
  418. *** 90,98 ****
  419.   # ifndef DBM
  420.   #  ifndef USGHIST
  421.   #   define USGHIST
  422. ! #  endif not USGHIST
  423. ! # endif not DBM
  424. ! #endif not DBM
  425.   
  426.   char *
  427.   gethistent(msg_id, lookup)
  428. --- 90,98 ----
  429.   # ifndef DBM
  430.   #  ifndef USGHIST
  431.   #   define USGHIST
  432. ! #  endif /* not USGHIST */
  433. ! # endif /* not DBM */
  434. ! #endif /* not DBM */
  435.   
  436.   char *
  437.   gethistent(msg_id, lookup)
  438. ***************
  439. *** 107,121 ****
  440.   #ifdef USGHIST
  441.       char        *histfile();
  442.       register int    len;
  443. ! #else not USGHIST
  444.   #ifdef DBM
  445.       static int    dbopen = 0;
  446.       datum        fetch();
  447. ! #else not DBM
  448.       static DBM    *db = NULL;    /* History file, dbm version */
  449. ! #endif DBM
  450. !     datum         key, content;
  451. ! #endif USGHIST
  452.       static FILE    *hfp = NULL;    /* history file, text version */
  453.   
  454.   #ifdef CNEWS
  455. --- 107,121 ----
  456.   #ifdef USGHIST
  457.       char        *histfile();
  458.       register int    len;
  459. ! #else /* not USGHIST */
  460.   #ifdef DBM
  461.       static int    dbopen = 0;
  462.       datum        fetch();
  463. ! #else /* not DBM */
  464.       static DBM    *db = NULL;    /* History file, dbm version */
  465. ! #endif /* DBM */
  466. !      datum         key, content;
  467. ! #endif /* USGHIST */
  468.       static FILE    *hfp = NULL;    /* history file, text version */
  469.   
  470.   #ifdef CNEWS
  471. ***************
  472. *** 140,146 ****
  473.       if (hfp == NULL) {
  474.   #ifdef SYSLOG
  475.           syslog(LOG_ERR, "gethistent: histfile: %m");
  476. ! #endif SYSLOG
  477.           return (NULL);
  478.       }
  479.   
  480. --- 140,146 ----
  481.       if (hfp == NULL) {
  482.   #ifdef SYSLOG
  483.           syslog(LOG_ERR, "gethistent: histfile: %m");
  484. ! #endif /* SYSLOG */
  485.           return (NULL);
  486.       }
  487.   
  488. ***************
  489. *** 153,159 ****
  490.           (void) fclose(hfp);
  491.           return (NULL);
  492.       }
  493. ! #else not USGHIST
  494.   #ifdef DBM
  495.       if (!dbopen) {
  496.           if (dbminit(historyfile) < 0) {
  497. --- 153,159 ----
  498.           (void) fclose(hfp);
  499.           return (NULL);
  500.       }
  501. ! #else /* not USGHIST */
  502.   #ifdef DBM
  503.       if (!dbopen) {
  504.           if (dbminit(historyfile) < 0) {
  505. ***************
  506. *** 160,166 ****
  507.   #ifdef SYSLOG
  508.               syslog(LOG_ERR, "openartbyid: dbminit %s: %m",
  509.                   historyfile);
  510. ! #endif SYSLOG
  511.               return (NULL);
  512.           } else
  513.               dbopen = 1;
  514. --- 160,166 ----
  515.   #ifdef SYSLOG
  516.               syslog(LOG_ERR, "openartbyid: dbminit %s: %m",
  517.                   historyfile);
  518. ! #endif /* SYSLOG */
  519.               return (NULL);
  520.           } else
  521.               dbopen = 1;
  522. ***************
  523. *** 172,182 ****
  524.   #ifdef SYSLOG
  525.               syslog(LOG_ERR, "openartbyid: dbm_open %s: %m",
  526.                   historyfile);
  527. ! #endif SYSLOG
  528.               return (NULL);
  529.           }
  530.       }
  531. ! #endif DBM
  532.   
  533.       key.dptr = msg_id;
  534.       key.dsize = strlen(msg_id) + 1;
  535. --- 172,182 ----
  536.   #ifdef SYSLOG
  537.               syslog(LOG_ERR, "openartbyid: dbm_open %s: %m",
  538.                   historyfile);
  539. ! #endif /* SYSLOG */
  540.               return (NULL);
  541.           }
  542.       }
  543. ! #endif /* DBM */
  544.   
  545.       key.dptr = msg_id;
  546.       key.dsize = strlen(msg_id) + 1;
  547. ***************
  548. *** 185,191 ****
  549.       content = fetch(key);
  550.   #else    /* ndbm */
  551.       content = dbm_fetch(db, key);
  552. ! #endif DBM
  553.       if (content.dptr == NULL)
  554.           return (NULL);
  555.   
  556. --- 185,191 ----
  557.       content = fetch(key);
  558.   #else    /* ndbm */
  559.       content = dbm_fetch(db, key);
  560. ! #endif /* DBM */
  561.       if (content.dptr == NULL)
  562.           return (NULL);
  563.   
  564. ***************
  565. *** 202,208 ****
  566.   #ifdef SYSLOG
  567.               syslog(LOG_ERR, "message: fopen %s: %m",
  568.                   historyfile);
  569. ! #endif SYSLOG
  570.               return (NULL);
  571.           }
  572.       } else {
  573. --- 202,208 ----
  574.   #ifdef SYSLOG
  575.               syslog(LOG_ERR, "message: fopen %s: %m",
  576.                   historyfile);
  577. ! #endif /* SYSLOG */
  578.               return (NULL);
  579.           }
  580.       } else {
  581. ***************
  582. *** 215,226 ****
  583.   #ifdef SYSLOG
  584.           syslog(LOG_ERR, "message: %s: fseek to %ld on %d: %m", 
  585.                  historyfile, ltmp, hfp);
  586. ! #endif SYSLOG
  587.           return (NULL);
  588.       }
  589.   
  590.       (void) fgets(line, sizeof(line), hfp);
  591. ! #endif USGHIST
  592.   
  593.       if ((cp = index(line, '\n')) != NULL)
  594.           *cp = '\0';
  595. --- 215,226 ----
  596.   #ifdef SYSLOG
  597.           syslog(LOG_ERR, "message: %s: fseek to %ld on %d: %m", 
  598.                  historyfile, ltmp, hfp);
  599. ! #endif /* SYSLOG */
  600.           return (NULL);
  601.       }
  602.   
  603.       (void) fgets(line, sizeof(line), hfp);
  604. ! #endif /* USGHIST */
  605.   
  606.       if ((cp = index(line, '\n')) != NULL)
  607.           *cp = '\0';
  608. ***************
  609. *** 232,238 ****
  610.           syslog(LOG_ERR,
  611.           "message: malformed line in history file at %ld bytes, id %s",
  612.               ltmp, msg_id);
  613. ! #endif SYSLOG
  614.       if (cp == NULL) return(NULL); /* this article has expired */
  615.       tmp = cp+1;
  616.   
  617. --- 232,238 ----
  618.           syslog(LOG_ERR,
  619.           "message: malformed line in history file at %ld bytes, id %s",
  620.               ltmp, msg_id);
  621. ! #endif /* SYSLOG */
  622.       if (cp == NULL) return(NULL); /* this article has expired */
  623.       tmp = cp+1;
  624.   
  625. ***************
  626. *** 613,619 ****
  627.           chr = '0';
  628.       return chr;
  629.   }
  630. ! #endif USGHIST
  631.   #ifdef USG
  632.   #ifndef GAZETTE
  633.   bcopy(s, d, l)
  634. --- 613,619 ----
  635.           chr = '0';
  636.       return chr;
  637.   }
  638. ! #endif /* USGHIST */
  639.   #ifdef USG
  640.   #ifndef GAZETTE
  641.   bcopy(s, d, l)
  642. ***************
  643. *** 775,781 ****
  644.   #define blkavail(fs)    ((fs).f_tfree)
  645.                   /* USG doesn't reserve blocks for root */
  646.   #define filfree(fs)    ((fs).f_tinode)    
  647. ! #endif USG
  648.   
  649.   #ifdef CMU_MACH
  650.   /* This code supplied by Tom Lane <tgl@cs.cmu.edu> */
  651. --- 775,781 ----
  652.   #define blkavail(fs)    ((fs).f_tfree)
  653.                   /* USG doesn't reserve blocks for root */
  654.   #define filfree(fs)    ((fs).f_tinode)    
  655. ! #endif /* USG */
  656.   
  657.   #ifdef CMU_MACH
  658.   /* This code supplied by Tom Lane <tgl@cs.cmu.edu> */
  659. ***************
  660. *** 799,805 ****
  661.   #define bombed(call)    ((call) < 0)
  662.   #define blkfree(fs)    ((fs).fsp_free-((fs).fsp_size*(fs).fsp_minfree+99)/100)
  663.   #define blkavail(fs)    (-1)
  664. ! #endif MACH
  665.   
  666.   dfree(spool,free_space)
  667.   char *spool;
  668. --- 799,805 ----
  669.   #define bombed(call)    ((call) < 0)
  670.   #define blkfree(fs)    ((fs).fsp_free-((fs).fsp_size*(fs).fsp_minfree+99)/100)
  671.   #define blkavail(fs)    (-1)
  672. ! #endif /* MACH */
  673.   
  674.   dfree(spool,free_space)
  675.   char *spool;
  676. ***************
  677. *** 825,831 ****
  678.       return( DFREE_OK );
  679.   }
  680.   
  681. ! #else READ_SUPER
  682.   /*
  683.    * This code is used if you've got to directly read the superblock
  684.    * to determine how much space you've got left.  It's copied from
  685. --- 825,831 ----
  686.       return( DFREE_OK );
  687.   }
  688.   
  689. ! #else /* READ_SUPER */
  690.   /*
  691.    * This code is used if you've got to directly read the superblock
  692.    * to determine how much space you've got left.  It's copied from
  693. ***************
  694. *** 919,925 ****
  695.      return( DFREE_OK );
  696.   }
  697.   
  698. ! #endif READ_SUPER
  699.   
  700.   #ifdef LOAD
  701.   /*
  702. --- 919,925 ----
  703.      return( DFREE_OK );
  704.   }
  705.   
  706. ! #endif /* READ_SUPER */
  707.   
  708.   #ifdef LOAD
  709.   /*
  710. ***************
  711. *** 987,990 ****
  712.   # endif
  713.   }
  714.   #endif
  715. ! #endif LOAD
  716. --- 987,990 ----
  717.   # endif
  718.   }
  719.   #endif
  720. ! #endif /* LOAD */
  721. diff -rcs server.old/netaux.c server/netaux.c
  722. *** server.old/netaux.c    Mon May  4 07:03:56 1992
  723. --- server/netaux.c    Sat Mar  7 11:46:00 1992
  724. ***************
  725. *** 12,25 ****
  726.   #include <netinet/in.h>
  727.   #ifndef EXCELAN
  728.   #include <netdb.h>
  729. ! #endif not EXCELAN
  730.   #include <sys/ioctl.h>
  731.   #include <signal.h>
  732.   #ifdef USG
  733.   #include <time.h>
  734. ! #else not USG
  735.   #include <sys/time.h>
  736. ! #endif USG
  737.   
  738.   #ifdef ALONE
  739.   
  740. --- 12,25 ----
  741.   #include <netinet/in.h>
  742.   #ifndef EXCELAN
  743.   #include <netdb.h>
  744. ! #endif /* not EXCELAN */
  745.   #include <sys/ioctl.h>
  746.   #include <signal.h>
  747.   #ifdef USG
  748.   #include <time.h>
  749. ! #else /* not USG */
  750.   #include <sys/time.h>
  751. ! #endif /* USG */
  752.   
  753.   #ifdef ALONE
  754.   
  755. ***************
  756. *** 211,217 ****
  757.       if (setitimer(ITIMER_REAL, &new, &old) < 0) {
  758.   #ifdef SYSLOG
  759.           syslog(LOG_ERR, "set_timer: setitimer: %m\n");
  760. ! #endif SYSLOG
  761.           exit(1);
  762.       }
  763.   #endif /* not USG */
  764. --- 211,217 ----
  765.       if (setitimer(ITIMER_REAL, &new, &old) < 0) {
  766.   #ifdef SYSLOG
  767.           syslog(LOG_ERR, "set_timer: setitimer: %m\n");
  768. ! #endif /* SYSLOG */
  769.           exit(1);
  770.       }
  771.   #endif /* not USG */
  772. Files server.old/newgroups.c and server/newgroups.c are identical
  773. diff -rcs server.old/newnews.c server/newnews.c
  774. *** server.old/newnews.c    Mon May  4 07:03:57 1992
  775. --- server/newnews.c    Sat Mar  7 11:49:07 1992
  776. ***************
  777. *** 39,45 ****
  778.       FILE        *tmplst;
  779.       int        i;
  780.       char        *tmpfile;
  781. ! #endif USGHIST
  782.   
  783.       if (argc < 4) {
  784.           printf("%d Usage: NEWNEWS newsgroups yymmdd hhmmss [\"GMT\"] [<distributions>].\r\n",
  785. --- 39,45 ----
  786.       FILE        *tmplst;
  787.       int        i;
  788.       char        *tmpfile;
  789. ! #endif /* USGHIST */
  790.   
  791.       if (argc < 4) {
  792.           printf("%d Usage: NEWNEWS newsgroups yymmdd hhmmss [\"GMT\"] [<distributions>].\r\n",
  793. ***************
  794. *** 131,137 ****
  795.   
  796.       for (i = 0; i < 9; i++) {
  797.           sprintf(historyfile, "%s.d/%d", HISTORY_FILE, i);
  798. ! #endif USGHIST
  799.   
  800.       fp = fopen(historyfile, "r");
  801.       if (fp == NULL) {
  802. --- 131,137 ----
  803.   
  804.       for (i = 0; i < 9; i++) {
  805.           sprintf(historyfile, "%s.d/%d", HISTORY_FILE, i);
  806. ! #endif /* USGHIST */
  807.   
  808.       fp = fopen(historyfile, "r");
  809.       if (fp == NULL) {
  810. ***************
  811. *** 142,167 ****
  812.           printf("%d Cannot open history file.\r\n", ERR_FAULT);
  813.           (void) fflush(stdout);
  814.           return;
  815. ! #else USGHIST
  816.           continue;
  817. ! #endif USGHIST
  818.       }
  819.   
  820.   #ifndef USGHIST
  821.       printf("%d New news by message id follows\r\n", OK_NEWNEWS);
  822. ! #endif not USGHIST
  823.   
  824.       if (seekuntil(fp, key, line, sizeof (line)) < 0) {
  825.   #ifndef USGHIST
  826.           printf(".\r\n");
  827.           (void) fflush(stdout);
  828. ! #endif not USGHIST
  829.           (void) fclose(fp);
  830.   #ifndef USGHIST
  831.           return;
  832. ! #else USGHIST
  833.           continue;
  834. ! #endif USGHIST
  835.       }
  836.   
  837.   /*
  838. --- 142,167 ----
  839.           printf("%d Cannot open history file.\r\n", ERR_FAULT);
  840.           (void) fflush(stdout);
  841.           return;
  842. ! #else /* USGHIST */
  843.           continue;
  844. ! #endif /* USGHIST */
  845.       }
  846.   
  847.   #ifndef USGHIST
  848.       printf("%d New news by message id follows\r\n", OK_NEWNEWS);
  849. ! #endif /* not USGHIST */
  850.   
  851.       if (seekuntil(fp, key, line, sizeof (line)) < 0) {
  852.   #ifndef USGHIST
  853.           printf(".\r\n");
  854.           (void) fflush(stdout);
  855. ! #endif /* not USGHIST */
  856.           (void) fclose(fp);
  857.   #ifndef USGHIST
  858.           return;
  859. ! #else /* USGHIST */
  860.           continue;
  861. ! #endif /* USGHIST */
  862.       }
  863.   
  864.   /*
  865. ***************
  866. *** 208,216 ****
  867.   #ifdef USGHIST
  868.           fputs(line, tmplst);
  869.           fputc('\n', tmplst);
  870. ! #else not USGHIST
  871.           putline(line);
  872. ! #endif not USGHIST
  873.   #ifdef LOG
  874.           nn_told++;
  875.   #endif
  876. --- 208,216 ----
  877.   #ifdef USGHIST
  878.           fputs(line, tmplst);
  879.           fputc('\n', tmplst);
  880. ! #else /* not USGHIST */
  881.           putline(line);
  882. ! #endif /* not USGHIST */
  883.   #ifdef LOG
  884.           nn_told++;
  885.   #endif
  886. ***************
  887. *** 235,241 ****
  888.       (void) fflush(stdout);
  889.       (void) fclose(tmplst);
  890.       (void) unlink(tmpfile);
  891. ! #endif USGHIST
  892.   }
  893.   
  894.   
  895. --- 235,241 ----
  896.       (void) fflush(stdout);
  897.       (void) fclose(tmplst);
  898.       (void) unlink(tmpfile);
  899. ! #endif /* USGHIST */
  900.   }
  901.   
  902.   
  903. Files server.old/nextlast.c and server/nextlast.c are identical
  904. Files server.old/ngmatch.c and server/ngmatch.c are identical
  905. Files server.old/parsit.c and server/parsit.c are identical
  906. Files server.old/post.c and server/post.c are identical
  907. Files server.old/profile.c and server/profile.c are identical
  908. diff -rcs server.old/scandir.c server/scandir.c
  909. *** server.old/scandir.c    Mon May  4 07:03:57 1992
  910. --- server/scandir.c    Sat Mar  7 11:46:00 1992
  911. ***************
  912. *** 4,9 ****
  913. --- 4,13 ----
  914.   
  915.   #include "common.h"
  916.   
  917. + #ifdef ISC
  918. + #    include <dirent.h>
  919. + #endif
  920.   /*
  921.    * scan_dir -- scan the current directory for news articles,
  922.    *    loading the article numbers into art_array.  Return
  923. ***************
  924. *** 26,32 ****
  925. --- 30,40 ----
  926.   scan_dir(low_msg, high_msg)
  927.   int    low_msg, high_msg;
  928.   {
  929. + #ifdef ISC
  930. +     register struct dirent    *dirent;
  931. + #else
  932.       register struct direct    *dirent;
  933. + #endif
  934.       register DIR        *dirp;
  935.       int            artnum;
  936.   
  937. ***************
  938. *** 34,43 ****
  939.   
  940.       dirp = opendir(".");
  941.   
  942. !     if (dirp == NULL)
  943.           return (0);
  944.   
  945.       while ((dirent = readdir(dirp)) != NULL) {
  946.           artnum = atoi(dirent->d_name);
  947.   #ifdef DYNAMIC_ART_ARRAY
  948.           if (artnum == 0 || artnum < low_msg || artnum > high_msg)
  949. --- 42,73 ----
  950.   
  951.       dirp = opendir(".");
  952.   
  953. !     if (dirp == NULL) {
  954. ! #ifdef LOG
  955. !         syslog(LOG_ERR, "scan_dir(): opendir() failed. Returning num_arts=0");
  956. ! #endif
  957.           return (0);
  958. +     }
  959.   
  960.       while ((dirent = readdir(dirp)) != NULL) {
  961. + #ifdef LOG
  962. + /*
  963. + {
  964. +         char pwd[256];
  965. +     
  966. +         getcwd (pwd, 255);
  967. + #ifdef ISC
  968. +         syslog(LOG_INFO, "%s: d->d_name=%s  d->d_ino=%d  d->d_reclen=%d",
  969. +             pwd, dirent->d_name, dirent->d_ino, dirent->d_reclen);
  970. + #else        
  971. +         syslog(LOG_INFO, "%s: d->d_name=%s  d->d_ino=%d",
  972. +             pwd, dirent->d_name, dirent->d_ino);
  973. + #endif
  974. + }
  975. + */            
  976. + #endif
  977. +     
  978.           artnum = atoi(dirent->d_name);
  979.   #ifdef DYNAMIC_ART_ARRAY
  980.           if (artnum == 0 || artnum < low_msg || artnum > high_msg)
  981. ***************
  982. *** 70,75 ****
  983. --- 100,110 ----
  984.           }
  985.           art_array[num_arts] = artnum;
  986.            ++num_arts;
  987. + #ifdef LOG
  988. +         syslog(LOG_INFO, "scan_dir(): artnum=%d  num_arts=%d", artnum, num_arts);
  989. + #endif
  990.   #else
  991.           if (artnum != 0 && artnum >= low_msg && artnum <= high_msg)
  992.               art_array[num_arts++] = artnum;
  993. diff -rcs server.old/serve.c server/serve.c
  994. *** server.old/serve.c    Mon May  4 07:03:57 1992
  995. --- server/serve.c    Tue Mar 10 09:32:32 1992
  996. ***************
  997. *** 17,23 ****
  998.   #ifdef LOG
  999.   # ifndef USG
  1000.   #  include <sys/resource.h>
  1001. ! # endif not USG
  1002.   #endif
  1003.   
  1004.   #ifdef TIMERS
  1005. --- 17,23 ----
  1006.   #ifdef LOG
  1007.   # ifndef USG
  1008.   #  include <sys/resource.h>
  1009. ! # endif /* not USG */
  1010.   #endif
  1011.   
  1012.   #ifdef TIMERS
  1013. ***************
  1014. *** 27,38 ****
  1015.   extern    int    ahbs(), group(), help(), ihave();
  1016.   extern    int    list(), newgroups(), newnews(), nextlast(), post();
  1017.   extern    int    slave(), stat(), xhdr();
  1018.   
  1019.   extern int errno;
  1020.   
  1021.   #ifdef AUTH
  1022.   extern    int    doauth();
  1023. ! #endif AUTH
  1024.   
  1025.   static struct cmdent {
  1026.       char    *cmd_name;
  1027. --- 27,44 ----
  1028.   extern    int    ahbs(), group(), help(), ihave();
  1029.   extern    int    list(), newgroups(), newnews(), nextlast(), post();
  1030.   extern    int    slave(), stat(), xhdr();
  1031. + #ifdef XUSER
  1032. + extern    int    xuser();
  1033. + #endif
  1034. + #ifdef XINDEX
  1035. + extern    int    xindex();
  1036. + #endif
  1037.   
  1038.   extern int errno;
  1039.   
  1040.   #ifdef AUTH
  1041.   extern    int    doauth();
  1042. ! #endif /* AUTH */
  1043.   
  1044.   static struct cmdent {
  1045.       char    *cmd_name;
  1046. ***************
  1047. *** 43,49 ****
  1048.       "authcap",    0,    doauth,
  1049.       "authinfo",    0,    doauth,
  1050.       "authsys",    0,    doauth,
  1051. ! #endif AUTH
  1052.       "article",    0,    ahbs,
  1053.       "body",        0,    ahbs,
  1054.       "group",    0,    group,
  1055. --- 49,55 ----
  1056.       "authcap",    0,    doauth,
  1057.       "authinfo",    0,    doauth,
  1058.       "authsys",    0,    doauth,
  1059. ! #endif /* AUTH */
  1060.       "article",    0,    ahbs,
  1061.       "body",        0,    ahbs,
  1062.       "group",    0,    group,
  1063. ***************
  1064. *** 60,66 ****
  1065.       "stat",        0,    ahbs,
  1066.   #ifdef XHDR
  1067.       "xhdr",        0,    xhdr,
  1068. ! #endif XHDR
  1069.   };
  1070.   #define NUMCMDS (sizeof(cmdtbl) / sizeof(struct cmdent))
  1071.   
  1072. --- 66,78 ----
  1073.       "stat",        0,    ahbs,
  1074.   #ifdef XHDR
  1075.       "xhdr",        0,    xhdr,
  1076. ! #endif /* XHDR */
  1077. ! #ifdef XUSER
  1078. !     "xuser",    0,    xuser,
  1079. ! #endif /* XUSER */
  1080. ! #ifdef XINDEX
  1081. !     "xindex",    0,    xindex,
  1082. ! #endif /* XINDEX */
  1083.   };
  1084.   #define NUMCMDS (sizeof(cmdtbl) / sizeof(struct cmdent))
  1085.   
  1086. ***************
  1087. *** 98,104 ****
  1088.   #ifdef AUTH
  1089.   extern int    Needauth;
  1090.   extern char    User[];
  1091. ! #endif AUTH
  1092.   
  1093.   /*
  1094.    * serve -- given a connection on stdin/stdout, serve
  1095. --- 110,116 ----
  1096.   #ifdef AUTH
  1097.   extern int    Needauth;
  1098.   extern char    User[];
  1099. ! #endif /* AUTH */
  1100.   
  1101.   /*
  1102.    * serve -- given a connection on stdin/stdout, serve
  1103. ***************
  1104. *** 152,158 ****
  1105.   #ifdef ALONE
  1106.   #ifndef USG
  1107.       (void) signal(SIGCHLD, SIG_IGN);
  1108. ! #endif not USG
  1109.   #endif
  1110.   
  1111.       /* Ignore SIGPIPE, since we'll see closed connections with read */
  1112. --- 164,170 ----
  1113.   #ifdef ALONE
  1114.   #ifndef USG
  1115.       (void) signal(SIGCHLD, SIG_IGN);
  1116. ! #endif /* not USG */
  1117.   #endif
  1118.   
  1119.       /* Ignore SIGPIPE, since we'll see closed connections with read */
  1120. ***************
  1121. *** 163,169 ****
  1122.   #ifdef AUTH
  1123.       Needauth = 1;
  1124.       strcpy(User,"");
  1125. ! #endif AUTH
  1126.       host_access(&canread, &canpost, &canxfer, gdbuf);
  1127.   
  1128.       if (gethostname(host, sizeof(host)) < 0)
  1129. --- 175,181 ----
  1130.   #ifdef AUTH
  1131.       Needauth = 1;
  1132.       strcpy(User,"");
  1133. ! #endif /* AUTH */
  1134.       host_access(&canread, &canpost, &canxfer, gdbuf);
  1135.   
  1136.       if (gethostname(host, sizeof(host)) < 0)
  1137. ***************
  1138. *** 302,308 ****
  1139.                   (void) fflush(stdout);
  1140.                   continue;
  1141.                   }
  1142. ! #endif AUTH
  1143.               (*cmdtbl[i].cmd_fctn)(argnum, argp);
  1144.           } else {
  1145.   #ifdef SYSLOG
  1146. --- 314,320 ----
  1147.                   (void) fflush(stdout);
  1148.                   continue;
  1149.                   }
  1150. ! #endif /* AUTH */
  1151.               (*cmdtbl[i].cmd_fctn)(argnum, argp);
  1152.           } else {
  1153.   #ifdef SYSLOG
  1154. ***************
  1155. *** 490,493 ****
  1156.           user, sys, Tfinish - Tstart);
  1157.       syslog(LOG_INFO, "%s times %s", hostname, buf);
  1158.   }
  1159. ! #endif LOG
  1160. --- 502,505 ----
  1161.           user, sys, Tfinish - Tstart);
  1162.       syslog(LOG_INFO, "%s times %s", hostname, buf);
  1163.   }
  1164. ! #endif /* LOG */
  1165. Files server.old/slave.c and server/slave.c are identical
  1166. diff -rcs server.old/spawn.c server/spawn.c
  1167. *** server.old/spawn.c    Mon May  4 07:03:58 1992
  1168. --- server/spawn.c    Sat Mar  7 11:46:00 1992
  1169. ***************
  1170. *** 65,73 ****
  1171.   #endif
  1172.   #ifdef USG
  1173.       int        status;
  1174. ! #else not USG
  1175.       union wait    status;
  1176. ! #endif not USG
  1177.       register FILE    *fp;
  1178.   
  1179.   #ifdef CNEWS
  1180. --- 65,73 ----
  1181.   #endif
  1182.   #ifdef USG
  1183.       int        status;
  1184. ! #else /* not USG */
  1185.       union wait    status;
  1186. ! #endif /* not USG */
  1187.       register FILE    *fp;
  1188.   
  1189.   #ifdef CNEWS
  1190. ***************
  1191. *** 91,97 ****
  1192.       */
  1193.       if (cont_code == CONT_POST)
  1194.           fprintf(fp, "Nntp-Posting-Host: %s\n", hostname);
  1195. ! #endif AUTH
  1196.   
  1197.       printf("%d Ok\r\n", cont_code);
  1198.       (void) fflush(stdout);
  1199. --- 91,97 ----
  1200.       */
  1201.       if (cont_code == CONT_POST)
  1202.           fprintf(fp, "Nntp-Posting-Host: %s\n", hostname);
  1203. ! #endif /* AUTH */
  1204.   
  1205.       printf("%d Ok\r\n", cont_code);
  1206.       (void) fflush(stdout);
  1207. ***************
  1208. *** 332,338 ****
  1209.   
  1210.   #ifdef LOG
  1211.       syslog(LOG_ERR, "%s transfer_timeout", hostname);
  1212. ! #endif LOG
  1213.   
  1214.       (void) unlink(tempfile);
  1215.   
  1216. --- 332,338 ----
  1217.   
  1218.   #ifdef LOG
  1219.       syslog(LOG_ERR, "%s transfer_timeout", hostname);
  1220. ! #endif /* LOG */
  1221.   
  1222.       (void) unlink(tempfile);
  1223.   
  1224. ***************
  1225. *** 339,343 ****
  1226.       exit(1);
  1227.   }
  1228.   
  1229. ! #endif XFER_TIMEOUT
  1230.   
  1231. --- 339,343 ----
  1232.       exit(1);
  1233.   }
  1234.   
  1235. ! #endif /* XFER_TIMEOUT */
  1236.   
  1237. Files server.old/strcasecmp.c and server/strcasecmp.c are identical
  1238. diff -rcs server.old/subnet.c server/subnet.c
  1239. *** server.old/subnet.c    Mon May  4 07:03:58 1992
  1240. --- server/subnet.c    Sat Mar  7 11:46:00 1992
  1241. ***************
  1242. *** 1,5 ****
  1243.   #ifndef lint
  1244. ! static    char    *sccsid = "@(#)$Header: subnet.c,v 1.8 90/12/12 02:21:38 sob Exp $";
  1245.   #endif
  1246.   
  1247.   #include "../common/conf.h"
  1248. --- 1,5 ----
  1249.   #ifndef lint
  1250. ! static    char    *sccsid = "@(#)$Header: subnet.c,v 1.9 91/03/19 03:02:30 sob Exp $";
  1251.   #endif
  1252.   
  1253.   #include "../common/conf.h"
  1254. ***************
  1255. *** 7,19 ****
  1256.   #ifdef SUBNET
  1257.   
  1258.   #include <sys/types.h>
  1259.   #include <sys/socket.h>
  1260.   #include <netinet/in.h>
  1261.   #ifndef NETMASK
  1262.   #include <net/if.h>
  1263.   #endif
  1264.   #include <sys/ioctl.h>
  1265.   /*
  1266.    * The following routines provide a general interface for
  1267.    * subnet support.  Like the library function "inet_netof",
  1268. --- 7,26 ----
  1269.   #ifdef SUBNET
  1270.   
  1271.   #include <sys/types.h>
  1272. + #ifdef LAI_TCP
  1273. + #include <sys/bsdtypes.h>
  1274. + #include <sys/stream.h>
  1275. + #endif
  1276.   #include <sys/socket.h>
  1277.   #include <netinet/in.h>
  1278.   #ifndef NETMASK
  1279.   #include <net/if.h>
  1280.   #endif
  1281. + #ifdef LAI_TCP
  1282. + #include <sys/sioctl.h>
  1283. + #else
  1284.   #include <sys/ioctl.h>
  1285. ! #endif
  1286.   /*
  1287.    * The following routines provide a general interface for
  1288.    * subnet support.  Like the library function "inet_netof",
  1289. diff -rcs server.old/time.c server/time.c
  1290. *** server.old/time.c    Mon May  4 07:03:58 1992
  1291. --- server/time.c    Sat Mar  7 11:46:00 1992
  1292. ***************
  1293. *** 10,18 ****
  1294.   #include "common.h"
  1295.   #ifdef USG
  1296.   #include <time.h>
  1297. ! #else not USG
  1298.   #include <sys/time.h>
  1299. ! #endif not USG
  1300.   
  1301.   /*
  1302.    * dtol -- convert date to long integer.  This is not implicitly
  1303. --- 10,18 ----
  1304.   #include "common.h"
  1305.   #ifdef USG
  1306.   #include <time.h>
  1307. ! #else /* not USG */
  1308.   #include <sys/time.h>
  1309. ! #endif /* not USG */
  1310.   
  1311.   /*
  1312.    * dtol -- convert date to long integer.  This is not implicitly
  1313. Files server.old/time.h and server/time.h are identical
  1314. diff -rcs server.old/timer.c server/timer.c
  1315. *** server.old/timer.c    Mon May  4 07:03:58 1992
  1316. --- server/timer.c    Sat Mar  7 11:46:00 1992
  1317. ***************
  1318. *** 6,17 ****
  1319.   #ifdef TIMERS
  1320.   #ifndef lint
  1321.   static char rcsid[] =
  1322. !     "@(#) $Header: timer.c,v 1.2 90/12/27 22:16:27 sob Exp $ (NNTP with TIMERS)";
  1323.   #endif
  1324.   #else
  1325.   #ifndef lint
  1326.   static char rcsid[] =
  1327. !     "@(#) $Header: timer.c,v 1.2 90/12/27 22:16:27 sob Exp $ (NNTP without TIMERS)";
  1328.   #endif
  1329.   #endif
  1330.   
  1331. --- 6,17 ----
  1332.   #ifdef TIMERS
  1333.   #ifndef lint
  1334.   static char rcsid[] =
  1335. !     "@(#) $Header: timer.c,v 1.3 91/03/19 03:02:41 sob Exp $ (NNTP with TIMERS)";
  1336.   #endif
  1337.   #else
  1338.   #ifndef lint
  1339.   static char rcsid[] =
  1340. !     "@(#) $Header: timer.c,v 1.3 91/03/19 03:02:41 sob Exp $ (NNTP without TIMERS)";
  1341.   #endif
  1342.   #endif
  1343.   
  1344. ***************
  1345. *** 18,24 ****
  1346.   #ifdef TIMERS
  1347.   #include <sys/time.h>
  1348.   #include "timer.h"
  1349. ! #ifndef USG
  1350.   #ifndef FD_SETSIZE
  1351.   /* Forward compatability */
  1352.   #define FD_SET(n, p)    ((p)->fds_bits[0] |= (1<<(n)))
  1353. --- 18,29 ----
  1354.   #ifdef TIMERS
  1355.   #include <sys/time.h>
  1356.   #include "timer.h"
  1357. ! #ifdef USG
  1358. ! #ifdef LAI_TCP
  1359. ! #include <sys/bsdtypes.h>
  1360. ! #define BSDSELECT
  1361. ! #endif
  1362. ! #else
  1363.   #ifndef FD_SETSIZE
  1364.   /* Forward compatability */
  1365.   #define FD_SET(n, p)    ((p)->fds_bits[0] |= (1<<(n)))
  1366. ***************
  1367. *** 25,30 ****
  1368. --- 30,36 ----
  1369.   #define FD_CLR(n, p)    ((p)->fds_bits[0] &= ~(1<<(n)))
  1370.   #define FD_ISSET(n, p)  ((p)->fds_bits[0] & (1<<(n)))
  1371.   #define FD_ZERO(p)      ((p)->fds_bits[0] = 0)
  1372. + #define BSDSELECT
  1373.   #endif
  1374.   #endif
  1375.   /* non-portable */
  1376. ***************
  1377. *** 69,75 ****
  1378.       register int i, n;
  1379.       register struct timer *tp;
  1380.       register long secs;
  1381. ! #ifdef USG
  1382.       long timeout;
  1383.       long readfds;
  1384.   #else
  1385. --- 75,81 ----
  1386.       register int i, n;
  1387.       register struct timer *tp;
  1388.       register long secs;
  1389. ! #ifndef BSDSELECT
  1390.       long timeout;
  1391.       long readfds;
  1392.   #else
  1393. ***************
  1394. *** 83,89 ****
  1395.           return(1);
  1396.   
  1397.       /* Length of next timeout is minimum of all "timers" */
  1398. ! #ifdef USG
  1399.       timeout = -1;
  1400.       for (i = ntimer, tp = timers; i > 0; --i, ++tp)
  1401.           if (tp->left >= 0 &&
  1402. --- 89,95 ----
  1403.           return(1);
  1404.   
  1405.       /* Length of next timeout is minimum of all "timers" */
  1406. ! #ifndef BSDSELECT
  1407.       timeout = -1;
  1408.       for (i = ntimer, tp = timers; i > 0; --i, ++tp)
  1409.           if (tp->left >= 0 &&
  1410. ***************
  1411. *** 114,122 ****
  1412.       /* Do select */
  1413.       FD_ZERO(&readfds);
  1414.       FD_SET(fileno(stdin), &readfds);
  1415. ! #endif /* !USG */
  1416.       errno = 0;
  1417. ! #ifdef EXCELAN
  1418.       n = select(fileno(stdin) + 1, &readfds, (long*)0, timeout);
  1419.   #else
  1420.       n = select(fileno(stdin) + 1,
  1421. --- 120,128 ----
  1422.       /* Do select */
  1423.       FD_ZERO(&readfds);
  1424.       FD_SET(fileno(stdin), &readfds);
  1425. ! #endif /* BSDSELECT */
  1426.       errno = 0;
  1427. ! #if defined(EXCELAN) || defined(ULTRIX)
  1428.       n = select(fileno(stdin) + 1, &readfds, (long*)0, timeout);
  1429.   #else
  1430.       n = select(fileno(stdin) + 1,
  1431. Files server.old/timer.h and server/timer.h are identical
  1432. diff -rcs server.old/xhdr.c server/xhdr.c
  1433. *** server.old/xhdr.c    Mon May  4 07:03:58 1992
  1434. --- server/xhdr.c    Sat Mar  7 11:46:00 1992
  1435. ***************
  1436. *** 158,164 ****
  1437.       }
  1438.   }
  1439.   
  1440. ! #else not XHDR
  1441.   
  1442.   /* Kludge to get around Greenhills C compiler */
  1443.   
  1444. --- 158,164 ----
  1445.       }
  1446.   }
  1447.   
  1448. ! #else /* not XHDR */
  1449.   
  1450.   /* Kludge to get around Greenhills C compiler */
  1451.   
  1452. ***************
  1453. *** 166,169 ****
  1454.   {
  1455.   }
  1456.   
  1457. ! #endif not XHDR
  1458. --- 166,169 ----
  1459.   {
  1460.   }
  1461.   
  1462. ! #endif /* not XHDR */
  1463. Only in server: xindex.c
  1464. Only in server: xuser.c
  1465.