home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / bootpd-2.zip / PATCHES.OS2 < prev    next >
Text File  |  1995-09-04  |  16KB  |  572 lines

  1. diff -cb orig/bootpd.c new/bootpd.c
  2. *** orig/bootpd.c    Mon Sep 04 00:09:58 1995
  3. --- new/bootpd.c    Mon Sep 04 00:42:46 1995
  4. ***************
  5. *** 216,221 ****
  6. --- 216,232 ----
  7.       struct sigaction sa;
  8.   #endif
  9.   
  10. + #ifdef __EMX__
  11. +     static char bootptab_file[256];
  12. +     char *etc = getenv("ETC");
  13. +     if (etc != NULL)
  14. +     {
  15. +       strcpy(bootptab_file, etc);
  16. +       strcat(bootptab_file, "\\bootptab");
  17. +       bootptab = bootptab_file;
  18. +     }
  19. + #endif
  20.       progname = strrchr(argv[0], '/');
  21.       if (progname) progname++;
  22.       else progname = argv[0];
  23. ***************
  24. *** 253,258 ****
  25. --- 264,270 ----
  26.       bzero((char *) &bind_addr, ba_len);
  27.       errno = 0;
  28.       standalone = TRUE;
  29. + #ifndef __EMX__
  30.       if (getsockname(s, (struct sockaddr *) &bind_addr, &ba_len) == 0) {
  31.           /*
  32.            * Descriptor 0 is a socket.  Assume we are a child of inetd.
  33. ***************
  34. *** 265,270 ****
  35. --- 277,283 ----
  36.               report(LOG_ERR, "getsockname: not an INET socket");
  37.           }
  38.       }
  39. + #endif
  40.   
  41.       /*
  42.        * Set defaults that might be changed by option switches.
  43. ***************
  44. *** 341,346 ****
  45. --- 354,360 ----
  46.               hostname = stmp;
  47.               break;
  48.   
  49. + #ifndef __EMX__
  50.           case 'i':                /* inetd mode */
  51.               standalone = FALSE;
  52.               break;
  53. ***************
  54. *** 348,353 ****
  55. --- 362,368 ----
  56.           case 's':                /* standalone mode */
  57.               standalone = TRUE;
  58.               break;
  59. + #endif
  60.   
  61.           case 't':                /* timeout */
  62.               if (argv[0][2]) {
  63. ***************
  64. *** 400,405 ****
  65. --- 415,421 ----
  66.       }
  67.       bcopy(hep->h_addr, (char *)&my_ip_addr, sizeof(my_ip_addr));
  68.   
  69. + #ifndef __EMX__
  70.       if (standalone) {
  71.           /*
  72.            * Go into background and disassociate from controlling terminal.
  73. ***************
  74. *** 428,433 ****
  75. --- 444,450 ----
  76.           timeout = NULL;
  77.   
  78.       } /* if standalone (1st) */
  79. + #endif
  80.   
  81.       /* Set the cwd (i.e. to /tftpboot) */
  82.       if (chdir_path) {
  83. ***************
  84. *** 459,465 ****
  85.           /*
  86.            * Get server's listening port number
  87.            */
  88. !         servp = getservbyname("bootps", "udp");
  89.           if (servp) {
  90.               bootps_port = ntohs((u_short) servp->s_port);
  91.           } else {
  92. --- 476,482 ----
  93.           /*
  94.            * Get server's listening port number
  95.            */
  96. !         servp = getservbyname("sbootp", "udp");
  97.           if (servp) {
  98.               bootps_port = ntohs((u_short) servp->s_port);
  99.           } else {
  100. ***************
  101. *** 486,492 ****
  102.       /*
  103.        * Get destination port number so we can reply to client
  104.        */
  105. !     servp = getservbyname("bootpc", "udp");
  106.       if (servp) {
  107.           bootpc_port = ntohs(servp->s_port);
  108.       } else {
  109. --- 503,509 ----
  110.       /*
  111.        * Get destination port number so we can reply to client
  112.        */
  113. !     servp = getservbyname("cbootp", "udp");
  114.       if (servp) {
  115.           bootpc_port = ntohs(servp->s_port);
  116.       } else {
  117. ***************
  118. *** 615,622 ****
  119. --- 632,641 ----
  120.               "usage:  bootpd [-d level] [-i] [-s] [-t timeout] [configfile [dumpfile]]\n");
  121.       fprintf(stderr, "\t -c n\tset current directory\n");
  122.       fprintf(stderr, "\t -d n\tset debug level\n");
  123. + #ifndef __EMX__
  124.       fprintf(stderr, "\t -i\tforce inetd mode (run as child of inetd)\n");
  125.       fprintf(stderr, "\t -s\tforce standalone mode (run without inetd)\n");
  126. + #endif
  127.       fprintf(stderr, "\t -t n\tset inetd exit timeout to n minutes\n");
  128.       exit(1);
  129.   }
  130. diff -cb orig/bootpef.c new/bootpef.c
  131. *** orig/bootpef.c    Wed Feb 15 22:00:48 1995
  132. --- new/bootpef.c    Mon Sep 04 01:08:08 1995
  133. ***************
  134. *** 142,147 ****
  135. --- 142,158 ----
  136.       char *stmp;
  137.       int n;
  138.   
  139. + #ifdef __EMX__
  140. +     static char bootptab_file[256];
  141. +     char *etc = getenv("ETC");
  142. +     if (etc != NULL)
  143. +     {
  144. +       strcpy(bootptab_file, etc);
  145. +       strcat(bootptab_file, "\\bootptab");
  146. +       bootptab = bootptab_file;
  147. +     }
  148. + #endif
  149.       progname = strrchr(argv[0], '/');
  150.       if (progname) progname++;
  151.       else progname = argv[0];
  152. diff -cb orig/bootpgw.c new/bootpgw.c
  153. *** orig/bootpgw.c    Wed Feb 15 23:36:38 1995
  154. --- new/bootpgw.c    Mon Sep 04 01:09:20 1995
  155. ***************
  156. *** 204,209 ****
  157. --- 204,210 ----
  158.       bzero((char *) &bind_addr, ba_len);
  159.       errno = 0;
  160.       standalone = TRUE;
  161. + #ifndef __EMX__
  162.       if (getsockname(s, (struct sockaddr *) &bind_addr, &ba_len) == 0) {
  163.           /*
  164.            * Descriptor 0 is a socket.  Assume we are a child of inetd.
  165. ***************
  166. *** 216,221 ****
  167. --- 217,223 ----
  168.               report(LOG_INFO, "getsockname: not an INET socket");
  169.           }
  170.       }
  171. + #endif
  172.       /*
  173.        * Set defaults that might be changed by option switches.
  174.        */
  175. ***************
  176. *** 284,289 ****
  177. --- 286,292 ----
  178.               maxhops = (u_int)n;
  179.               break;
  180.   
  181. + #ifndef __EMX__
  182.           case 'i':                /* inetd mode */
  183.               standalone = FALSE;
  184.               break;
  185. ***************
  186. *** 291,296 ****
  187. --- 294,300 ----
  188.           case 's':                /* standalone mode */
  189.               standalone = TRUE;
  190.               break;
  191. + #endif
  192.   
  193.           case 't':                /* timeout */
  194.               if (argv[0][2]) {
  195. ***************
  196. *** 366,371 ****
  197. --- 370,376 ----
  198.            * Go into background and disassociate from controlling terminal.
  199.            * XXX - This is not the POSIX way (Should use setsid). -gwr
  200.            */
  201. + #ifndef __EMX__
  202.           if (debug < 3) {
  203.               if (fork())
  204.                   exit(0);
  205. ***************
  206. *** 383,388 ****
  207. --- 388,394 ----
  208.                   perror("setsid");
  209.   #endif    /* SETSID */
  210.           } /* if debug < 3 */
  211. + #endif
  212.           /*
  213.            * Nuke any timeout value
  214.            */
  215. ***************
  216. *** 406,412 ****
  217.           /*
  218.            * Get server's listening port number
  219.            */
  220. !         servp = getservbyname("bootps", "udp");
  221.           if (servp) {
  222.               bootps_port = ntohs((u_short) servp->s_port);
  223.           } else {
  224. --- 412,418 ----
  225.           /*
  226.            * Get server's listening port number
  227.            */
  228. !         servp = getservbyname("sbootp", "udp");
  229.           if (servp) {
  230.               bootps_port = ntohs((u_short) servp->s_port);
  231.           } else {
  232. ***************
  233. *** 432,438 ****
  234.       /*
  235.        * Get destination port number so we can reply to client
  236.        */
  237. !     servp = getservbyname("bootpc", "udp");
  238.       if (servp) {
  239.           bootpc_port = ntohs(servp->s_port);
  240.       } else {
  241. --- 438,444 ----
  242.       /*
  243.        * Get destination port number so we can reply to client
  244.        */
  245. !     servp = getservbyname("cbootp", "udp");
  246.       if (servp) {
  247.           bootpc_port = ntohs(servp->s_port);
  248.       } else {
  249. ***************
  250. *** 510,517 ****
  251. --- 516,525 ----
  252.               "usage:  bootpgw [-d level] [-i] [-s] [-t timeout] server\n");
  253.       fprintf(stderr, "\t -d n\tset debug level\n");
  254.       fprintf(stderr, "\t -h n\tset max hop count\n");
  255. + #ifndef __EMX__
  256.       fprintf(stderr, "\t -i\tforce inetd mode (run as child of inetd)\n");
  257.       fprintf(stderr, "\t -s\tforce standalone mode (run without inetd)\n");
  258. + #endif
  259.       fprintf(stderr, "\t -t n\tset inetd exit timeout to n minutes\n");
  260.       fprintf(stderr, "\t -w n\tset min wait time (secs)\n");
  261.       exit(1);
  262. diff -cb orig/bootptest.c new/bootptest.c
  263. *** orig/bootptest.c    Mon Sep 04 00:09:58 1995
  264. --- new/bootptest.c    Mon Sep 04 01:06:42 1995
  265. ***************
  266. *** 244,250 ****
  267.       /*
  268.        * Get server's listening port number
  269.        */
  270. !     sep = getservbyname("bootps", "udp");
  271.       if (sep) {
  272.           bootps_port = ntohs((u_short) sep->s_port);
  273.       } else {
  274. --- 244,250 ----
  275.       /*
  276.        * Get server's listening port number
  277.        */
  278. !     sep = getservbyname("sbootp", "udp");
  279.       if (sep) {
  280.           bootps_port = ntohs((u_short) sep->s_port);
  281.       } else {
  282. ***************
  283. *** 279,285 ****
  284.       /*
  285.        * Get client's listening port number
  286.        */
  287. !     sep = getservbyname("bootpc", "udp");
  288.       if (sep) {
  289.           bootpc_port = ntohs(sep->s_port);
  290.       } else {
  291. --- 279,285 ----
  292.       /*
  293.        * Get client's listening port number
  294.        */
  295. !     sep = getservbyname("cbootp", "udp");
  296.       if (sep) {
  297.           bootpc_port = ntohs(sep->s_port);
  298.       } else {
  299. diff -cb orig/Makefile new/Makefile
  300. *** orig/Makefile    Mon Sep 04 00:09:58 1995
  301. --- new/Makefile    Mon Sep 04 01:04:52 1995
  302. ***************
  303. *** 10,16 ****
  304.   # Remove the -DVEND_CMU if you don't wish to support the "CMU vendor format"
  305.   # in addition to the RFC1048 format.  Leaving out DEBUG saves little.
  306.   # Remove the -DDHCP if you don't need DHCP support.
  307. ! OPTDEFS= -DSYSLOG -DVEND_CMU -DDHCP -DDEBUG
  308.   
  309.   # Uncomment and edit this to choose the facility code used for syslog.
  310.   # LOG_FACILITY= "-DLOG_BOOTP=LOG_LOCAL2"
  311. --- 10,16 ----
  312.   # Remove the -DVEND_CMU if you don't wish to support the "CMU vendor format"
  313.   # in addition to the RFC1048 format.  Leaving out DEBUG saves little.
  314.   # Remove the -DDHCP if you don't need DHCP support.
  315. ! OPTDEFS= -DVEND_CMU -DDHCP -DDEBUG
  316.   
  317.   # Uncomment and edit this to choose the facility code used for syslog.
  318.   # LOG_FACILITY= "-DLOG_BOOTP=LOG_LOCAL2"
  319. ***************
  320. *** 23,29 ****
  321.   # SYSLIBS= -lsocket -lnsl
  322.   
  323.   # Uncomment this if your system does not provide streror(3)
  324. ! # STRERROR=strerror.o
  325.   
  326.   # FILE DEFinitions:
  327.   # The next few lines may be uncommented and changed to alter the default
  328. --- 23,29 ----
  329.   # SYSLIBS= -lsocket -lnsl
  330.   
  331.   # Uncomment this if your system does not provide streror(3)
  332. ! # STRERROR=strerror$O
  333.   
  334.   # FILE DEFinitions:
  335.   # The next few lines may be uncommented and changed to alter the default
  336. ***************
  337. *** 42,49 ****
  338.   MANDIR=/usr/local/man
  339.   
  340.   CFLAGS= $(OPTDEFS) $(SYSDEFS) $(FILEDEFS) $(MOREDEFS)
  341. ! PROGS= bootpd bootpef bootpgw bootptest
  342. ! TESTS= trylook trygetif trygetea
  343.   
  344.   all: $(PROGS) $(TESTS)
  345.   
  346. --- 42,52 ----
  347.   MANDIR=/usr/local/man
  348.   
  349.   CFLAGS= $(OPTDEFS) $(SYSDEFS) $(FILEDEFS) $(MOREDEFS)
  350. ! PROGS= bootpd$X bootpef$X bootpgw$X bootptest$X
  351. ! TESTS= trylook$X trygetif$X trygetea$X
  352. ! X=
  353. ! O=.o
  354.   
  355.   all: $(PROGS) $(TESTS)
  356.   
  357. ***************
  358. *** 68,74 ****
  359.       done
  360.   
  361.   clean:
  362. !     -rm -f core *.o
  363.       -rm -f $(PROGS) $(TESTS)
  364.   
  365.   distclean:
  366. --- 71,77 ----
  367.       done
  368.   
  369.   clean:
  370. !     -rm -f core *$O
  371.       -rm -f $(PROGS) $(TESTS)
  372.   
  373.   distclean:
  374. ***************
  375. *** 82,94 ****
  376.   # DEC/OSF1 on the Alpha
  377.   alpha:
  378.       $(MAKE) SYSDEFS="-DETC_ETHERS -Dint32=int -D_SOCKADDR_LEN" \
  379. !         STRERROR=strerror.o
  380.   
  381.   # Control Data EP/IX 1.4.3 system, BSD 4.3 mode
  382.   epix143:
  383.       $(MAKE) CC="cc -systype bsd43" \
  384.           SYSDEFS="-Dconst= -D_SIZE_T -DNO_UNISTD -DUSE_BFUNCS" \
  385. !         STRERROR=strerror.o
  386.   
  387.   # Control Data EP/IX 2.1.1 system, SVR4 mode
  388.   epix211:
  389. --- 85,97 ----
  390.   # DEC/OSF1 on the Alpha
  391.   alpha:
  392.       $(MAKE) SYSDEFS="-DETC_ETHERS -Dint32=int -D_SOCKADDR_LEN" \
  393. !         STRERROR=strerror$O
  394.   
  395.   # Control Data EP/IX 1.4.3 system, BSD 4.3 mode
  396.   epix143:
  397.       $(MAKE) CC="cc -systype bsd43" \
  398.           SYSDEFS="-Dconst= -D_SIZE_T -DNO_UNISTD -DUSE_BFUNCS" \
  399. !         STRERROR=strerror$O
  400.   
  401.   # Control Data EP/IX 2.1.1 system, SVR4 mode
  402.   epix211:
  403. ***************
  404. *** 114,120 ****
  405.   # SunOS 4.X
  406.   sunos4:
  407.       $(MAKE) SYSDEFS="-DSUNOS -DETC_ETHERS" \
  408. !         STRERROR=strerror.o
  409.   
  410.   # Solaris 2.X (i.e. SunOS 5.X)
  411.   sunos5:
  412. --- 117,123 ----
  413.   # SunOS 4.X
  414.   sunos4:
  415.       $(MAKE) SYSDEFS="-DSUNOS -DETC_ETHERS" \
  416. !         STRERROR=strerror$O
  417.   
  418.   # Solaris 2.X (i.e. SunOS 5.X)
  419.   sunos5:
  420. ***************
  421. *** 142,211 ****
  422.       $(MAKE) SYSDEFS="-DSVR4 -DWIN_TCP" \
  423.           SYSLIBS="-lsocket -lnsl"
  424.   
  425.   #
  426.   # How to build each program:
  427.   #
  428.   
  429. ! OBJ_D=    bootpd.o dovend.o readfile.o hash.o dumptab.o \
  430. !      lookup.o getif.o hwaddr.o tzone.o report.o $(STRERROR)
  431. ! bootpd: $(OBJ_D)
  432.       $(CC) -o $@ $(OBJ_D) $(SYSLIBS)
  433.   
  434. ! OBJ_EF=    bootpef.o dovend.o readfile.o hash.o dumptab.o \
  435. !      lookup.o hwaddr.o tzone.o report.o $(STRERROR)
  436. ! bootpef: $(OBJ_EF)
  437.       $(CC) -o $@ $(OBJ_EF) $(SYSLIBS)
  438.   
  439. ! OBJ_GW= bootpgw.o getif.o hwaddr.o report.o $(STRERROR)
  440. ! bootpgw: $(OBJ_GW)
  441.       $(CC) -o $@ $(OBJ_GW) $(SYSLIBS)
  442.   
  443. ! OBJ_TEST= bootptest.o print-bootp.o getif.o getether.o \
  444. !      report.o $(STRERROR)
  445. ! bootptest: $(OBJ_TEST)
  446.       $(CC) -o $@ $(OBJ_TEST) $(SYSLIBS)
  447.   
  448.   # This is just for testing the lookup functions.
  449. ! TRYLOOK= trylook.o lookup.o report.o $(STRERROR)
  450. ! trylook : $(TRYLOOK)
  451.       $(CC) -o $@ $(TRYLOOK) $(SYSLIBS)
  452.   
  453.   # This is just for testing getif.
  454. ! TRYGETIF= trygetif.o getif.o report.o $(STRERROR)
  455. ! trygetif : $(TRYGETIF)
  456.       $(CC) -o $@ $(TRYGETIF) $(SYSLIBS)
  457.   
  458.   # This is just for testing getether.
  459. ! TRYGETEA= trygetea.o getether.o report.o $(STRERROR)
  460. ! trygetea : $(TRYGETEA)
  461.       $(CC) -o $@ $(TRYGETEA) $(SYSLIBS)
  462.   
  463.   # This rule just keeps the LOG_BOOTP define localized.
  464. ! report.o : report.c
  465.       $(CC) $(CFLAGS) $(LOG_FACILITY) -c $<
  466.   
  467.   # Punt SunOS -target noise
  468. ! .c.o:
  469.       $(CC) $(CFLAGS) -c $<
  470.   
  471.   #
  472.   # Header file dependencies:
  473.   #
  474.   
  475. ! bootpd.o  : bootp.h bptypes.h hash.h hwaddr.h bootpd.h dovend.h
  476. ! bootpd.o  : readfile.h report.h tzone.h patchlevel.h getif.h
  477. ! bootpef.o : bootp.h bptypes.h hash.h hwaddr.h bootpd.h dovend.h
  478. ! bootpef.o : readfile.h report.h tzone.h patchlevel.h
  479. ! bootpgw.o : bootp.h bptypes.h getif.h hwaddr.h report.h patchlevel.h
  480. ! bootptest.o : bootp.h bptypes.h bootptest.h getif.h patchlevel.h
  481. ! dovend.o : bootp.h bptypes.h bootpd.h hash.h hwaddr.h report.h dovend.h
  482. ! dumptab.o : bootp.h bptypes.h hash.h hwaddr.h report.h patchlevel.h bootpd.h
  483. ! getif.o : getif.h report.h
  484. ! hash.o : hash.h
  485. ! hwaddr.o : bptypes.h hwaddr.h report.h
  486. ! lookup.o : bootp.h bptypes.h lookup.h report.h
  487. ! print-bootp.o : bootp.h bptypes.h bootptest.h
  488. ! readfile.o : bootp.h bptypes.h hash.h hwaddr.h lookup.h readfile.h
  489. ! readfile.o : report.h tzone.h bootpd.h
  490. ! report.o : report.h
  491. ! tzone.o : bptypes.h report.h tzone.h
  492. --- 145,220 ----
  493.       $(MAKE) SYSDEFS="-DSVR4 -DWIN_TCP" \
  494.           SYSLIBS="-lsocket -lnsl"
  495.   
  496. + # emx
  497. + emx:
  498. +     $(MAKE) CC="gcc -Zomf -O" X=".exe" O=".obj" \
  499. +     MOREDEFS="-I." SYSLIBS="-lsocket -Zcrtdll -Zstack 512"
  500.   #
  501.   # How to build each program:
  502.   #
  503.   
  504. ! OBJ_D=    bootpd$O dovend$O readfile$O hash$O dumptab$O \
  505. !      lookup$O getif$O hwaddr$O tzone$O report$O $(STRERROR)
  506. ! bootpd$X: $(OBJ_D)
  507.       $(CC) -o $@ $(OBJ_D) $(SYSLIBS)
  508.   
  509. ! OBJ_EF=    bootpef$O dovend$O readfile$O hash$O dumptab$O \
  510. !      lookup$O hwaddr$O tzone$O report$O $(STRERROR)
  511. ! bootpef$X: $(OBJ_EF)
  512.       $(CC) -o $@ $(OBJ_EF) $(SYSLIBS)
  513.   
  514. ! OBJ_GW= bootpgw$O getif$O hwaddr$O report$O $(STRERROR)
  515. ! bootpgw$X: $(OBJ_GW)
  516.       $(CC) -o $@ $(OBJ_GW) $(SYSLIBS)
  517.   
  518. ! OBJ_TEST= bootptest$O print-bootp$O getif$O getether$O \
  519. !      report$O $(STRERROR)
  520. ! bootptest$X: $(OBJ_TEST)
  521.       $(CC) -o $@ $(OBJ_TEST) $(SYSLIBS)
  522.   
  523.   # This is just for testing the lookup functions.
  524. ! TRYLOOK= trylook$O lookup$O report$O $(STRERROR)
  525. ! trylook$X : $(TRYLOOK)
  526.       $(CC) -o $@ $(TRYLOOK) $(SYSLIBS)
  527.   
  528.   # This is just for testing getif.
  529. ! TRYGETIF= trygetif$O getif$O report$O $(STRERROR)
  530. ! trygetif$X : $(TRYGETIF)
  531.       $(CC) -o $@ $(TRYGETIF) $(SYSLIBS)
  532.   
  533.   # This is just for testing getether.
  534. ! TRYGETEA= trygetea$O getether$O report$O $(STRERROR)
  535. ! trygetea$X : $(TRYGETEA)
  536.       $(CC) -o $@ $(TRYGETEA) $(SYSLIBS)
  537.   
  538.   # This rule just keeps the LOG_BOOTP define localized.
  539. ! report$O : report.c
  540.       $(CC) $(CFLAGS) $(LOG_FACILITY) -c $<
  541.   
  542.   # Punt SunOS -target noise
  543. ! .SUFFIXES: .c $O
  544. ! .c$O:
  545.       $(CC) $(CFLAGS) -c $<
  546.   
  547.   #
  548.   # Header file dependencies:
  549.   #
  550.   
  551. ! bootpd$O  : bootp.h bptypes.h hash.h hwaddr.h bootpd.h dovend.h
  552. ! bootpd$O  : readfile.h report.h tzone.h patchlevel.h getif.h
  553. ! bootpef$O : bootp.h bptypes.h hash.h hwaddr.h bootpd.h dovend.h
  554. ! bootpef$O : readfile.h report.h tzone.h patchlevel.h
  555. ! bootpgw$O : bootp.h bptypes.h getif.h hwaddr.h report.h patchlevel.h
  556. ! bootptest$O : bootp.h bptypes.h bootptest.h getif.h patchlevel.h
  557. ! dovend$O : bootp.h bptypes.h bootpd.h hash.h hwaddr.h report.h dovend.h
  558. ! dumptab$O : bootp.h bptypes.h hash.h hwaddr.h report.h patchlevel.h bootpd.h
  559. ! getif$O : getif.h report.h
  560. ! hash$O : hash.h
  561. ! hwaddr$O : bptypes.h hwaddr.h report.h
  562. ! lookup$O : bootp.h bptypes.h lookup.h report.h
  563. ! print-bootp$O : bootp.h bptypes.h bootptest.h
  564. ! readfile$O : bootp.h bptypes.h hash.h hwaddr.h lookup.h readfile.h
  565. ! readfile$O : report.h tzone.h bootpd.h
  566. ! report$O : report.h
  567. ! tzone$O : bptypes.h report.h tzone.h
  568.