Bug #14730
open
FreeRADIUS package has wrong/old internal_name specified in backup xml causing package reinstall failure on backup restore
Added by Luca Piccirillo about 1 year ago.
Updated about 1 year ago.
Affected Plus Version:
23.05.1
Affected Architecture:
All
Description
When backing up with package info included:
<package>
<name>freeradius3</name>
<internal_name>radiusd</internal_name>
<website>http://www.freeradius.org/</website>
<descr><![CDATA[A free implementation of the RADIUS protocol.<br />
Supports MySQL, PostgreSQL, LDAP, Kerberos.]]></descr>
<pkginfolink>https://docs.netgate.com/pfsense/en/latest/packages/freeradius.html</pkginfolink>
<version>0.15.7_33</version>
<configurationfile>freeradius.xml</configurationfile>
It appears "radiusd" as internal_name. On restore, package reinstall failes because "radiusd" package is unknown. Its current name is freeradius3.
We usually workaround this by manually removing the internal_name line from XML before restoring. This makes package reinstall to work fine.
I couldn't reproduce this issue on the:
23.05.1-RELEASE (amd64)
built on Wed Jun 28 03:57:27 UTC 2023
FreeBSD 14.0-CURRENT
I saved the backup file from the above release and restored it successfully to the same version(freeradius package was installed successfully upon config restore).
Did you attempt to restore the configuration from a previous release? If so, what was the configuration version of the backup file?
You can see the config version in the config file:
<pfsense>
<version>22.9</version>
<lastchange></lastchange>
Just checked on pfSense 2.7.0
Backup version is the same as yours.
internal_name is still there as before.
Not sure if the actual presence of that line is wrong per se, but I confirm removing it makes package reinstall to work.
Let me try give you more info to reproduce. We have the issue on many devices not just one. We also had this issue on pfSense 2.6.0. This 2.7.0 device I tried yesterday was installed from scratch with pfSense 2.6.0 and got imported a backup from another 2.6.0 device (we had to use the above described workaround to let package reinstall work) and then upgraded to 2.7.0. Taking a backup now from 2.7.0 still shows radiusd as internal_name line on the freeradius3 package.
We initially had this issue in similar circumstances where the source device was a 2.6.0 device (upgraded from 2.5.x) and another fresh-installed 2.6.0.
I can send you in private a copy of a problematic backup file you can import, if you need.
I couldn't understand how a fresh installed pfsense importing a backup without the internal_name line could install the current freeradius package from repos and then create backups which include that line with the old name.
That line was put in to help with #11888 so if it gets removed or changed that will need to be reopened or at least tested/confirmed.
- Related to Bug #11888: FreeRADIUS starts twice by /etc/rc.start_packages added
For what it's worth, I just restored a backup on 23.09 which had FreeRADIUS3 installed and it restored fine and reinstalled the package without error. The config has the radiusd
string in it as well.
<internal_name>radiusd</internal_name>
It's possible there is something else contributing here, but it's not clear what.
Jim Pingle wrote in #note-6:
For what it's worth, I just restored a backup on 23.09 which had FreeRADIUS3 installed and it restored fine and reinstalled the package without error. The config has the radiusd
string in it as well.
[...]
It's possible there is something else contributing here, but it's not clear what.
Please tell me how can I help you in investigating this. I tried many combos of same backup parts to see which one triggers this issue with no luck. I'm starting to feel a bit "cursed". 😂
Also available in: Atom
PDF