head	1.1;
branch	1.1.1;
access;
symbols
	RELENG_8_4:1.1.1.1.0.82
	RELENG_9_1_0_RELEASE:1.1.1.1
	RELENG_9_1:1.1.1.1.0.80
	RELENG_9_1_BP:1.1.1.1
	RELENG_8_3_0_RELEASE:1.1.1.1
	RELENG_8_3:1.1.1.1.0.78
	RELENG_8_3_BP:1.1.1.1
	RELENG_9_0_0_RELEASE:1.1.1.1
	RELENG_9_0:1.1.1.1.0.76
	RELENG_9_0_BP:1.1.1.1
	RELENG_9:1.1.1.1.0.74
	RELENG_9_BP:1.1.1.1
	RELENG_7_4_0_RELEASE:1.1.1.1
	RELENG_8_2_0_RELEASE:1.1.1.1
	RELENG_7_4:1.1.1.1.0.72
	RELENG_7_4_BP:1.1.1.1
	RELENG_8_2:1.1.1.1.0.70
	RELENG_8_2_BP:1.1.1.1
	RELENG_8_1_0_RELEASE:1.1.1.1
	RELENG_8_1:1.1.1.1.0.68
	RELENG_8_1_BP:1.1.1.1
	RELENG_7_3_0_RELEASE:1.1.1.1
	RELENG_7_3:1.1.1.1.0.66
	RELENG_7_3_BP:1.1.1.1
	RELENG_8_0_0_RELEASE:1.1.1.1
	RELENG_8_0:1.1.1.1.0.64
	RELENG_8_0_BP:1.1.1.1
	RELENG_8:1.1.1.1.0.62
	RELENG_8_BP:1.1.1.1
	RELENG_7_2_0_RELEASE:1.1.1.1
	RELENG_7_2:1.1.1.1.0.60
	RELENG_7_2_BP:1.1.1.1
	RELENG_7_1_0_RELEASE:1.1.1.1
	RELENG_6_4_0_RELEASE:1.1.1.1
	RELENG_7_1:1.1.1.1.0.58
	RELENG_7_1_BP:1.1.1.1
	RELENG_6_4:1.1.1.1.0.56
	RELENG_6_4_BP:1.1.1.1
	RELENG_7_0_0_RELEASE:1.1.1.1
	RELENG_6_3_0_RELEASE:1.1.1.1
	RELENG_7_0:1.1.1.1.0.54
	RELENG_7_0_BP:1.1.1.1
	RELENG_6_3:1.1.1.1.0.52
	RELENG_6_3_BP:1.1.1.1
	RELENG_7:1.1.1.1.0.50
	RELENG_7_BP:1.1.1.1
	RELENG_6_2_0_RELEASE:1.1.1.1
	RELENG_6_2:1.1.1.1.0.48
	RELENG_6_2_BP:1.1.1.1
	RELENG_5_5_0_RELEASE:1.1.1.1
	RELENG_5_5:1.1.1.1.0.46
	RELENG_5_5_BP:1.1.1.1
	RELENG_6_1_0_RELEASE:1.1.1.1
	RELENG_6_1:1.1.1.1.0.44
	RELENG_6_1_BP:1.1.1.1
	RELENG_6_0_0_RELEASE:1.1.1.1
	RELENG_6_0:1.1.1.1.0.42
	RELENG_6_0_BP:1.1.1.1
	RELENG_6:1.1.1.1.0.40
	RELENG_6_BP:1.1.1.1
	RELENG_5_4_0_RELEASE:1.1.1.1
	RELENG_5_4:1.1.1.1.0.38
	RELENG_5_4_BP:1.1.1.1
	RELENG_4_11_0_RELEASE:1.1.1.1
	RELENG_4_11:1.1.1.1.0.36
	RELENG_4_11_BP:1.1.1.1
	RELENG_5_3_0_RELEASE:1.1.1.1
	RELENG_5_3:1.1.1.1.0.34
	RELENG_5_3_BP:1.1.1.1
	RELENG_5:1.1.1.1.0.32
	RELENG_5_BP:1.1.1.1
	RELENG_4_10_0_RELEASE:1.1.1.1
	RELENG_4_10:1.1.1.1.0.30
	RELENG_4_10_BP:1.1.1.1
	RELENG_5_2_1_RELEASE:1.1.1.1
	RELENG_5_2_0_RELEASE:1.1.1.1
	RELENG_5_2:1.1.1.1.0.28
	RELENG_5_2_BP:1.1.1.1
	RELENG_4_9_0_RELEASE:1.1.1.1
	RELENG_4_9:1.1.1.1.0.26
	RELENG_4_9_BP:1.1.1.1
	RELENG_5_1_0_RELEASE:1.1.1.1
	RELENG_5_1:1.1.1.1.0.24
	RELENG_5_1_BP:1.1.1.1
	RELENG_4_8_0_RELEASE:1.1.1.1
	RELENG_4_8:1.1.1.1.0.22
	RELENG_4_8_BP:1.1.1.1
	RELENG_5_0_0_RELEASE:1.1.1.1
	RELENG_5_0:1.1.1.1.0.20
	RELENG_5_0_BP:1.1.1.1
	RELENG_4_7_0_RELEASE:1.1.1.1
	RELENG_4_7:1.1.1.1.0.18
	RELENG_4_7_BP:1.1.1.1
	RELENG_4_6_2_RELEASE:1.1.1.1
	RELENG_4_6_1_RELEASE:1.1.1.1
	RELENG_4_6_0_RELEASE:1.1.1.1
	RELENG_4_6:1.1.1.1.0.16
	RELENG_4_6_BP:1.1.1.1
	RELENG_4_5_0_RELEASE:1.1.1.1
	RELENG_4_5:1.1.1.1.0.14
	RELENG_4_5_BP:1.1.1.1
	RELENG_4_4_0_RELEASE:1.1.1.1
	RELENG_4_4:1.1.1.1.0.12
	RELENG_4_4_BP:1.1.1.1
	RELENG_4_3_0_RELEASE:1.1.1.1
	RELENG_4_3:1.1.1.1.0.10
	RELENG_4_3_BP:1.1.1.1
	RELENG_4_2_0_RELEASE:1.1.1.1
	RELENG_4_1_1_RELEASE:1.1.1.1
	PRE_SMPNG:1.1.1.1
	RELENG_4_1_0_RELEASE:1.1.1.1
	RELENG_3_5_0_RELEASE:1.1.1.1
	RELENG_4_0_0_RELEASE:1.1.1.1
	RELENG_4:1.1.1.1.0.8
	RELENG_4_BP:1.1.1.1
	RELENG_3_4_0_RELEASE:1.1.1.1
	RELENG_3_3_0_RELEASE:1.1.1.1
	RELENG_3_2_PAO:1.1.1.1.0.6
	RELENG_3_2_PAO_BP:1.1.1.1
	RELENG_3_2_0_RELEASE:1.1.1.1
	RELENG_3_1_0_RELEASE:1.1.1.1
	RELENG_3:1.1.1.1.0.4
	RELENG_3_BP:1.1.1.1
	RELENG_2_2_8_RELEASE:1.1.1.1
	RELENG_3_0_0_RELEASE:1.1.1.1
	RELENG_2_2_7_RELEASE:1.1.1.1
	RELENG_2_2_6_RELEASE:1.1.1.1
	RELENG_2_2_5_RELEASE:1.1.1.1
	RELENG_2_2_2_RELEASE:1.1.1.1
	RELENG_2_2_1_RELEASE:1.1.1.1
	RELENG_2_2_0_RELEASE:1.1.1.1
	RELENG_2_2:1.1.1.1.0.2
	RELENG_2_2_BP:1.1.1.1
	v2_4_3:1.1.1.1
	MC:1.1.1;
