From owner-freebsd-ipfw@FreeBSD.ORG Sun Mar 15 09:56:49 2009 Return-Path: Delivered-To: freebsd-ipfw@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EF633106566C for ; Sun, 15 Mar 2009 09:56:49 +0000 (UTC) (envelope-from luigi@onelab2.iet.unipi.it) Received: from onelab2.iet.unipi.it (onelab2.iet.unipi.it [131.114.9.129]) by mx1.freebsd.org (Postfix) with ESMTP id B04A98FC12 for ; Sun, 15 Mar 2009 09:56:49 +0000 (UTC) (envelope-from luigi@onelab2.iet.unipi.it) Received: by onelab2.iet.unipi.it (Postfix, from userid 275) id A43CD73098; Sun, 15 Mar 2009 11:02:06 +0100 (CET) Date: Sun, 15 Mar 2009 11:02:06 +0100 From: Luigi Rizzo To: Sergey Matveychuk Message-ID: <20090315100206.GA63505@onelab2.iet.unipi.it> References: <200903132246.49159.dima_bsd@inbox.lv> <49BBB94A.7040208@FreeBSD.org> <200903142031.53326.dima_bsd@inbox.lv> <49BCCC9D.30109@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <49BCCC9D.30109@FreeBSD.org> User-Agent: Mutt/1.4.2.3i Cc: freebsd-ipfw@freebsd.org, Dmitriy Demidov Subject: Re: keep-state rules inadequately handles big UDP packets or fragmented IP packets? X-BeenThere: freebsd-ipfw@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: IPFW Technical Discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2009 09:56:50 -0000 On Sun, Mar 15, 2009 at 12:38:37PM +0300, Sergey Matveychuk wrote: > Dmitriy Demidov wrote: > >Hi Luigi. Thank you for answer. > >It is a big "surprise" for me that reassembling of IP datagrams is done > >not *before* they go into firewall, but *after* :( > > But what's wrong with it? A fragment got from net, pass firewall and > store. After all fragments we got, OS reassembly a packet and pass it > through firewall again. Currently we don't have a way to re-invoke the firewall after reassembly. In fact, we should probably provide hooks before and after reassembly, and use them in a configurable way. cheers luigi