From owner-soc-status@FreeBSD.ORG Sun Aug 9 21:37:45 2009 Return-Path: Delivered-To: soc-status@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6D8271065670 for ; Sun, 9 Aug 2009 21:37:45 +0000 (UTC) (envelope-from marta.carbone@gmail.com) Received: from mail-qy0-f191.google.com (mail-qy0-f191.google.com [209.85.221.191]) by mx1.freebsd.org (Postfix) with ESMTP id 2648D8FC1F for ; Sun, 9 Aug 2009 21:37:45 +0000 (UTC) Received: by qyk29 with SMTP id 29so2330177qyk.3 for ; Sun, 09 Aug 2009 14:37:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:date :x-google-sender-auth:message-id:subject:from:to:content-type; bh=jHOMDpd4fLlQQNTIlxtGTDL0Y/YJ183ON6F8mTyC9zA=; b=MwCg2Sl7vKvCKd+KuHOHdQtnH10PjKdt2tDFnDzXh1PFtiqK2CgmHKDQG4LxuX3UHX nc8gLt+wHszYLJSxcAt+gCqJzxGjRpBU07nuxDaLrgTE24sFRLfpu9e4sKpZxVguoWZZ sqJQPS41gP4e72PbdUwXtj5odFvsFSU1ZsaVg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:content-type; b=X1mvr1UCppxPPNCnpyC5DuTBXcJ1PV9ox2M7wRCSU4Iux2eumi4syCh2wpMdlcqi9x OSLnFtOP5HX8+kGMk2Brsj0EB+rCD+X5RwtWcebdQKtM8Y4Dk10mIiAXzmEK3/unB0LS pWB/B24cZ4FDiCP9uDjQaHszn3cBnsvA/7tqQ= MIME-Version: 1.0 Sender: marta.carbone@gmail.com Received: by 10.229.95.4 with SMTP id b4mr1153605qcn.40.1249853864624; Sun, 09 Aug 2009 14:37:44 -0700 (PDT) Date: Sun, 9 Aug 2009 23:37:44 +0200 X-Google-Sender-Auth: 633482d484b80897 Message-ID: From: marta carbone To: soc-status@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: ipfw, status report X-BeenThere: soc-status@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Summer of Code Status Reports and Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Aug 2009 21:37:45 -0000 The current implementation of the ipfw userland program integrates the microinstruction compiler and the socket i/o code in a single function. This no clear distinction between the compiler and the socket i/o code makes impossible to use such functions for their own purpose. The decompilation code suffers of similar problems too, since it integrates the microinstruction code with the socket i/o functions. In addition to this, the resulting output is redirected to the stdout, making difficult to use the decompilation function as a pure "decompiler". Part of the gsoc project is aimed to change this behavior and clearly separate the microinstruction compiler from socket i/o functions. An immediate result of this work will be a set of functions dedicated to compile and decompile ipfw microinstructions, and a set of function dedicated to perform socket i/o operations. These functions can be used to build the "libipfw" library, making the ipfw microinstruction compiler available to other programs as well. Changes done until now involve: - removed some static variables and use the reentrant version of the sorting function, aimed to make reentrant the code; - code cleanup, aimed to improve readability; - extraction of the global options parsing code from the main file; - removed globals variables; - build the "libipfw" library; - build the ipfw userland program by linking the code against the "libipfw" library. In the next days I plan to continue the work on libipfw code, extracting the socket/io related code, upload the code to the perforce server. marta