locks; strict;
comment	@# @;


1.1
date	96.01.23.01.33.56;	author pst;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	96.01.23.01.33.56;	author pst;	state Exp;
branches
	1.1.1.1.82.1;
next	;

1.1.1.1.82.1
date	96.01.23.01.33.56;	author svnexp;	state dead;
branches;
next	1.1.1.1.82.2;

1.1.1.1.82.2
date	2013.03.28.13.03.25;	author svnexp;	state Exp;
branches;
next	;


desc
@@


1.1
log
@Initial revision
@
text
@ToDo:							-*- text -*-

----------------------------------------------------------------------
Memory allocation locality:

Currently mallocs memory in a very haphazard manner.  As such, most of
the program ends up core-resident all the time just to follow all the
stupid pointers around. . . .

----------------------------------------------------------------------
Input parser:

The reader implemented in readfile.c could use improvement.  Some sort
of "data-driven" parser should be used so the big switch statements
would have only one case for each data type instead of one case for
every recognized option symbol.  Then adding a new tag would involve
only adding a new element to the data table describing known symbols.
Hopefully, this would shrink the code a bit too. -gwr

----------------------------------------------------------------------
SLIP Initialization via BOOTP:

In the function handle_request(), both in bootpd and bootpgw,
we might want to add code like the following just before testing
the client IP address field for zero. (bp->bp_ciaddr == 0)
(David suggests we leave this out for now. -gwr)

