From owner-freebsd-security Wed Feb 3 10:10:18 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id KAA22495 for freebsd-security-outgoing; Wed, 3 Feb 1999 10:10:18 -0800 (PST) (envelope-from owner-freebsd-security@FreeBSD.ORG) Received: from khavrinen.lcs.mit.edu (khavrinen.lcs.mit.edu [18.24.4.193]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id KAA22485 for ; Wed, 3 Feb 1999 10:10:16 -0800 (PST) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: (from wollman@localhost) by khavrinen.lcs.mit.edu (8.9.1/8.9.1) id NAA25118; Wed, 3 Feb 1999 13:10:11 -0500 (EST) (envelope-from wollman) Date: Wed, 3 Feb 1999 13:10:11 -0500 (EST) From: Garrett Wollman Message-Id: <199902031810.NAA25118@khavrinen.lcs.mit.edu> To: Robert Watson Cc: security@FreeBSD.ORG Subject: Re: tcpdump In-Reply-To: References: <199902031549.KAA24669@khavrinen.lcs.mit.edu> Sender: owner-freebsd-security@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org < said: > So the phase currently requiring BPF is presumably the bit where the > client picks up the broadcast response as it doesn't have an IP address > yet. The DHCP client also requires that it can set the source IP address > for the outgoing requests. What changes to the protocol stack do you > recommend to allow the reception of messages for the 0.0.0.0 (or whatever) > address, and sending of appropriate packets? There are several places in the code where it currently checks if there are addresses configured, which need to be set up accept broadcasts and multicasts; e.g., from netinet/ip_input.c: /* * If no IP addresses have been set yet but the interfaces * are receiving, can't do anything with incoming packets yet. * XXX This is broken! We should be able to receive broadcasts * and multicasts even without any local addresses configured. */ if (TAILQ_EMPTY(&in_ifaddrhead)) goto bad; (I wrote that comment about four years ago.) There are similar tests in the top half, which also need to be fixed so a normal socket can be bound by the DHCP client, and so that IP packets can be sent with a source of 0.0.0.0 (which is fairly easy but needs to be done in multiple places since we don't yet have ILP and some of the checks are repeated at the IP layer). This may be easier to fix by simply rewriting the UDP code (which I did most of several years ago). -GAWollman -- Garrett A. Wollman | O Siem / We are all family / O Siem / We're all the same wollman@lcs.mit.edu | O Siem / The fires of freedom Opinions not those of| Dance in the burning flame MIT, LCS, CRS, or NSA| - Susan Aglukark and Chad Irschick To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-security" in the body of the message