Date: Wed, 13 Aug 2014 06:39:44 +0000 (UTC) From: "Alexander V. Chernikov" <melifaro@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r269911 - projects/ipfw/sbin/ipfw Message-ID: <201408130639.s7D6dixS032807@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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).
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201408130639.s7D6dixS032807>