#if 1	/* XXX - Experimental */
	/*
	 * SLIP initialization support.
	 *
	 * If this packet came from a SLIP driver that does
	 * automatic IP address initialization, then the socket
	 * will have the IP address and the packet will
	 * have zeros for both the IP and HW addresses.
	 *
	 * Thanks to David P. Maynard <dpm@@depend.com>
	 * for explaining how this works. -gwr
	 */
	if ((bp->bp_ciaddr.s_addr == 0) &&
		(bp->bp_htype == 0))
	{
		/* Pretend the client knows its address.  It will soon. */
		bp->bp_ciaddr = recv_addr.sin_addr;
		if (debug)
			report(LOG_INFO, "fixed blank request from IP addr %s",
				   inet_ntoa(recv_addr.sin_addr));
	}
#endif

----------------------------------------------------------------------
DHCP Support:

There is a set of patches from Jeanette Pauline Middelink
<middelin@@calvin.polyware.iaf.nl> to add DHCP support.

Those patches will be integrated into the BOOTP release stream
very soon, but if you can't wait, you can get them from:
nimbus.anu.edu.au:/pub/tridge/samba/contributed/DHCP.patch

----------------------------------------------------------------------
@


1.1.1.1
log
@Import bootpd-2.4.3 from ftp.mc.com
@
text
@@


1.1.1.1.82.1
log
@file ToDo was added on branch RELENG_8_4 on 2013-03-28 13:03:25 +0000
@
text
@d1 61
@


1.1.1.1.82.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 61
ToDo:							-*- text -*-

----------------------------------------------------------------------
Memory allocation locality:

Currently mallocs memory in a very haphazard manner.  As such, most of
the program ends up core-resident all the time just to follow all the
stupid pointers around. . . .

----------------------------------------------------------------------
Input parser:

The reader implemented in readfile.c could use improvement.  Some sort
of "data-driven" parser should be used so the big switch statements
would have only one case for each data type instead of one case for
every recognized option symbol.  Then adding a new tag would involve
only adding a new element to the data table describing known symbols.
Hopefully, this would shrink the code a bit too. -gwr

----------------------------------------------------------------------
SLIP Initialization via BOOTP:

In the function handle_request(), both in bootpd and bootpgw,
we might want to add code like the following just before testing
the client IP address field for zero. (bp->bp_ciaddr == 0)
(David suggests we leave this out for now. -gwr)

#if 1	/* XXX - Experimental */
	/*
	 * SLIP initialization support.
	 *
	 * If this packet came from a SLIP driver that does
	 * automatic IP address initialization, then the socket
	 * will have the IP address and the packet will
	 * have zeros for both the IP and HW addresses.
	 *
	 * Thanks to David P. Maynard <dpm@@depend.com>
	 * for explaining how this works. -gwr
	 */
	if ((bp->bp_ciaddr.s_addr == 0) &&
		(bp->bp_htype == 0))
	{
		/* Pretend the client knows its address.  It will soon. */
		bp->bp_ciaddr = recv_addr.sin_addr;
		if (debug)
			report(LOG_INFO, "fixed blank request from IP addr %s",
				   inet_ntoa(recv_addr.sin_addr));
	}
#endif

----------------------------------------------------------------------
DHCP Support:

There is a set of patches from Jeanette Pauline Middelink
<middelin@@calvin.polyware.iaf.nl> to add DHCP support.

Those patches will be integrated into the BOOTP release stream
very soon, but if you can't wait, you can get them from:
nimbus.anu.edu.au:/pub/tridge/samba/contributed/DHCP.patch

----------------------------------------------------------------------
@


