Hi Everyone, I have submitted a v2 version of the crda removal patch series. This now includes placing db.txt from the wireless-regdb source code into /lib/firmware/ and then using this file to provide the country list to variable @countrylist_cmd in wlanap.cgi which was using regdbdump from crda to access the list from regulatory.bin I don't have any IPFire system with a wireless card built in and I can't mimic that virtually in my VirtualBox vm testbed so someone who has a test system with wireless will need to test this to confirm that the wlanap.cgi change functions as expected. Regards, Adolf. On 16/07/2021 14:28, Adolf Belka wrote: > Hi Arne, > > On 11/07/2021 14:51, Michael Tremer wrote: >> Hello, >> >>> On 11 Jul 2021, at 12:29, Adolf Belka wrote: >>> >>> Hi All, >>> >>> On 10/07/2021 13:17, Adolf Belka wrote: >>>> Hi Arne, >>>> >>>> On 10/07/2021 09:25, Arne Fitzenreiter wrote: >>>>> It's not hostapd itself. It's the cgi that use regdump to generate some lists. >>>> Thanks for the clarification. >>>>> There must be a way to get this list from wireless-regdb. Or we can generate and ship it. >>>> I will have a look at this then and see if I can figure something out. >>>> If I am unable to then someone else may need to have a go but I will try to start with. >>>> >>> So my first thought was to build only regdbdump from the crda source tarball. From the makefile it looked like you could run make regdbdump. When I tried that I had an error but also it became clear it needed to have the python2 M2crypto in place to do it, which we obviously don't want to do. >>> >>> A separate makefile could be made just to build regdbdump using a different crypto program that is in IPFire but all of that is way beyond my capabilities. >>> >>> A different option is that we could copy the db.txt from the wireless-regdb source tarball to a location and then use that as the database source file for wlanap.cgi. db.txt is the text based equivalent of what is in the regulatory.bin file. A downside of that would be that we would not have the protection of the key signed file but I am not sure if that would be a problem here or not. We could always include a sha256 hash sum and use that to check that there has been no corruption of the file before loading it into @countrylist_cmd in wlanap.cgi >> >> This sounds like the better solution. A text file is fine because we only need a list of countries that are part of the wireless reg database. >> >> What does Arne think? > If you are okay with this approach of creating a text file I will go ahead and redo the previous patch set to include a text file generation and modification of wlanap.cgi to use it. > > Regards, > Adolf. >> >> -Michael >> >>> >>> What are the thoughts on my options above or on any additional options that I have not thought of. >>> >>> Regards, >>> >>> Adolf. >>> >>>> Regards, >>>> Adolf. >>>>> >>>>> Arne >>>>> >>>>> Am 2021-07-09 12:20, schrieb Adolf Belka: >>>>>> Hi Arne, >>>>>> >>>>>> On 09/07/2021 08:26, Arne Fitzenreiter wrote: >>>>>>> Removing regdump from crda package will break the hostapd webif because this is used to >>>>>>> generate the countrylist from wireless-regdb. >>>>>> I thought things had gone too smoothly. Oh well. >>>>>> >>>>>> I have searched in the hostapd mail list for crda in the subject. >>>>>> Nothing found all the way back to mid 2020 when there was a two year >>>>>> break in any mails listed. >>>>>> >>>>>> I can't find any way to search the body of the mails for any mention >>>>>> of crda and doing a google search for "hostapd crda" didn't flag >>>>>> anything useful up. >>>>>> >>>>>> So I think I need to mail the hostapd list to see what their plans are >>>>>> to not use crda (with its python2 dependency) in hostapd. >>>>>> >>>>>> Does anyone have any other thoughts on how to deal with this? >>>>>> >>>>>> Regards, >>>>>> >>>>>> Adolf. >>>>>>> >>>>>>> Arne >>>>>>> >>>>>>> Am 2021-06-28 21:13, schrieb Adolf Belka: >>>>>>>> - From kernel 4.15 and onwards the function of what crda does is built >>>>>>>> into the kernel. >>>>>>>> - Tested the removal of crda with kernel 4.14.232 and kernel 5.10.45 >>>>>>>>     Country code set by "iw reg set NL" was recognised with kernel >>>>>>>> 5.10.45 and set at >>>>>>>>     the global value of 00 with kernel 4.14.232 confirming the kernel >>>>>>>> built in option is >>>>>>>>     working without the prescence of crda >>>>>>>> >>>>>>>> Tested-by: Adolf Belka >>>>>>>> Signed-off-by: Adolf Belka >>>>>>>> --- >>>>>>>>   config/rootfiles/common/crda | 14 ------- >>>>>>>>   lfs/crda                     | 78 ------------------------------------ >>>>>>>>   2 files changed, 92 deletions(-) >>>>>>>>   delete mode 100644 config/rootfiles/common/crda >>>>>>>>   delete mode 100644 lfs/crda >>>>>>>> >>>>>>>> diff --git a/config/rootfiles/common/crda b/config/rootfiles/common/crda >>>>>>>> deleted file mode 100644 >>>>>>>> index 5f93bc254..000000000 >>>>>>>> --- a/config/rootfiles/common/crda >>>>>>>> +++ /dev/null >>>>>>>> @@ -1,14 +0,0 @@ >>>>>>>> -lib/udev/rules.d/85-regulatory.rules >>>>>>>> -#root/.python-eggs >>>>>>>> -#root/.python-eggs/M2Crypto-0.21.1-py2.7-linux-xxxMACHINExxx.egg-tmp >>>>>>>> -#root/.python-eggs/M2Crypto-0.21.1-py2.7-linux-xxxMACHINExxx.egg-tmp/M2Crypto -#root/.python-eggs/M2Crypto-0.21.1-py2.7-linux-xxxMACHINExxx.egg-tmp/M2Crypto/__m2crypto.so -sbin/crda >>>>>>>> -sbin/regdbdump >>>>>>>> -#usr/include/reglib >>>>>>>> -#usr/include/reglib/nl80211.h >>>>>>>> -#usr/include/reglib/regdb.h >>>>>>>> -#usr/include/reglib/reglib.h >>>>>>>> -usr/lib/libreg.so >>>>>>>> -#usr/share/man/man8/crda.8.gz >>>>>>>> -#usr/share/man/man8/regdbdump.8.gz >>>>>>>> diff --git a/lfs/crda b/lfs/crda >>>>>>>> deleted file mode 100644 >>>>>>>> index bd812942e..000000000 >>>>>>>> --- a/lfs/crda >>>>>>>> +++ /dev/null >>>>>>>> @@ -1,78 +0,0 @@ >>>>>>>> -############################################################################### -#        # >>>>>>>> -# IPFire.org - A linux based firewall        # >>>>>>>> -# Copyright (C) 2007-2018  IPFire Team         # >>>>>>>> -#        # >>>>>>>> -# This program is free software: you can redistribute it and/or modify        # >>>>>>>> -# it under the terms of the GNU General Public License as published by        # >>>>>>>> -# the Free Software Foundation, either version 3 of the License, or        # >>>>>>>> -# (at your option) any later version.        # >>>>>>>> -#        # >>>>>>>> -# This program is distributed in the hope that it will be useful,        # >>>>>>>> -# but WITHOUT ANY WARRANTY; without even the implied warranty of        # >>>>>>>> -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the        # >>>>>>>> -# GNU General Public License for more details.        # >>>>>>>> -#        # >>>>>>>> -# You should have received a copy of the GNU General Public License        # >>>>>>>> -# along with this program.  If not, see .       # >>>>>>>> -#        # >>>>>>>> -############################################################################### - >>>>>>>> -############################################################################### -# Definitions >>>>>>>> -############################################################################### - >>>>>>>> -include Config >>>>>>>> - >>>>>>>> -VER        = 4.14 >>>>>>>> - >>>>>>>> -THISAPP    = crda-$(VER) >>>>>>>> -DL_FILE    = $(THISAPP).tar.gz >>>>>>>> -DL_FROM    = $(URL_IPFIRE) >>>>>>>> -DIR_APP    = $(DIR_SRC)/$(THISAPP) >>>>>>>> - >>>>>>>> -TARGET = $(DIR_INFO)/$(THISAPP) >>>>>>>> - >>>>>>>> -############################################################################### -# Top-level Rules >>>>>>>> -############################################################################### - >>>>>>>> -objects = $(DL_FILE) >>>>>>>> - >>>>>>>> -$(DL_FILE) = $(DL_FROM)/$(DL_FILE) >>>>>>>> - >>>>>>>> -$(DL_FILE)_MD5 = cac7ba8de3e2e6aa46918e0c76df7d67 >>>>>>>> - >>>>>>>> -install : $(TARGET) >>>>>>>> - >>>>>>>> -check : $(patsubst %,$(DIR_CHK)/%,$(objects)) >>>>>>>> - >>>>>>>> -download :$(patsubst %,$(DIR_DL)/%,$(objects)) >>>>>>>> - >>>>>>>> -md5 : $(subst %,%_MD5,$(objects)) >>>>>>>> - >>>>>>>> -############################################################################### -# Downloading, checking, md5sum >>>>>>>> -############################################################################### - >>>>>>>> -$(patsubst %,$(DIR_CHK)/%,$(objects)) : >>>>>>>> -    @$(CHECK) >>>>>>>> - >>>>>>>> -$(patsubst %,$(DIR_DL)/%,$(objects)) : >>>>>>>> -    @$(LOAD) >>>>>>>> - >>>>>>>> -$(subst %,%_MD5,$(objects)) : >>>>>>>> -    @$(MD5) >>>>>>>> - >>>>>>>> -############################################################################### -# Installation Details >>>>>>>> -############################################################################### - >>>>>>>> -$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) >>>>>>>> -    @$(PREBUILD) >>>>>>>> -    @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) >>>>>>>> -    cd $(DIR_APP) && sed -e "s/-Werror//g" -i Makefile >>>>>>>> -    cd $(DIR_APP) && make $(MAKETUNING) >>>>>>>> -    cd $(DIR_APP) && make install >>>>>>>> -    @rm -rf $(DIR_APP) >>>>>>>> -    @$(POSTBUILD) >>>> >>