From owner-cvs-all Wed Sep 6 11:49:18 2000 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 9248137B423; Wed, 6 Sep 2000 11:49:14 -0700 (PDT) Received: (from alfred@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id LAA34906; Wed, 6 Sep 2000 11:49:14 -0700 (PDT) (envelope-from alfred@FreeBSD.org) Message-Id: <200009061849.LAA34906@freefall.freebsd.org> From: Alfred Perlstein Date: Wed, 6 Sep 2000 11:49:14 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern uipc_accf.c src/sys/netinet accf_http.c src/sys/sys socketvar.h X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG alfred 2000/09/06 11:49:14 PDT Modified files: sys/kern uipc_accf.c sys/netinet accf_http.c sys/sys socketvar.h Log: Accept filter maintainance Update copyrights. Introduce a new sysctl node: net.inet.accf Although acceptfilters need refcounting to be properly (safely) unloaded as a temporary hack allow them to be unloaded if the sysctl net.inet.accf.unloadable is set, this is really for developers who want to work on thier own filters. A near complete re-write of the accf_http filter: 1) Parse check if the request is HTTP/1.0 or HTTP/1.1 if not dump to the application. Because of the performance implications of this there is a sysctl 'net.inet.accf.http.parsehttpversion' that when set to non-zero parses the HTTP version. The default is to parse the version. 2) Check if a socket has filled and dump to the listener 3) optimize the way that mbuf boundries are handled using some voodoo 4) even though you'd expect accept filters to only be used on TCP connections that don't use m_nextpkt I've fixed the accept filter for socket connections that use this. This rewrite of accf_http should allow someone to use them and maintain full HTTP compliance as long as net.inet.accf.http.parsehttpversion is set. Revision Changes Path 1.3 +18 -9 src/sys/kern/uipc_accf.c 1.2 +258 -82 src/sys/netinet/accf_http.c 1.52 +2 -1 src/sys/sys/socketvar.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message