Bug #14730
openFreeRADIUS package has wrong/old internal_name specified in backup xml causing package reinstall failure on backup restore
0%
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.
Related issues
Updated by Danilo Zrenjanin about 1 year ago
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>
Updated by Luca Piccirillo about 1 year ago
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.
Updated by Luca Piccirillo about 1 year ago
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.
Updated by Jim Pingle about 1 year ago
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.
Updated by Jim Pingle about 1 year ago
- Related to Bug #11888: FreeRADIUS starts twice by /etc/rc.start_packages added
Updated by Jim Pingle about 1 year ago
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.
Updated by Luca Piccirillo about 1 year ago
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". 😂