20020403	Lennert Buytenhek <buytenh@gnu.org>

	* autoconfization by Andreas Hofmeister.

20020116	Lennert Buytenhek <buytenh@gnu.org>

	* On sparc, try to detect 32/64-bitness of the kernel at runtime.

	* Released bridge-utils 0.9.5.

20020106	Lennert Buytenhek <buytenh@gnu.org>

	* Remove 'tap'.

	* Added TODO list.

	* Added extra check for argument count to brctl

	* Added error message for circular bridge dev enslavement to brctl.

	* Get rid of some compiler warnings.

	* Steal Red Hat rawhide spec file.

	* Added 'how to use libbridge_compat.c' explanation by Serge Caron.

	* Try to work around sparc64 brokenness (FUCK ARGHH FUCK FUCK FUCK)

	* Release bridge-utils 0.9.4.

20011107	Lennert Buytenhek <buytenh@gnu.org>

	* Moved FAQ to the website.

	* Updated docs for 2.4 firewalling.

	* Add out-of-date notice to the THANKS file.

????????	Lennert Buytenhek <buytenh@gnu.org>

	* Fixed brctl timeout 42.94s wrap buglet.

	* Cleanup some docs.

	* Released bridge-utils 0.9.3.

20001002	Lennert Buytenhek <buytenh@gnu.org>

	* Incorporated two cleanup patches from H. J. Lu (one splits
	the CC define into CC and CFLAGS, the other one changes a few
	occurances of __close into the libc5 compatibility stub to
	close).

	* Removed all RCS tags.

	* Removed sample scripts dir.

	* Tweaked THANKS file a bit (it needs updating as well..)

	* Made 'show' command show an interface list.

	* Changed the 'showbr' command to 'showstp'

	* Tweaked FAQ.

	* Added explanation for iptables firewalling.

	* Released bridge-utils 0.9.2.

20000905	Lennert Buytenhek <buytenh@gnu.org>

	* Incorporated Roger Venning's patch to tap which will let you
	specify a local address to be used for the 'tunnel'.
