<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[OpenVPN Radius Authentication Broke on upgrade to 26.03.01]]></title><description><![CDATA[<p dir="auto">I use OpenVPN with Radius Authentication. This has worked fine up until I upgraded to 26.03.01 a couple of days ago. I get the below crash in pfsense when i try to authenticate via radius.. Diag -&gt; Authentication still works fine, it authorizes the user via radius. I made no changes to the radius server. I can use local authentication with openvpn also just fine, it's only radius + openvpn that gives this error. The OpenVPN Client is saying AUTH_FAILED but i believe that's because of this error.</p>
<pre><code>PHP ERROR: Type: 1, File: /etc/inc/util.inc, Line: 2768, Message: Uncaught ArgumentCountError: 3 arguments are required, 2 given in /etc/inc/util.inc:2768
Stack trace:
#0 /etc/inc/util.inc(2768): sprintf()
#1 /etc/inc/util.inc(5058): localize_text()
#2 /etc/inc/util.inc(5277): cisco_extract_index()
#3 /etc/inc/openvpn.attributes.php(30): parse_cisco_acl()
#4 /etc/inc/openvpn.auth-user.php(121): include_once('/etc/inc/openvp...')
#5 {main}
thrown @ 2026-07-06 13:14:03
</code></pre>
]]></description><link>https://forum.netgate.com/topic/200918/openvpn-radius-authentication-broke-on-upgrade-to-26.03.01</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 19:31:04 GMT</lastBuildDate><atom:link href="https://forum.netgate.com/topic/200918.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 06 Jul 2026 13:44:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to OpenVPN Radius Authentication Broke on upgrade to 26.03.01 on Mon, 06 Jul 2026 18:18:52 GMT]]></title><description><![CDATA[<p dir="auto">Pretty sure this is just the log message failing.</p>
<p dir="auto">/etc/inc/util.inc 26.03.01 Code</p>
<pre><code>function cisco_extract_index($prule) {
	$index = explode("#", $prule);
	if (is_numeric($index[1])) {
		return intval($index[1]);
	} else {
		logger(LOG_WARNING, localize_text("Error parsing RADIUS attribute - rule %s %s: Could not extract index", $prule));
	}
	return -1;;
}
</code></pre>
<p dir="auto">In my older version before localize_text was introduced i was getting an error but Openvpn would continue on as the Cisco radius attributes are not needed for openvpn authentication.</p>
<pre><code>Error parsing rule shell:priv-lvl: Could not extract index
</code></pre>
<p dir="auto">/etc/inc/util.inc 25.11 Code</p>
<pre><code>function cisco_extract_index($prule) {
	$index = explode("#", $prule);
	if (is_numeric($index[1])) {
		return intval($index[1]);
	} else {
		syslog(LOG_WARNING, "Error parsing rule {$prule}: Could not extract index");
	}
	return -1;;
}
</code></pre>
<p dir="auto">However in 26.03.01 it's crashing at the log message due to too many placeholders, $prule for me is just a string "shell:priv-lvl"</p>
]]></description><link>https://forum.netgate.com/post/1244924</link><guid isPermaLink="true">https://forum.netgate.com/post/1244924</guid><dc:creator><![CDATA[powerguy42]]></dc:creator><pubDate>Mon, 06 Jul 2026 18:18:52 GMT</pubDate></item></channel></rss>