lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 15 Jul 2014 16:51:35 +0530
From:	Krishna Chaitanya <chaitanya.mgit@...il.com>
To:	"Luis R. Rodriguez" <mcgrof@...not-panic.com>
Cc:	Johannes Berg <johannes@...solutions.net>,
	linux-kernel@...r.kernel.org,
	linux-wireless <linux-wireless@...r.kernel.org>,
	John Walker <john@...9.net>,
	John Linville <linville@...driver.com>,
	Greg Kroah-Hartman <gregkh@...uxfoundation.org>, tiwai@...e.de,
	keescook@...omium.org, Felix Fietkau <nbd@...nwrt.org>,
	"Luis R. Rodriguez" <mcgrof@...e.com>
Subject: Re: [PATCH] wireless: fixup genregdb.awk for remove of antenna gain
 from wireless-regd

On Tue, Jul 15, 2014 at 2:49 AM, Luis R. Rodriguez
<mcgrof@...not-panic.com> wrote:
> From: "Luis R. Rodriguez" <mcgrof@...e.com>
>
> Since "wireless-regdb: remove antenna gain" was merged in the
> wireless-regdb tree, the awk script parser has been incompatible
> with the 'official' regulatory database.  This fixes that up.
> Without this change the max EIRP is set to 0 making 802.11 devices
> useless.
>
> The fragile nature of the awk parser must be replaced, but ideas
> over how to do that in the most scalable way are being reviewed.
> In the meantime update the documentation for CFG80211_INTERNAL_REGDB
> so folks are aware of expectations for now.
>
> Reported-by: John Walker <john@...9.net>
> Reported-by: Krishna Chaitanya <chaitanya.mgit@...il.com>
> Signed-off-by: Luis R. Rodriguez <mcgrof@...e.com>
> ---
>
> !!! Note !!!
>
> This means older kernels that upgrade wireless-regdb and use
> CFG80211_INTERNAL_REGDB are bust too and they should then merge
> the latest updates to the awk script if they want to synch the
> wireless-regdb files with the kernel builds. The affected Linux
> distributions would be the users of CFG80211_INTERNAL_REGDB which
> should consists of OpenWrt which is reported to have this fixed
> already and mobile platforms.
>
> We are looking at a way to not have to deal with parsers all together
> at build time, for that discussion see:
>
> https://lkml.org/lkml/2014/7/14/706
>
>  net/wireless/Kconfig      |  6 ++++++
>  net/wireless/genregdb.awk | 35 ++++++++++++++++++++++-------------
>  2 files changed, 28 insertions(+), 13 deletions(-)
>
> diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig
> index 405f3c4..29c8675 100644
> --- a/net/wireless/Kconfig
> +++ b/net/wireless/Kconfig
> @@ -162,6 +162,12 @@ config CFG80211_INTERNAL_REGDB
>           and includes code to query that database.  This is an alternative
>           to using CRDA for defining regulatory rules for the kernel.
>
> +         Using this option requires some parsing of the db.txt at build time,
> +         the parser will be upkept with the latest wireless-regdb updates but
> +         older wireless-regdb formats will be ignored. The parser may later
> +         be replaced to avoid issues with conflicts on versions of
> +         wireless-regdb.
> +
>           For details see:
>
>           http://wireless.kernel.org/en/developers/Regulatory
> diff --git a/net/wireless/genregdb.awk b/net/wireless/genregdb.awk
> index 40c37fc..baf2426 100644
> --- a/net/wireless/genregdb.awk
> +++ b/net/wireless/genregdb.awk
> @@ -51,32 +51,41 @@ function parse_country_head() {
>
>  function parse_reg_rule()
>  {
> +       flag_starts_at = 7
> +
>         start = $1
>         sub(/\(/, "", start)
>         end = $3
>         bw = $5
>         sub(/\),/, "", bw)
> -       gain = $6
> -       sub(/\(/, "", gain)
> -       sub(/,/, "", gain)
> -       power = $7
> -       sub(/\)/, "", power)
> -       sub(/,/, "", power)
> +       gain = 0
> +       power = $6
>         # power might be in mW...
> -       units = $8
> +       units = $7
> +       dfs_cac = 0
> +
> +       sub(/\(/, "", power)
> +       sub(/\),/, "", power)
> +       sub(/\),/, "", units)
>         sub(/\)/, "", units)
> -       sub(/,/, "", units)
> -       dfs_cac = $9
> +
>         if (units == "mW") {
> +               flag_starts_at = 8
>                 power = 10 * log(power)/log(10)
> +               if ($8 ~ /[[:digit:]]/) {
> +                       flag_starts_at = 9
> +                       dfs_cac = $8
> +               }
>         } else {
> -               dfs_cac = $8
> +               if ($7 ~ /[[:digit:]]/) {
> +                       flag_starts_at = 8
> +                       dfs_cac = $7
> +               }
>         }
> -       sub(/,/, "", dfs_cac)
>         sub(/\(/, "", dfs_cac)
> -       sub(/\)/, "", dfs_cac)
> +       sub(/\),/, "", dfs_cac)
>         flagstr = ""
> -       for (i=8; i<=NF; i++)
> +       for (i=flag_starts_at; i<=NF; i++)
>                 flagstr = flagstr $i
>         split(flagstr, flagarray, ",")
>         flags = ""


Acked-by:Krishna Chaitanya <chaitanya.mgit@...il.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