[v2,8/8] wlanap.cgi: Access db.txt in place of using regdbdump on regulatory.bin

Message ID 20210728172932.2737967-8-adolf.belka@ipfire.org
State Superseded
Headers
Series [v2,1/8] make.sh: Remove crda and remaining python2 modules |

Commit Message

Adolf Belka July 28, 2021, 5:29 p.m. UTC
  - wlanap.cgi was using regdbdump from crda to create a text based list of the
   wireless settings by country database.
- With the removal of crda as part of the removal of python2 this option could not be
   used.
- wireless-regdb also has a text based database list in the source tarball and this
   patch makes wlanap.cgi read this list into the @countrylist_cmd variable
- This needs to be tested by someone that has an IPFire system with wifi that can access
   and evaluate wlanap.cgi to confirm that this change functions as expected.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 html/cgi-bin/wlanap.cgi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Michael Tremer Aug. 4, 2021, 2:32 p.m. UTC | #1
Hello,

> On 28 Jul 2021, at 19:29, Adolf Belka <adolf.belka@ipfire.org> wrote:
> 
> - wlanap.cgi was using regdbdump from crda to create a text based list of the
>   wireless settings by country database.
> - With the removal of crda as part of the removal of python2 this option could not be
>   used.
> - wireless-regdb also has a text based database list in the source tarball and this
>   patch makes wlanap.cgi read this list into the @countrylist_cmd variable
> - This needs to be tested by someone that has an IPFire system with wifi that can access
>   and evaluate wlanap.cgi to confirm that this change functions as expected.
> 
> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
> ---
> html/cgi-bin/wlanap.cgi | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/html/cgi-bin/wlanap.cgi b/html/cgi-bin/wlanap.cgi
> index eba5fe774..6954eb4f0 100644
> --- a/html/cgi-bin/wlanap.cgi
> +++ b/html/cgi-bin/wlanap.cgi
> @@ -312,7 +312,7 @@ if ( $channel =~ /\d+/ ){push(@temp,$channel + 0);}
> push(@channellist, @temp);
> }
> 
> -my @countrylist_cmd = `regdbdump /usr/lib/crda/regulatory.bin 2>/dev/null`;
> +my @countrylist_cmd = `/lib/firmware/db.txt`;

This will try to execute the text file.

What you want is probably something like:

open(FILE, “</lib/firmware/db.txt”);
my @countrylist_cmd = <FILE>;
close(FILE);

> # get available country codes
> 
> my @temp = "00";
> -- 
> 2.32.0
>
  
Adolf Belka Aug. 4, 2021, 5:04 p.m. UTC | #2
Hi Michael,

On 04/08/2021 16:32, Michael Tremer wrote:
> Hello,
> 
>> On 28 Jul 2021, at 19:29, Adolf Belka <adolf.belka@ipfire.org> wrote:
>>
>> - wlanap.cgi was using regdbdump from crda to create a text based list of the
>>    wireless settings by country database.
>> - With the removal of crda as part of the removal of python2 this option could not be
>>    used.
>> - wireless-regdb also has a text based database list in the source tarball and this
>>    patch makes wlanap.cgi read this list into the @countrylist_cmd variable
>> - This needs to be tested by someone that has an IPFire system with wifi that can access
>>    and evaluate wlanap.cgi to confirm that this change functions as expected.
>>
>> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
>> ---
>> html/cgi-bin/wlanap.cgi | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/html/cgi-bin/wlanap.cgi b/html/cgi-bin/wlanap.cgi
>> index eba5fe774..6954eb4f0 100644
>> --- a/html/cgi-bin/wlanap.cgi
>> +++ b/html/cgi-bin/wlanap.cgi
>> @@ -312,7 +312,7 @@ if ( $channel =~ /\d+/ ){push(@temp,$channel + 0);}
>> push(@channellist, @temp);
>> }
>>
>> -my @countrylist_cmd = `regdbdump /usr/lib/crda/regulatory.bin 2>/dev/null`;
>> +my @countrylist_cmd = `/lib/firmware/db.txt`;
> 
> This will try to execute the text file.
This shows my lack of perl knowledge. I just didn't think of the file being accessed a different way, although once you highlight it, it is very obvious.
> 
> What you want is probably something like:
> 
> open(FILE, “</lib/firmware/db.txt”);
> my @countrylist_cmd = <FILE>;
> close(FILE);
I will do a v3 patch set and also change the db.txt name as you mentioned in patch 7 of this set.

Regards,
Adolf.
> 
>> # get available country codes
>>
>> my @temp = "00";
>> -- 
>> 2.32.0
>>
>
  

Patch

diff --git a/html/cgi-bin/wlanap.cgi b/html/cgi-bin/wlanap.cgi
index eba5fe774..6954eb4f0 100644
--- a/html/cgi-bin/wlanap.cgi
+++ b/html/cgi-bin/wlanap.cgi
@@ -312,7 +312,7 @@  if ( $channel =~ /\d+/ ){push(@temp,$channel + 0);}
 push(@channellist, @temp);
 }
 
-my @countrylist_cmd = `regdbdump /usr/lib/crda/regulatory.bin 2>/dev/null`;
+my @countrylist_cmd = `/lib/firmware/db.txt`;
 # get available country codes
 
 my @temp = "00";