From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adolf Belka To: development@lists.ipfire.org Subject: Re: [PATCH 2/6] crda: removal from kernel 4.15 and onwards. Date: Wed, 28 Jul 2021 19:44:08 +0200 Message-ID: <53262cf1-ef37-6f57-78fd-5a0a93844d29@ipfire.org> In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4779996076511031785==" List-Id: --===============4779996076511031785== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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 /li= b/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 mimi= c 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 f= unctions 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 gen= erate 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 tarb= all. From the makefile it looked like you could run make regdbdump. When I tr= ied that I had an error but also it became clear it needed to have the python= 2 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 differe= nt crypto program that is in IPFire but all of that is way beyond my capabili= ties. >>> >>> A different option is that we could copy the db.txt from the wireless-reg= db 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 regula= tory.bin file. A downside of that would be that we would not have the protect= ion 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 modific= ation of wlanap.cgi to use it. > > Regards, > Adolf. >> >> -Michael >> >>> >>> What are the thoughts on my options above or on any additional options th= at 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 becau= se 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 bui= lt >>>>>>>> into the kernel. >>>>>>>> - Tested the removal of crda with kernel 4.14.232 and kernel 5.10.45 >>>>>>>> =C2=A0=C2=A0=C2=A0 Country code set by "iw reg set NL" was recognise= d with kernel >>>>>>>> 5.10.45 and set at >>>>>>>> =C2=A0=C2=A0=C2=A0 the global value of 00 with kernel 4.14.232 confi= rming the kernel >>>>>>>> built in option is >>>>>>>> =C2=A0=C2=A0=C2=A0 working without the prescence of crda >>>>>>>> >>>>>>>> Tested-by: Adolf Belka >>>>>>>> Signed-off-by: Adolf Belka >>>>>>>> --- >>>>>>>> =C2=A0 config/rootfiles/common/crda | 14 ------- >>>>>>>> =C2=A0 lfs/crda=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 78 --= ---------------------------------- >>>>>>>> =C2=A0 2 files changed, 92 deletions(-) >>>>>>>> =C2=A0 delete mode 100644 config/rootfiles/common/crda >>>>>>>> =C2=A0 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-tm= p/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 @@ >>>>>>>> -###################################################################= ############ -#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # >>>>>>>> -# IPFire.org - A linux based firewall=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 # >>>>>>>> -# Copyright (C) 2007-2018=C2=A0 IPFire Team =C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # >>>>>>>> -#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # >>>>>>>> -# This program is free software: you can redistribute it and/or mod= ify=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # >>>>>>>> -# it under the terms of the GNU General Public License as published= by=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # >>>>>>>> -# the Free Software Foundation, either version 3 of the License, or= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # >>>>>>>> -# (at your option) any later version.=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 # >>>>>>>> -#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # >>>>>>>> -# This program is distributed in the hope that it will be useful,= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # >>>>>>>> -# but WITHOUT ANY WARRANTY; without even the implied warranty of=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # >>>>>>>> -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # >>>>>>>> -# GNU General Public License for more details.=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 # >>>>>>>> -#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # >>>>>>>> -# You should have received a copy of the GNU General Public License= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # >>>>>>>> -# along with this program.=C2=A0 If not, see .=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # >>>>>>>> -#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # >>>>>>>> -###################################################################= ############ - >>>>>>>> -###################################################################= ############ -# Definitions >>>>>>>> -###################################################################= ############ - >>>>>>>> -include Config >>>>>>>> - >>>>>>>> -VER=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =3D 4.14 >>>>>>>> - >>>>>>>> -THISAPP=C2=A0=C2=A0=C2=A0 =3D crda-$(VER) >>>>>>>> -DL_FILE=C2=A0=C2=A0=C2=A0 =3D $(THISAPP).tar.gz >>>>>>>> -DL_FROM=C2=A0=C2=A0=C2=A0 =3D $(URL_IPFIRE) >>>>>>>> -DIR_APP=C2=A0=C2=A0=C2=A0 =3D $(DIR_SRC)/$(THISAPP) >>>>>>>> - >>>>>>>> -TARGET =3D $(DIR_INFO)/$(THISAPP) >>>>>>>> - >>>>>>>> -###################################################################= ############ -# Top-level Rules >>>>>>>> -###################################################################= ############ - >>>>>>>> -objects =3D $(DL_FILE) >>>>>>>> - >>>>>>>> -$(DL_FILE) =3D $(DL_FROM)/$(DL_FILE) >>>>>>>> - >>>>>>>> -$(DL_FILE)_MD5 =3D cac7ba8de3e2e6aa46918e0c76df7d67 >>>>>>>> - >>>>>>>> -install : $(TARGET) >>>>>>>> - >>>>>>>> -check : $(patsubst %,$(DIR_CHK)/%,$(objects)) >>>>>>>> - >>>>>>>> -download :$(patsubst %,$(DIR_DL)/%,$(objects)) >>>>>>>> - >>>>>>>> -md5 : $(subst %,%_MD5,$(objects)) >>>>>>>> - >>>>>>>> -###################################################################= ############ -# Downloading, checking, md5sum >>>>>>>> -###################################################################= ############ - >>>>>>>> -$(patsubst %,$(DIR_CHK)/%,$(objects)) : >>>>>>>> -=C2=A0=C2=A0=C2=A0 @$(CHECK) >>>>>>>> - >>>>>>>> -$(patsubst %,$(DIR_DL)/%,$(objects)) : >>>>>>>> -=C2=A0=C2=A0=C2=A0 @$(LOAD) >>>>>>>> - >>>>>>>> -$(subst %,%_MD5,$(objects)) : >>>>>>>> -=C2=A0=C2=A0=C2=A0 @$(MD5) >>>>>>>> - >>>>>>>> -###################################################################= ############ -# Installation Details >>>>>>>> -###################################################################= ############ - >>>>>>>> -$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) >>>>>>>> -=C2=A0=C2=A0=C2=A0 @$(PREBUILD) >>>>>>>> -=C2=A0=C2=A0=C2=A0 @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $= (DIR_DL)/$(DL_FILE) >>>>>>>> -=C2=A0=C2=A0=C2=A0 cd $(DIR_APP) && sed -e "s/-Werror//g" -i Makefi= le >>>>>>>> -=C2=A0=C2=A0=C2=A0 cd $(DIR_APP) && make $(MAKETUNING) >>>>>>>> -=C2=A0=C2=A0=C2=A0 cd $(DIR_APP) && make install >>>>>>>> -=C2=A0=C2=A0=C2=A0 @rm -rf $(DIR_APP) >>>>>>>> -=C2=A0=C2=A0=C2=A0 @$(POSTBUILD) >>>> >> --===============4779996076511031785==--