home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / bootpd-2.zip / TODO < prev    next >
Text File  |  1995-02-16  |  2KB  |  62 lines

  1. ToDo:                            -*- text -*-
  2.  
  3. ----------------------------------------------------------------------
  4. Memory allocation locality:
  5.  
  6. Currently mallocs memory in a very haphazard manner.  As such, most of
  7. the program ends up core-resident all the time just to follow all the
  8. stupid pointers around. . . .
  9.  
  10. ----------------------------------------------------------------------
  11. Input parser:
  12.  
  13. The reader implemented in readfile.c could use improvement.  Some sort
  14. of "data-driven" parser should be used so the big switch statements
  15. would have only one case for each data type instead of one case for
  16. every recognized option symbol.  Then adding a new tag would involve
  17. only adding a new element to the data table describing known symbols.
  18. Hopefully, this would shrink the code a bit too. -gwr
  19.  
  20. ----------------------------------------------------------------------
  21. SLIP Initialization via BOOTP:
  22.  
  23. In the function handle_request(), both in bootpd and bootpgw,
  24. we might want to add code like the following just before testing
  25. the client IP address field for zero. (bp->bp_ciaddr == 0)
  26. (David suggests we leave this out for now. -gwr)
  27.  
  28. #if 1    /* XXX - Experimental */
  29.     /*
  30.      * SLIP initialization support.
  31.      *
  32.      * If this packet came from a SLIP driver that does
  33.      * automatic IP address initialization, then the socket
  34.      * will have the IP address and the packet will
  35.      * have zeros for both the IP and HW addresses.
  36.      *
  37.      * Thanks to David P. Maynard <dpm@depend.com>
  38.      * for explaining how this works. -gwr
  39.      */
  40.     if ((bp->bp_ciaddr.s_addr == 0) &&
  41.         (bp->bp_htype == 0))
  42.     {
  43.         /* Pretend the client knows its address.  It will soon. */
  44.         bp->bp_ciaddr = recv_addr.sin_addr;
  45.         if (debug)
  46.             report(LOG_INFO, "fixed blank request from IP addr %s",
  47.                    inet_ntoa(recv_addr.sin_addr));
  48.     }
  49. #endif
  50.  
  51. ----------------------------------------------------------------------
  52. DHCP Support:
  53.  
  54. There is a set of patches from Jeanette Pauline Middelink
  55. <middelin@calvin.polyware.iaf.nl> to add DHCP support.
  56.  
  57. Those patches will be integrated into the BOOTP release stream
  58. very soon, but if you can't wait, you can get them from:
  59. nimbus.anu.edu.au:/pub/tridge/samba/contributed/DHCP.patch
  60.  
  61. ----------------------------------------------------------------------
  62.