Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Jul 2015 11:51:57 +0000 (UTC)
From:      Renato Botelho <garga@FreeBSD.org>
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
Message-ID:  <201507161151.t6GBpvXW057596@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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");



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201507161151.t6GBpvXW057596>