xref: /freebsd/libexec/bootpd/ToDo (revision fcb560670601b2a4d87bb31d7531c8dcc37ee71b)
1ToDo:							-*- text -*-
2
3----------------------------------------------------------------------
4Memory allocation locality:
5
6Currently mallocs memory in a very haphazard manner.  As such, most of
7the program ends up core-resident all the time just to follow all the
8stupid pointers around. . . .
9
10----------------------------------------------------------------------
11Input parser:
12
13The reader implemented in readfile.c could use improvement.  Some sort
14of "data-driven" parser should be used so the big switch statements
15would have only one case for each data type instead of one case for
16every recognized option symbol.  Then adding a new tag would involve
17only adding a new element to the data table describing known symbols.
18Hopefully, this would shrink the code a bit too. -gwr
19
20----------------------------------------------------------------------
21SLIP Initialization via BOOTP:
22
23In the function handle_request(), both in bootpd and bootpgw,
24we might want to add code like the following just before testing
25the 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----------------------------------------------------------------------
52DHCP Support:
53
54There is a set of patches from Jeanette Pauline Middelink
55<middelin@calvin.polyware.iaf.nl> to add DHCP support.
56
57Those patches will be integrated into the BOOTP release stream
58very soon, but if you can't wait, you can get them from:
59nimbus.anu.edu.au:/pub/tridge/samba/contributed/DHCP.patch
60
61----------------------------------------------------------------------
62