From owner-svn-ports-head@freebsd.org Thu Jul 16 11:51:59 2015 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 48DAC9A20F7; Thu, 16 Jul 2015 11:51:59 +0000 (UTC) (envelope-from garga@FreeBSD.org) Received: from repo.freebsd.org (repo.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 29182194F; Thu, 16 Jul 2015 11:51:59 +0000 (UTC) (envelope-from garga@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.70]) by repo.freebsd.org (8.14.9/8.14.9) with ESMTP id t6GBpxYO057603; Thu, 16 Jul 2015 11:51:59 GMT (envelope-from garga@FreeBSD.org) Received: (from garga@localhost) by repo.freebsd.org (8.14.9/8.14.9/Submit) id t6GBpvXW057596; Thu, 16 Jul 2015 11:51:57 GMT (envelope-from garga@FreeBSD.org) Message-Id: <201507161151.t6GBpvXW057596@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: garga set sender to garga@FreeBSD.org using -f From: Renato Botelho Date: Thu, 16 Jul 2015 11:51:57 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r392293 - in head/net: isc-dhcp42-server isc-dhcp42-server/files isc-dhcp43-server isc-dhcp43-server/files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Jul 2015 11:51:59 -0000 Author: garga Date: Thu Jul 16 11:51:56 2015 New Revision: 392293 URL: https://svnweb.freebsd.org/changeset/ports/392293 Log: Since 4.2.8/4.3.2 isc-dhcp-server started to check if prefix6 range is within declared subnet and if prefix6 network mask is bigger or equal subnet mask. Remove these checks and make prefix delegation work as expected. For reference - https://redmine.pfsense.org/issues/4829 PR: 201601 Approved by: zi (maintainer) Sponsored by: Netgate Added: head/net/isc-dhcp42-server/files/patch-server_confpars.c (contents, props changed) head/net/isc-dhcp43-server/files/patch-server_confpars.c (contents, props changed) Modified: head/net/isc-dhcp42-server/Makefile head/net/isc-dhcp43-server/Makefile Modified: head/net/isc-dhcp42-server/Makefile ============================================================================== --- head/net/isc-dhcp42-server/Makefile Thu Jul 16 11:48:11 2015 (r392292) +++ head/net/isc-dhcp42-server/Makefile Thu Jul 16 11:51:56 2015 (r392293) @@ -18,7 +18,7 @@ LICENSE= ISCL USES= gmake PATCHLEVEL= P1 -PORTREVISION_SERVER= 0 +PORTREVISION_SERVER= 1 PORTREVISION_CLIENT= 0 PORTREVISION_RELAY= 0 Added: head/net/isc-dhcp42-server/files/patch-server_confpars.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/isc-dhcp42-server/files/patch-server_confpars.c Thu Jul 16 11:51:56 2015 (r392293) @@ -0,0 +1,43 @@ +--- server/confpars.c.orig 2015-02-27 13:42:45 UTC ++++ server/confpars.c +@@ -3926,28 +3926,10 @@ parse_prefix6(struct parse *cfile, struc + return; + } + +- /* Make sure starting prefix is within the subnet */ +- if (!addr_eq(group->subnet->net, +- subnet_number(lo, group->subnet->netmask))) { +- parse_warn(cfile, "prefix6 start prefix" +- " is outside the subnet"); +- skip_to_semi(cfile); +- return; +- } +- + if (!parse_ip6_addr(cfile, &hi)) { + return; + } + +- /* Make sure ending prefix is within the subnet */ +- if (!addr_eq(group->subnet->net, +- subnet_number(hi, group->subnet->netmask))) { +- parse_warn(cfile, "prefix6 end prefix" +- " is outside the subnet"); +- skip_to_semi(cfile); +- return; +- } +- + /* + * Next is '/' number ';'. + */ +@@ -3970,11 +3952,6 @@ parse_prefix6(struct parse *cfile, struc + parse_warn(cfile, "networks have 0 to 128 bits (exclusive)"); + return; + } +- if (bits < group->subnet->prefix_len) { +- parse_warn(cfile, "network mask smaller than subnet mask"); +- skip_to_semi(cfile); +- return; +- } + if (!is_cidr_mask_valid(&lo, bits) || + !is_cidr_mask_valid(&hi, bits)) { + parse_warn(cfile, "network mask too short"); Modified: head/net/isc-dhcp43-server/Makefile ============================================================================== --- head/net/isc-dhcp43-server/Makefile Thu Jul 16 11:48:11 2015 (r392292) +++ head/net/isc-dhcp43-server/Makefile Thu Jul 16 11:51:56 2015 (r392293) @@ -18,7 +18,7 @@ LICENSE= ISCL USES= gmake #PATCHLEVEL= P1 -PORTREVISION_SERVER= 0 +PORTREVISION_SERVER= 1 PORTREVISION_CLIENT= 0 PORTREVISION_RELAY= 0 Added: head/net/isc-dhcp43-server/files/patch-server_confpars.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/isc-dhcp43-server/files/patch-server_confpars.c Thu Jul 16 11:51:56 2015 (r392293) @@ -0,0 +1,43 @@ +--- server/confpars.c.orig 2015-02-26 19:35:43 UTC ++++ server/confpars.c +@@ -4161,28 +4161,10 @@ parse_prefix6(struct parse *cfile, + return; + } + +- /* Make sure starting prefix is within the subnet */ +- if (!addr_eq(group->subnet->net, +- subnet_number(lo, group->subnet->netmask))) { +- parse_warn(cfile, "prefix6 start prefix" +- " is outside the subnet"); +- skip_to_semi(cfile); +- return; +- } +- + if (!parse_ip6_addr(cfile, &hi)) { + return; + } + +- /* Make sure ending prefix is within the subnet */ +- if (!addr_eq(group->subnet->net, +- subnet_number(hi, group->subnet->netmask))) { +- parse_warn(cfile, "prefix6 end prefix" +- " is outside the subnet"); +- skip_to_semi(cfile); +- return; +- } +- + /* + * Next is '/' number ';'. + */ +@@ -4205,11 +4187,6 @@ parse_prefix6(struct parse *cfile, + parse_warn(cfile, "networks have 0 to 128 bits (exclusive)"); + return; + } +- if (bits < group->subnet->prefix_len) { +- parse_warn(cfile, "network mask smaller than subnet mask"); +- skip_to_semi(cfile); +- return; +- } + if (!is_cidr_mask_valid(&lo, bits) || + !is_cidr_mask_valid(&hi, bits)) { + parse_warn(cfile, "network mask too short");