Index | Thread | Search

From:
Florian Obser <florian@openbsd.org>
Subject:
Re: unbound 1.22.0
To:
tech@openbsd.org
Date:
Fri, 21 Feb 2025 10:38:21 +0100

Download raw body.

Thread
On 2025-02-21 08:36 UTC, Stuart Henderson <stu@spacehopper.org> wrote:
> On 2025/02/07 21:30, Stuart Henderson wrote:
>> Upstream release was a few months ago. As usual not super easy to read
>> as a diff in one go, and many of the changes relate to things not used
>> in the OpenBSD build.
>
> I don't have any particular concerns about this - any objection to
> committing this so it gets wider testing?
>
> [full diff removed; available at https://junkpile.org/unbound-1.22.0.diff.gz]

There seems to be a bad merge in configparser.y:

[florian@openbsd-build:/usr/src/usr.sbin/unbound (unbound/1.22.0)]
e -f Makefile.bsd-wrapper > /dev/null                                         <
/usr/src/usr.sbin/unbound/util/configparser.y: the symbol server_iter_scrub_ns is undefined
/usr/src/usr.sbin/unbound/util/configparser.y: the symbol server_iter_scrub_cname is undefined
/usr/src/usr.sbin/unbound/util/configparser.y: the symbol server_max_global_quota is undefined

diffing configparser.y from the release tarball:
--- /usr/src/usr.sbin/unbound/util/configparser.y	Fri Feb 21 10:05:03 2025
+++ util/configparser.y	Thu Oct 17 09:23:14 2024
@@ -4084,45 +4084,72 @@
 		cfg_parser->cfg->cookie_secret_file = $2;
 	}
 	;
-	ipsetstart: VAR_IPSET
-		{
-			OUTYY(("\nP(ipset:)\n"));
-			cfg_parser->started_toplevel = 1;
-		}
-		;
-	contents_ipset: contents_ipset content_ipset
-		| ;
-	content_ipset: ipset_name_v4 | ipset_name_v6
-		;
-	ipset_name_v4: VAR_IPSET_NAME_V4 STRING_ARG
-		{
-		#ifdef USE_IPSET
-			OUTYY(("P(name-v4:%s)\n", $2));
-			if(cfg_parser->cfg->ipset_name_v4)
-				yyerror("ipset name v4 override, there must be one "
-					"name for ip v4");
-			free(cfg_parser->cfg->ipset_name_v4);
-			cfg_parser->cfg->ipset_name_v4 = $2;
-		#else
-			OUTYY(("P(Compiled without ipset, ignoring)\n"));
-			free($2);
-		#endif
-		}
+server_iter_scrub_ns: VAR_ITER_SCRUB_NS STRING_ARG
+	{
+		OUTYY(("P(server_iter_scrub_ns:%s)\n", $2));
+		if(atoi($2) == 0 && strcmp($2, "0") != 0)
+			yyerror("number expected");
+		else cfg_parser->cfg->iter_scrub_ns = atoi($2);
+		free($2);
+	}
 	;
-	ipset_name_v6: VAR_IPSET_NAME_V6 STRING_ARG
+server_iter_scrub_cname: VAR_ITER_SCRUB_CNAME STRING_ARG
 	{
-		#ifdef USE_IPSET
-			OUTYY(("P(name-v6:%s)\n", $2));
-			if(cfg_parser->cfg->ipset_name_v6)
-				yyerror("ipset name v6 override, there must be one "
-					"name for ip v6");
-			free(cfg_parser->cfg->ipset_name_v6);
-			cfg_parser->cfg->ipset_name_v6 = $2;
-		#else
-			OUTYY(("P(Compiled without ipset, ignoring)\n"));
-			free($2);
-		#endif
-		}
+		OUTYY(("P(server_iter_scrub_cname:%s)\n", $2));
+		if(atoi($2) == 0 && strcmp($2, "0") != 0)
+			yyerror("number expected");
+		else cfg_parser->cfg->iter_scrub_cname = atoi($2);
+		free($2);
+	}
+	;
+server_max_global_quota: VAR_MAX_GLOBAL_QUOTA STRING_ARG
+	{
+		OUTYY(("P(server_max_global_quota:%s)\n", $2));
+		if(atoi($2) == 0 && strcmp($2, "0") != 0)
+			yyerror("number expected");
+		else cfg_parser->cfg->max_global_quota = atoi($2);
+		free($2);
+	}
+	;
+ipsetstart: VAR_IPSET
+	{
+		OUTYY(("\nP(ipset:)\n"));
+		cfg_parser->started_toplevel = 1;
+	}
+	;
+contents_ipset: contents_ipset content_ipset
+	| ;
+content_ipset: ipset_name_v4 | ipset_name_v6
+	;
+ipset_name_v4: VAR_IPSET_NAME_V4 STRING_ARG
+	{
+	#ifdef USE_IPSET
+		OUTYY(("P(name-v4:%s)\n", $2));
+		if(cfg_parser->cfg->ipset_name_v4)
+			yyerror("ipset name v4 override, there must be one "
+				"name for ip v4");
+		free(cfg_parser->cfg->ipset_name_v4);
+		cfg_parser->cfg->ipset_name_v4 = $2;
+	#else
+		OUTYY(("P(Compiled without ipset, ignoring)\n"));
+		free($2);
+	#endif
+	}
+	;
+ipset_name_v6: VAR_IPSET_NAME_V6 STRING_ARG
+	{
+	#ifdef USE_IPSET
+		OUTYY(("P(name-v6:%s)\n", $2));
+		if(cfg_parser->cfg->ipset_name_v6)
+			yyerror("ipset name v6 override, there must be one "
+				"name for ip v6");
+		free(cfg_parser->cfg->ipset_name_v6);
+		cfg_parser->cfg->ipset_name_v6 = $2;
+	#else
+		OUTYY(("P(Compiled without ipset, ignoring)\n"));
+		free($2);
+	#endif
+	}
 	;
 %%
 

-- 
In my defence, I have been left unsupervised.