Subject: CVS commit: src/sys/net
To: None <source-changes@NetBSD.org>
From: Greg Troxel <gdt@netbsd.org>
List: source-changes
Date: 09/11/2007 19:31:22
Module Name:	src
Committed By:	gdt
Date:		Tue Sep 11 19:31:22 UTC 2007

Modified Files:
	src/sys/net: if.c

Log Message:
Fix bug in SIOCGIFCONF where the wrong length was calculated for
sockaddrs bigger than struct sockaddr.  Tightly bind decrementing
available space and using it, avoiding incorrect accounting in an
error case.  Document invariants.  Document calling convention for
SIOCGIFCONF.  Simplify by removing code to handle sockaddrs that don't
fit in struct ifreq; with sockaddr_storage this can no longer occur.
Add several KASSERTs.

This commit resolves the problem with racoon failing to list
interfaces.

Proposed on tech-net@ with no objections.


To generate a diff of this commit:
cvs rdiff -r1.199 -r1.200 src/sys/net/if.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.