From owner-svn-src-projects@FreeBSD.ORG Wed Aug 13 06:39:45 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5061B228; Wed, 13 Aug 2014 06:39:45 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2341225DB; Wed, 13 Aug 2014 06:39:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7D6djK3032808; Wed, 13 Aug 2014 06:39:45 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id s7D6dixS032807; Wed, 13 Aug 2014 06:39:44 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201408130639.s7D6dixS032807@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Wed, 13 Aug 2014 06:39:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r269911 - projects/ipfw/sbin/ipfw X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Aug 2014 06:39:45 -0000 Author: melifaro Date: Wed Aug 13 06:39:44 2014 New Revision: 269911 URL: http://svnweb.freebsd.org/changeset/base/269911 Log: Update op3 cmds. Modified: projects/ipfw/sbin/ipfw/ipfw2.c Modified: projects/ipfw/sbin/ipfw/ipfw2.c ============================================================================== --- projects/ipfw/sbin/ipfw/ipfw2.c Wed Aug 13 06:16:37 2014 (r269910) +++ projects/ipfw/sbin/ipfw/ipfw2.c Wed Aug 13 06:39:44 2014 (r269911) @@ -593,6 +593,16 @@ do_set3(int optname, ip_fw3_opheader *op return (0); } +/* + * do_get3 - pass ipfw control cmd to kernel + * @optname: option name + * @optval: pointer to option data + * @optlen: pointer to option length + * + * Assumes op3 header is already embedded. + * Calls getsockopt() with IP_FW3 as kernel-visible opcode. + * Returns 0 on success or errno otherwise. + */ int do_get3(int optname, ip_fw3_opheader *op3, size_t *optlen) { @@ -619,40 +629,6 @@ do_get3(int optname, ip_fw3_opheader *op return (error); } -/* - * do_setcmd3 - pass ipfw control cmd to kernel - * @optname: option name - * @optval: pointer to option data - * @optlen: option length - * - * Function encapsulates option value in IP_FW3 socket option - * and calls setsockopt(). - * Function returns 0 on success or -1 otherwise. - */ -static int -do_setcmd3(int optname, void *optval, socklen_t optlen) -{ - socklen_t len; - ip_fw3_opheader *op3; - - if (co.test_only) - return (0); - - if (ipfw_socket == -1) - ipfw_socket = socket(AF_INET, SOCK_RAW, IPPROTO_RAW); - if (ipfw_socket < 0) - err(EX_UNAVAILABLE, "socket"); - - len = sizeof(ip_fw3_opheader) + optlen; - op3 = alloca(len); - /* Zero reserved fields */ - memset(op3, 0, sizeof(ip_fw3_opheader)); - memcpy(op3 + 1, optval, optlen); - op3->opcode = optname; - - return setsockopt(ipfw_socket, IPPROTO_IP, IP_FW3, op3, len); -} - /** * match_token takes a table and a string, returns the value associated * with the string (-1 in case of failure).