[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1014079: marked as done (bullseye-pu: package wireless-regdb/2022.04.08-2~deb11u1)



Your message dated Sat, 09 Jul 2022 11:47:43 +0100
with message-id <2280fe8c78e64b02a6c1d04c6dde5a32e342ba81.camel@adam-barratt.org.uk>
and subject line Closing requests for updates included in 11.4
has caused the Debian Bug report #1014079,
regarding bullseye-pu: package wireless-regdb/2022.04.08-2~deb11u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1014079: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1014079
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: debian-kernel@lists.debian.org

[ Reason ]
Provide current information about national radio regulations to the
Linux Wi-Fi stack.

[ Impact ]
Users may accidentally configure Wi-Fi hardware to use channels or
power levels that are not permitted, or may be unable to use channels
that are permitted.

[ Tests ]
- The signatures on regulatory.db are now checked against the kernel
  trust list by an autopkgtest test case.
- I installed the package on top of a fresh bullseye installation
  and verified that:
  - /lib/firmware/regulatory.db{,.p7s} are replaced with symlinks.
  - The kernel can load the regulatory database without errors.
- The database itself is currently identical to the upstream version
  which is already used by other distributions.

[ Risks ]
The package is fairly trivial.  The only risk I see is that the new
database could conceivably differ from the actual regulations in a
more serious way.

[ Checklist ]
  [X] *all* changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in (old)stable
  [X] the issue is verified as fixed in unstable

[ Changes ]
Upstream changes:
- Updated the regulatory database (db.txt) following various national
  radio regulatory changes.
- Regenerated the binaries and signatures (regulatory.bin,
  regulatory.db, regulatory.db.p7s) and checksum (sha1sum.txt) from
  db.txt.
- Changed gen-pubcert.sh script and associated rule to put a
  configurable name in the generated certificate.  These aren't used
  in a package build.

Debian changes:
- Fixed bug #1012601, which would otherwise mean that the updated
  database isn't actually used.
- Regenerated my signatures (debian/regulatory.bin.sig,
  debian/regulatory.db.p7s).
- Added a Salsa CI configuration.
- Added an autopkgtest test case.

[ Other info ]
N/A
diff -Nru wireless-regdb-2020.04.29/Makefile wireless-regdb-2022.04.08/Makefile
--- wireless-regdb-2020.04.29/Makefile	2020-04-29 19:51:03.000000000 +0200
+++ wireless-regdb-2022.04.08/Makefile	2022-04-08 17:54:37.000000000 +0200
@@ -80,7 +80,7 @@
 
 $(REGDB_PUBCERT): $(REGDB_PRIVKEY)
 	@echo "Generating certificate for $(REGDB_AUTHOR)..."
-	./gen-pubcert.sh $(REGDB_PRIVKEY) $(REGDB_PUBCERT)
+	./gen-pubcert.sh $(REGDB_PRIVKEY) $(REGDB_PUBCERT) $(REGDB_AUTHOR)
 	@echo $(REGDB_PUBKEY) > .custom
 
 
diff -Nru wireless-regdb-2020.04.29/db.txt wireless-regdb-2022.04.08/db.txt
--- wireless-regdb-2020.04.29/db.txt	2020-04-29 19:51:03.000000000 +0200
+++ wireless-regdb-2022.04.08/db.txt	2022-04-08 17:54:37.000000000 +0200
@@ -10,6 +10,9 @@
 
 # This is the world regulatory domain
 country 00:
+	# There is no global intersection for 802.11ah, so just mark the entire
+	# possible band as NO-IR
+	(755 - 928 @ 2), (20), NO-IR
 	(2402 - 2472 @ 40), (20)
 	# Channel 12 - 13.
 	(2457 - 2482 @ 20), (20), NO-IR, AUTO-BW
@@ -118,7 +121,7 @@
 	(57000 - 66000 @ 2160), (40)
 
 # Source:
-# https://www.legislation.gov.au/Details/F2016C00432
+# https://www.legislation.gov.au/Details/F2022C00281
 # Both DFS-ETSI and DFS-FCC are acceptable per AS/NZS 4268 Appendix B.
 # The EIRP for DFS bands can be increased by 3dB if TPC is implemented.
 # In order to allow 80MHz operation between 5650-5730MHz the upper boundary
@@ -130,6 +133,7 @@
 	(5470 - 5600 @ 80), (27), DFS
 	(5650 - 5730 @ 80), (27), DFS
 	(5730 - 5850 @ 80), (36)
+	(5925 - 6425 @ 160), (24), NO-OUTDOOR
 	(57000 - 66000 @ 2160), (43), NO-OUTDOOR
 
 country AW: DFS-ETSI
@@ -346,11 +350,13 @@
 	(5250 - 5330 @ 80), (20), DFS, AUTO-BW
 	(5735 - 5835 @ 80), (20)
 
+# Source:
+# https://wap.miit.gov.cn/cms_files/filemanager/1226211233/attach/20219/d125301b13454551b698ff5afa49ca28.pdf
+# Note: The transmit power for 5150-5350MHz bands can be raised by 3dBm when TPC is implemented
 country CN: DFS-FCC
-	(2402 - 2482 @ 40), (20)
-	(5170 - 5250 @ 80), (23), AUTO-BW
-	(5250 - 5330 @ 80), (23), DFS, AUTO-BW
-	(5735 - 5835 @ 80), (30)
+	(2400 - 2483.5 @ 40), (20)
+	(5150 - 5350 @ 80), (20), DFS, AUTO-BW
+	(5725 - 5850 @ 80), (33)
 	# 60 GHz band channels 1,4: 28dBm, channels 2,3: 44dBm
 	# ref: http://www.miit.gov.cn/n11293472/n11505629/n11506593/n11960250/n11960606/n11960700/n12330791.files/n12330790.pdf
 	(57240 - 59400 @ 2160), (28)
@@ -374,9 +380,13 @@
 # Source:
 # https://www.mincom.gob.cu/es/marco-legal
 # - Redes Informáticas
-# Resolución 127- 2011 Reglamento de Banda de frecuencias de 2,4 GHz.
+#    Resolución 98- 2019 Reglamento de Redes Inalámbricas:
+# https://www.mincom.gob.cu/sites/default/files/marcoregulatorio/r_98-19_reglamento_redes_inalambricas.pdf
 country CU: DFS-FCC
 	(2400 - 2483.5 @ 40), (200 mW)
+	(5150 - 5350 @ 80), (200 mW), NO-IR, NO-OUTDOOR
+	(5470 - 5725 @ 80), (250 mW), NO-IR
+	(5725 - 5850 @ 80), (200 mW)
 
 country CX: DFS-FCC
 	(2402 - 2482 @ 40), (20)
@@ -444,6 +454,12 @@
 # Bereich 57 GHz - 66 GHz für Funkanwendungen für weitbandige
 # Datenübertragungssysteme; „Multiple Gigabit WAS/RLAN Systems (MGWS)“).
 # https://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Frequenzen/Allgemeinzuteilungen/2011_08_MGWS_pdf.pdf
+#
+# Allocation for the WiFi 6E Band (Allgemeinzuteilung von Frequenzen im
+# Bereich 5945 MHz - 6425 MHz für drahtlose Zugangssysteme,
+# einschließlich lokaler Funknetze WAS/WLAN („Wireless Access Systems
+# including Wireless Local Area Networks“))
+# https://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Frequenzen/Allgemeinzuteilungen/MobilfunkDectWlanCBFunk/vfg552021WLAN6GHz.pdf
 country DE: DFS-ETSI
 	(2400 - 2483.5 @ 40), (100 mW)
 	(5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
@@ -451,6 +467,8 @@
 	(5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI
 	# short range devices (ETSI EN 300 440-1)
 	(5725 - 5875 @ 80), (25 mW)
+	# WiFi 6E
+	(5945 - 6425 @ 160), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
 	# 60 GHz band channels 1-4 (ETSI EN 302 567)
 	(57000 - 66000 @ 2160), (40)
 
@@ -492,12 +510,14 @@
 	(5250.000 - 5330.000 @ 80.000), (23.00), DFS, AUTO-BW
 	(5490.000 - 5670.000 @ 160.000), (23.00), DFS
 
+# Source:
+# https://www.arcotel.gob.ec/wp-content/uploads/2018/04/NORMA-ESPECTRO-DE-USO-LIBRE-Y-ESPECTRO-PARA-USO-DETERMINADO-EN-BANDAS-LIBRES.pdf
 country EC: DFS-FCC
-	(2402 - 2482 @ 40), (20)
-	(5170 - 5250 @ 20), (17)
-	(5250 - 5330 @ 20), (24), DFS
-	(5490 - 5730 @ 20), (24), DFS
-	(5735 - 5835 @ 20), (30)
+	(2400 - 2483.5 @ 40), (1000 mW)
+	(5150 - 5250 @ 80), (50 mW), AUTO-BW, DFS
+	(5250 - 5350 @ 80), (125 mW), AUTO-BW, DFS
+	(5470 - 5725 @ 160), (125 mW), DFS
+	(5725 - 5850 @ 80), (1000 mW)
 
 # EE as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893)
 # and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440)
@@ -516,17 +536,18 @@
 	# 60 GHz band channels 1-4 (ETSI EN 302 567)
 	(57000 - 66000 @ 2160), (40)
 
+# https://www.tra.gov.eg/en/industry/importing-of-equipment/Pages/Regulations-for-use-of-Wireless-Networks-Devices.aspx
 country EG: DFS-ETSI
-	(2402 - 2482 @ 40), (20)
-	(5170 - 5250 @ 40), (20)
-	(5250 - 5330 @ 40), (20), DFS
+	(2402 - 2483.5 @ 40), (20)
+	(5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
+	(5250 - 5330 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI
 
 # ES as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893)
 # and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440)
 #  EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213
 #  EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611
 # Harmonized CEPT countries (July 2019): https://www.ecodocdb.dk/download/25c41779-cd6e/Rec7003e.pdf
-# ES: https://avancedigital.gob.es/espectro/Paginas/cnaf.aspx
+# ES: https://avancedigital.mineco.gob.es/espectro/Paginas/cnaf.aspx
 country ES: DFS-ETSI
 	(2400 - 2483.5 @ 40), (100 mW)
 	(5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
@@ -534,6 +555,8 @@
 	(5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI
 	# short range devices (ETSI EN 300 440-1)
 	(5725 - 5875 @ 80), (25 mW)
+	# WiFi 6E
+	(5945 - 6425 @ 160), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
 	# 60 GHz band channels 1-4 (ETSI EN 302 567)
 	(57000 - 66000 @ 2160), (40)
 
@@ -570,6 +593,7 @@
 #  EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213
 #  EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611
 # Harmonized CEPT countries (July 2019): https://www.ecodocdb.dk/download/25c41779-cd6e/Rec7003e.pdf
+# FR: https://www.anfr.fr/fileadmin/mediatheque/documents/tnrbf/TNRBF_2021-12-14.pdf
 country FR: DFS-ETSI
 	(2400 - 2483.5 @ 40), (100 mW)
 	(5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
@@ -577,8 +601,10 @@
 	(5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI
 	# short range devices (ETSI EN 300 440-1)
 	(5725 - 5875 @ 80), (25 mW)
-	# 60 GHz band channels 1-4 (ETSI EN 302 567)
-	(57000 - 66000 @ 2160), (40)
+	# WiFi 6E low power indoor
+	(5945 - 6425 @ 160), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
+	# 60 GHz band channels 1-6 (ETSI EN 302 567 v2.2.1)
+	(57000 - 71000 @ 2160), (40)
 
 # GB as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893)
 # and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440)
@@ -592,9 +618,9 @@
 	(2400 - 2483.5 @ 40), (100 mW)
 	(5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
 	(5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI
-	(5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI
+	(5470 - 5730 @ 160), (500 mW), DFS, wmmrule=ETSI
 	# short range devices (ETSI EN 300 440-1)
-	(5725 - 5875 @ 80), (25 mW)
+	(5725 - 5850 @ 80), (200 mW), NO-OUTDOOR
 	# 60 GHz band channels 1-6
 	(57000 - 71000 @ 2160), (40)
 
@@ -692,12 +718,15 @@
 #  EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611
 # Harmonized CEPT countries (July 2019): https://www.ecodocdb.dk/download/25c41779-cd6e/Rec7003e.pdf
 # HR: http://tablice.hakom.hr:8080/vis?lang=en
+# 6E: https://www.hakom.hr/UserDocsImages/op%C4%87e%20dozvole%20prosinac%202009.g/Opca_dozvola_236.pdf
 	(2400 - 2483.5 @ 40), (100 mW)
-	(5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
-	(5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI
+	(5150 - 5250 @ 80), (200 mW), AUTO-BW, wmmrule=ETSI
+	(5250 - 5350 @ 80), (200 mW), DFS, AUTO-BW, wmmrule=ETSI
 	(5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI
 	# short range devices (ETSI EN 300 440-1)
 	(5725 - 5875 @ 80), (25 mW)
+	# WiFi 6E
+	(5945 - 6425 @ 160), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
 	# 60 GHz band channels 1-4 (ETSI EN 302 567)
 	(57000 - 66000 @ 2160), (40)
 
@@ -749,10 +778,19 @@
 	# 60 GHz band channels 1-4 (ETSI EN 302 567)
 	(57000 - 66000 @ 2160), (40)
 
+# IL: Wireless Telegraph Regulations (type approval) (2021)
+# IL: published on 29 March 2021 in KOVETS HATAKANOT No. 9301.
+# IL: https://www.gov.il/he/departments/legalInfo/telegraph_law
+# IL: official document (pdf): https://rfa.justice.gov.il/SearchPredefinedApi/Documents/IdngyMn~ojdQSrkxuAqfZqiM8c1foi3TSZQhp7OMszo=
+# IL: also available as unofficial word doc: https://www.nevo.co.il/Handlers/LawOpenDoc.ashx?id=199708
 country IL: DFS-ETSI
 	(2402 - 2482 @ 40), (20)
 	(5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW
 	(5250 - 5350 @ 80), (200 mW), NO-OUTDOOR, DFS, AUTO-BW
+	# Table B List of conditions, row 63, indoor short range device without TPC (ETSI EN 301 893)
+	(5470 - 5725 @ 160), (500 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI
+	# Table B List of conditions, row 68, wireless device using 802.11a/n/ac protocol
+	(5725 - 5875 @ 80), (200 mW), AUTO-BW
 
 country IN:
 	(2402 - 2482 @ 40), (20)
@@ -847,15 +885,21 @@
 	(5490 - 5630 @ 20), (30), DFS
 	(5735 - 5815 @ 20), (30)
 
+# Source:
+# https://www.law.go.kr/LSW//admRulLsInfoP.do?chrClsCd=&admRulSeq=2100000205195
+# https://www.law.go.kr/LSW//admRulLsInfoP.do?chrClsCd=&admRulSeq=2100000205187
+# https://www.law.go.kr/LSW//admRulLsInfoP.do?chrClsCd=&admRulSeq=2100000206568
 country KR: DFS-JP
-	# ref: https://www.rra.go.kr
 	(2400 - 2483.5 @ 40), (23)
-	(5150 - 5250 @ 80), (23), AUTO-BW
+	(5150 - 5230 @ 40), (23), AUTO-BW
+	# max. PSD 2.5 mW/MHz in 5230-5250 MHz frequency range
+	(5230 - 5250 @ 20), (17), AUTO-BW
 	(5250 - 5350 @ 80), (20), DFS, AUTO-BW
 	(5470 - 5725 @ 160), (20), DFS
-	(5725 - 5835 @ 80), (23)
-	# 60 GHz band channels 1-4,
-	# ref: http://www.law.go.kr/%ED%96%89%EC%A0%95%EA%B7%9C%EC%B9%99/%EB%AC%B4%EC%84%A0%EC%84%A4%EB%B9%84%EA%B7%9C%EC%B9%99
+	(5725 - 5850 @ 80), (23)
+	# 6 GHz band
+	(5925 - 7125 @ 160), (15), NO-OUTDOOR
+	# 60 GHz band channels 1-4
 	(57000 - 66000 @ 2160), (43)
 
 country KW: DFS-ETSI
@@ -871,13 +915,15 @@
 	(5735 - 5835 @ 80), (30)
 
 # Source:
-# http://mic.gov.kz/sites/default/files/pages/pravila_prisvoeniya_polos_chastot_no34.pdf
-# http://adilet.zan.kz/rus/docs/P000001379_
+# http://adilet.zan.kz/rus/docs/V1500010730
+# http://adilet.zan.kz/rus/docs/V1500010375
 country KZ: DFS-ETSI
-	(2402 - 2482 @ 40), (20)
-	(5150 - 5250 @ 80), (20), NO-OUTDOOR, AUTO-BW
+	(2400 - 2483.5 @ 40), (20)
+	(5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW
 	(5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW
-	(5470 - 5725 @ 80), (20), NO-OUTDOOR, DFS
+	(5470 - 5725 @ 160), (20), NO-OUTDOOR, DFS
+	(5725 - 5850 @ 80), (20), NO-OUTDOOR
+	(57000 - 66000 @ 2160), (40)
 
 country LB: DFS-FCC
 	(2402 - 2482 @ 40), (20)
@@ -1158,6 +1204,10 @@
 #  EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611
 # Harmonized CEPT countries (July 2019): https://www.ecodocdb.dk/download/25c41779-cd6e/Rec7003e.pdf
 # NL: http://wetten.overheid.nl/BWBR0036378/2015-03-05
+# Updated 14 december 2021 to allow the lower part of the 6GHz spectrum for WiFi 6E
+# mobile short distance equipment, broadband transmission equipment, license free, from day after publication
+# NL announcement: https://zoek.officielebekendmakingen.nl/stcrt-2021-49492.pdf
+# NL law: https://wetten.overheid.nl/BWBR0036378/2021-12-15
 country NL: DFS-ETSI
 	(2400 - 2483.5 @ 40), (100 mW)
 	(5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
@@ -1165,6 +1215,8 @@
 	(5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI
 	# short range devices (ETSI EN 300 440-1)
 	(5725 - 5875 @ 80), (25 mW)
+	# WiFi 6E
+	(5945 - 6425 @ 160), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
 	# 60 GHz band channels 1-4 (ETSI EN 302 567)
 	(57000 - 66000 @ 2160), (40)
 
@@ -1183,8 +1235,10 @@
 	(5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI
 	# short range devices (ETSI EN 300 440-1)
 	(5725 - 5875 @ 80), (25 mW)
+	# WiFi 6E
+	(5945 - 6425 @ 160), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
 	# 60 GHz band channels 1-4 (ETSI EN 302 567)
-	(57000 - 66000 @ 2160), (40)
+	(57000 - 71000 @ 2160), (40)
 
 country NP: DFS-JP
 	(2402 - 2482 @ 40), (20)
@@ -1243,8 +1297,10 @@
 	(5735 - 5835 @ 80), (30)
 
 country PK: DFS-JP
+	# https://fab.gov.pk/type-approval/
+	# https://pta.gov.pk/media/Pakistan_Table_of_Frequency_Allocations.pdf
 	(2402 - 2482 @ 40), (20)
-	(5735 - 5835 @ 80), (30)
+	(5725 - 5875 @ 80), (30)
 
 # PL as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893)
 # and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440)
@@ -1543,21 +1599,20 @@
 	(2402 - 2482 @ 40), (20)
 	(5735 - 5835 @ 80), (30)
 
-# Source:
-# #914 / 06 Sep 2007: http://www.ucrf.gov.ua/uk/doc/nkrz/1196068874
-# #1174 / 23 Oct 2008: http://www.nkrz.gov.ua/uk/activities/ruling/1225269361
-# (appendix 8)
-# Listed 5GHz range is a lowest common denominator for all related
-# rules in the referenced laws. Such a range is used because of
-# disputable definitions there.
+# Source: https://zakon.rada.gov.ua/laws/show/z0201-15#n48
+# Although it is allowed to use up to 250 mW for some 5 GHz frequency ranges,
+# all of them are limited to 100 mW for IEEE 802.11n and IEEE 802.11ac.
+# 2.4 GHz band channels can be used outdoors when some requirements are met.
+# 5 GHz band channels must be used only indoors in some cases. They are neither
+# permitted nor denied outdoors in others.
 country UA: DFS-ETSI
-	(2400 - 2483.5 @ 40), (20), NO-OUTDOOR
-	(5150 - 5250 @ 80), (20), NO-OUTDOOR, AUTO-BW
-	(5250 - 5350 @ 80), (20), DFS, NO-OUTDOOR, AUTO-BW
-	(5490 - 5670 @ 160), (20), DFS
-	(5735 - 5835 @ 80), (20)
+	(2400 - 2483.5 @ 40), (100 mW), NO-OUTDOOR
+	(5150 - 5250 @ 80), (100 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
+	(5250 - 5350 @ 80), (100 mW), DFS, NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
+	(5470 - 5725 @ 160), (100 mW), DFS, NO-OUTDOOR, wmmrule=ETSI
+	(5725 - 5850 @ 80), (100 mW), NO-OUTDOOR
 	# 60 GHz band channels 1-4, ref: Etsi En 302 567
-	(57000 - 66000 @ 2160), (40)
+	(57000 - 66000 @ 2160), (40 mW), NO-OUTDOOR
 
 country UG: DFS-FCC
 	(2402 - 2482 @ 40), (20)
@@ -1568,17 +1623,30 @@
 
 # https://www.ecfr.gov/cgi-bin/text-idx?SID=eed706a2c49fd9271106c3228b0615f3&mc=true&node=pt47.1.15&rgn=div5
 # Title 47 Part 15 - Radio Frequency Devices, April 2, 2020
+# Channels 12 and 13 are not forbidden, but are not normally used with full
+# power in order to avoid any potential interference in the adjacent restricted
+# frequency band, 2,483.5–2,500 MHz which is subject to strict emission limits
+# set out in 47 CFR § 15.205. TODO: reenable and specify a safe TX power here.
 country US: DFS-FCC
-	(2400 - 2483.5 @ 40), (30)
+	# S1G Channel 1-3
+	(902 - 904 @ 2), (30)
+	# S1G Channel 5-35
+	(904 - 920 @ 16), (30)
+	# S1G Channel 37-51
+	(920 - 928 @ 8), (30)
+	(2400 - 2472 @ 40), (30)
 	# 5.15 ~ 5.25 GHz: 30 dBm for master mode, 23 dBm for clients
 	(5150 - 5250 @ 80), (23), AUTO-BW
-	(5250 - 5350 @ 80), (23), DFS, AUTO-BW
+	(5250 - 5350 @ 80), (24), DFS, AUTO-BW
 	# This range ends at 5725 MHz, but channel 144 extends to 5730 MHz.
 	# Since 5725 ~ 5730 MHz belongs to the next range which has looser
 	# requirements, we can extend the range by 5 MHz to make the kernel
 	# happy and be able to use channel 144.
-	(5470 - 5730 @ 160), (23), DFS
-	(5730 - 5850 @ 80), (30)
+	(5470 - 5730 @ 160), (24), DFS
+	(5730 - 5850 @ 80), (30), AUTO-BW
+	# https://www.federalregister.gov/documents/2021/05/03/2021-08802/use-of-the-5850-5925-ghz-band
+	# max. 33 dBm AP @ 20MHz, 36 dBm AP @ 40Mhz+, 6 dB less for clients
+	(5850 - 5895 @ 40), (27), NO-OUTDOOR, AUTO-BW, NO-IR
 	# 60g band
 	# reference: section IV-D https://docs.fcc.gov/public/attachments/FCC-16-89A1.pdf
 	# channels 1-6 EIRP=40dBm(43dBm peak)
diff -Nru wireless-regdb-2020.04.29/debian/changelog wireless-regdb-2022.04.08/debian/changelog
--- wireless-regdb-2020.04.29/debian/changelog	2020-06-30 19:34:44.000000000 +0200
+++ wireless-regdb-2022.04.08/debian/changelog	2022-06-30 01:13:22.000000000 +0200
@@ -1,3 +1,54 @@
+wireless-regdb (2022.04.08-2~deb11u1) bullseye; urgency=medium
+
+  * Backport to bullseye:
+    - Revert "Remove support for loading through crda"
+    - Add my signature for regulatory.bin
+    - d/salsa-ci.yml: Set RELEASE to bullseye
+  * d/tests/check-signatures: Fix typo in openssl command line
+
+ -- Ben Hutchings <benh@debian.org>  Thu, 30 Jun 2022 01:13:22 +0200
+
+wireless-regdb (2022.04.08-2) unstable; urgency=medium
+
+  * debian/tests: Add check that regulatory.db signatures are valid
+  * d/wireless-regdb.postinst: Remove regular files installed by d-i
+    (Closes: #1012601)
+
+ -- Ben Hutchings <benh@debian.org>  Thu, 30 Jun 2022 00:01:25 +0200
+
+wireless-regdb (2022.04.08-1) unstable; urgency=medium
+
+  * New upstream version:
+    - Raise DFS TX power limit to 250 mW (24 dBm) for the US
+    - Update regulatory rules for Croatia (HR) on 6GHz
+    - Update regulatory rules for France (FR) on 6 and 60 GHz
+    - add support for US S1G channels
+    - add 802.11ah bands to world regulatory domain
+    - Update regulatory rules for Spain (ES) on 6GHz
+    - Update regulatory rules for South Korea (KR)
+    - Update regulatory rules for China (CN) (Closes: #1006127)
+    - Update regulatory rules for the Netherlands (NL) on 6GHz
+    - Update regulatory rules for Israel (IL)
+    - Update regulatory rules for Australia (AU)
+  * d/salsa-ci.yml: Add CI configuration for salsa.debian.org
+  * Remove support for loading through crda (Closes: #973551, #1004347)
+  * d/.gitignore: Ignore another debhelper temporary file
+
+ -- Ben Hutchings <benh@debian.org>  Sat, 04 Jun 2022 23:59:01 +0100
+
+wireless-regdb (2021.08.28-1) unstable; urgency=medium
+
+  * New upstream version (Closes: #986208):
+    - Update regulatory rules for Egypt (EG), Croatia (HR), Pakistan (PK)
+      on 5GHz, Great Britain (GB), Kazakhstan (KZ), Ukraine (UA), Cuba (CU)
+      on 5Ghz, Germany (DE) on 6GHz, Norway (NO) on 6 and 60 GHz, Ecuador (EC)
+    - US: restore channel 12 & 13 limitation
+    - US: remove PTMP-ONLY from 5850-5895 MHz
+    - US: reduce bandwidth for 5730-5850 and 5850-5895 MHz
+    - ES: Update CNAF regulation url
+
+ -- Romain Perier <romain.perier@gmail.com>  Fri, 17 Sep 2021 18:30:37 +0200
+
 wireless-regdb (2020.04.29-2) unstable; urgency=medium
 
   * Re-upload without binary packages (SourceOnlyUpload)
Binary files /var/tmp/q2x0yR97II/wireless-regdb-2020.04.29/debian/regulatory.bin.sig and /var/tmp/t5Nn_4OFYr/wireless-regdb-2022.04.08/debian/regulatory.bin.sig differ
Binary files /var/tmp/q2x0yR97II/wireless-regdb-2020.04.29/debian/regulatory.db.p7s and /var/tmp/t5Nn_4OFYr/wireless-regdb-2022.04.08/debian/regulatory.db.p7s differ
diff -Nru wireless-regdb-2020.04.29/debian/salsa-ci.yml wireless-regdb-2022.04.08/debian/salsa-ci.yml
--- wireless-regdb-2020.04.29/debian/salsa-ci.yml	1970-01-01 01:00:00.000000000 +0100
+++ wireless-regdb-2022.04.08/debian/salsa-ci.yml	2022-06-30 00:53:42.000000000 +0200
@@ -0,0 +1,13 @@
+include:
+  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
+  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
+
+variables:
+  RELEASE: 'bullseye'
+  # We only build arch:all packages
+  SALSA_CI_DISABLE_BLHC: 'true'
+  SALSA_CI_DISABLE_BUILD_PACKAGE_I386: 'true'
+  SALSA_CI_DISABLE_BUILD_PACKAGE_ANY: 'true'
+  SALSA_CI_DISABLE_CROSSBUILD_ARM64: 'true'
+  # Currently triggering falsely (bug #973313)
+  SALSA_CI_LINTIAN_SUPPRESS_TAGS: 'groff-message'
diff -Nru wireless-regdb-2020.04.29/debian/tests/check-signatures wireless-regdb-2022.04.08/debian/tests/check-signatures
--- wireless-regdb-2020.04.29/debian/tests/check-signatures	1970-01-01 01:00:00.000000000 +0100
+++ wireless-regdb-2022.04.08/debian/tests/check-signatures	2022-06-30 01:03:12.000000000 +0200
@@ -0,0 +1,136 @@
+#!/usr/bin/python3
+
+# Check that signatures on regulatory.db are valid and made by keys
+# trusted by the current kernel in the target suite
+
+import glob
+import io
+import os
+import os.path
+import re
+import subprocess
+import sys
+
+
+tmp_dir = os.getenv('AUTOPKGTEST_TMP')
+
+
+# Find current major/minor kernel version
+def get_linux_source_name():
+    proc = subprocess.Popen(['dpkg', '-s', 'linux-source'],
+                            stdout=subprocess.PIPE)
+    with io.open(proc.stdout.fileno(), encoding='utf-8') as pipe:
+        for line in pipe:
+            match = re.match(r'^Depends:.*\b(linux-source-[0-9.]*)\b', line)
+            if match:
+                return match.group(1)
+    return None
+
+
+# Extract wireless regdb certificate sources
+def extract_certs_source(source_name):
+    certs_subdir = f'{source_name}/net/wireless/certs'
+    subprocess.check_call(['tar', '-C', tmp_dir, '-xa',
+                           '-f', f'/usr/src/{source_name}.tar.xz',
+                           certs_subdir])
+    return os.path.join(tmp_dir, certs_subdir)
+
+
+c_comment_re = re.compile(r'/\*.*?\*/')
+c_hex_byte_re = re.compile(r'\s*0x([0-9A-Fa-f]{2})\s*')
+
+
+# Convert from a C hex literal array to bytes
+def convert_c_hex_to_bytes(hex):
+    decoded = []
+    hex = c_comment_re.sub(' ', hex)
+    for word in hex.split(','):
+        match = c_hex_byte_re.fullmatch(word)
+        if match:
+            decoded.append(int(match.group(1), 16))
+        elif word.isspace():
+            pass
+        else:
+            raise ValueError()
+    return bytes(decoded)
+
+
+# Convert an X.509 certificate from DER to PEM format
+def convert_cert_der_to_pem(der):
+    proc = subprocess.Popen(['openssl', 'x509', '-inform', 'der',
+                             '-outform', 'pem'],
+                            stdin=subprocess.PIPE,
+                            stdout=subprocess.PIPE)
+    pem, _ = proc.communicate(der)
+    proc.wait()
+    return pem
+
+
+# Return an array of (cert, is_upstream] pairs.  Each cert is in PEM
+# format.  The is_upstream flag is false for certificates found in
+# "debian.hex" and otherwise true.
+def convert_certs(certs_source_dir):
+    certs = []
+
+    for hex_name in glob.glob(f'{certs_source_dir}/*.hex'):
+        is_upstream = os.path.basename(hex_name) != 'debian.hex'
+        decoded = convert_c_hex_to_bytes(open(hex_name).read())
+
+        # Split into certificates and convert one at a time, as the
+        # openssl command line doesn't seem to support this
+        start = 0
+        while start < len(decoded):
+            end = decoded.find(b'\x30\x82\x02', start + 3)
+            if end < 0:
+                end = len(decoded)
+            certs.append((convert_cert_der_to_pem(decoded[start:end]),
+                          is_upstream))
+            start = end
+
+    return certs
+
+
+# Verify a PKCS#7 signature where the signer must exactly match
+# one of the given PEM-format X.509 certificates
+def verify_signature(payload_name, signature_name, certs):
+    cert_name = os.path.join(tmp_dir, 'certificate.pem')
+    with open(cert_name, 'wb') as cert_file:
+        for cert in certs:
+            cert_file.write(cert)
+
+    # The certificates used here are self-signed and not CAs.  This
+    # means we need to turn off vertification of the certificates
+    # (-noverify).  We then to ignore the certificate in the signature
+    # (-nointern), so that the signature is required to have been made
+    # by one of the certificates we pass in (I hope).
+    # The payload is printed to stdout by default, so disable that.
+    # Successful verification is reported to stderr, which autopkgtest
+    # counts as a failure, so redirect that to our stdout.
+    subprocess.check_call(['openssl', 'smime', '-verify', '-noverify',
+                           '-certfile', cert_name, '-nointern',
+                           '-no_check_time',
+                           '-content', payload_name,
+                           '-in', signature_name, '-inform', 'der'],
+                          stdout=subprocess.DEVNULL,
+                          stderr=1)
+
+
+def main():
+    source_name = get_linux_source_name()
+    certs_source_dir = extract_certs_source(source_name)
+    certs = convert_certs(certs_source_dir)
+    certs_upstream = [cert
+                      for cert, is_upstream in certs
+                      if is_upstream]
+    certs_debian = [cert for cert, is_upstream in certs]
+
+    verify_signature('/lib/firmware/regulatory.db-upstream',
+                     '/lib/firmware/regulatory.db.p7s-upstream',
+                     certs_upstream)
+    verify_signature('/lib/firmware/regulatory.db-debian',
+                     '/lib/firmware/regulatory.db.p7s-debian',
+                     certs_debian)
+
+
+if __name__ == '__main__':
+    main()
diff -Nru wireless-regdb-2020.04.29/debian/tests/control wireless-regdb-2022.04.08/debian/tests/control
--- wireless-regdb-2020.04.29/debian/tests/control	1970-01-01 01:00:00.000000000 +0100
+++ wireless-regdb-2022.04.08/debian/tests/control	2022-06-30 00:53:52.000000000 +0200
@@ -0,0 +1,2 @@
+Tests: check-signatures
+Depends: wireless-regdb, linux-source, openssl, python3
diff -Nru wireless-regdb-2020.04.29/debian/wireless-regdb.postinst wireless-regdb-2022.04.08/debian/wireless-regdb.postinst
--- wireless-regdb-2020.04.29/debian/wireless-regdb.postinst	2020-05-01 11:08:46.000000000 +0200
+++ wireless-regdb-2022.04.08/debian/wireless-regdb.postinst	2022-06-30 00:53:52.000000000 +0200
@@ -3,6 +3,19 @@
 set -e
 
 if [ "$1" = "configure" ]; then
+    # d-i currently installs its copies of regulatory.db{,.p7s} as
+    # regular files, which we need to remove before running
+    # update-alternatives
+    if dpkg --compare-versions "$2" lt 2022.04.08-2~; then
+	for file in regulatory.db regulatory.db.p7s; do
+	    if [ ! -L /lib/firmware/"$file" ] || \
+	       [ "$(readlink /lib/firmware/"$file")" != \
+		 /etc/alternatives/"$file" ]; then
+		rm -f /lib/firmware/"$file"
+	    fi
+	done
+    fi
+
     update-alternatives --install \
 	/lib/firmware/regulatory.db regulatory.db /lib/firmware/regulatory.db-debian 100 \
 	--slave /lib/firmware/regulatory.db.p7s regulatory.db.p7s /lib/firmware/regulatory.db.p7s-debian
diff -Nru wireless-regdb-2020.04.29/gen-pubcert.sh wireless-regdb-2022.04.08/gen-pubcert.sh
--- wireless-regdb-2020.04.29/gen-pubcert.sh	2020-04-29 19:51:03.000000000 +0200
+++ wireless-regdb-2022.04.08/gen-pubcert.sh	2022-04-08 17:54:37.000000000 +0200
@@ -1,7 +1,7 @@
 #!/bin/bash
 
-if [[ $# -ne 2 ]]; then
-	echo "Usage: $0 priv-key out-file"
+if [[ $# -ne 3 ]]; then
+	echo "Usage: $0 priv-key out-file common-name"
 	exit 1
 fi
 
@@ -13,6 +13,6 @@
 		string_mask = utf8only
 		prompt = no
 		[ req_distinguished_name ]
-		commonName = sforshee
+		commonName = $3
 		EOF
 	)
Binary files /var/tmp/q2x0yR97II/wireless-regdb-2020.04.29/regulatory.bin and /var/tmp/t5Nn_4OFYr/wireless-regdb-2022.04.08/regulatory.bin differ
Binary files /var/tmp/q2x0yR97II/wireless-regdb-2020.04.29/regulatory.db and /var/tmp/t5Nn_4OFYr/wireless-regdb-2022.04.08/regulatory.db differ
Binary files /var/tmp/q2x0yR97II/wireless-regdb-2020.04.29/regulatory.db.p7s and /var/tmp/t5Nn_4OFYr/wireless-regdb-2022.04.08/regulatory.db.p7s differ
diff -Nru wireless-regdb-2020.04.29/sha1sum.txt wireless-regdb-2022.04.08/sha1sum.txt
--- wireless-regdb-2020.04.29/sha1sum.txt	2020-04-29 19:51:03.000000000 +0200
+++ wireless-regdb-2022.04.08/sha1sum.txt	2022-04-08 17:54:37.000000000 +0200
@@ -1 +1 @@
-6fb563dd8cd662d23c1f2551a035de08e1e45ec5  db.txt
+a1f14fc8c0d2d0fa451957f48500bebeb539bc63  db.txt

--- End Message ---
--- Begin Message ---
Package: release.debian.org
Version: 11.4

(re-sending with fixed bug numbers)

Hi,

The updates discussed in these bugs were included in today's bullseye
point release.

Regards,

Adam

--- End Message ---

Reply to: