From 4e538781384b860e1c92c3d55b5ac69936e13d60 Mon Sep 17 00:00:00 2001 From: coolsnowwolf Date: Thu, 2 Mar 2023 15:19:27 +0800 Subject: [PATCH] wireless-tools: increase max priv ioctl --- package/network/utils/wireless-tools/Makefile | 2 +- .../patches/005-fix-iwpriv-e2p-error.patch | 23 +++++++++++++++++++ .../patches/006-increase_max_priv_ioctl.patch | 11 +++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100755 package/network/utils/wireless-tools/patches/005-fix-iwpriv-e2p-error.patch create mode 100644 package/network/utils/wireless-tools/patches/006-increase_max_priv_ioctl.patch diff --git a/package/network/utils/wireless-tools/Makefile b/package/network/utils/wireless-tools/Makefile index 52e246a59..df813f279 100644 --- a/package/network/utils/wireless-tools/Makefile +++ b/package/network/utils/wireless-tools/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=wireless-tools PKG_VERSION:=29 PKG_MINOR:= -PKG_RELEASE:=6 +PKG_RELEASE:=7 PKG_SOURCE:=wireless_tools.$(PKG_VERSION)$(PKG_MINOR).tar.gz PKG_SOURCE_URL:=https://hewlettpackard.github.io/wireless-tools diff --git a/package/network/utils/wireless-tools/patches/005-fix-iwpriv-e2p-error.patch b/package/network/utils/wireless-tools/patches/005-fix-iwpriv-e2p-error.patch new file mode 100755 index 000000000..0c8085f31 --- /dev/null +++ b/package/network/utils/wireless-tools/patches/005-fix-iwpriv-e2p-error.patch @@ -0,0 +1,23 @@ +--- a/iwpriv.c ++++ b/iwpriv.c +@@ -259,7 +259,7 @@ + int priv_num) /* Number of descriptions */ + { + struct iwreq wrq; +- u_char buffer[4096]; /* Only that big in v25 and later */ ++ u_char buffer[8192*2]; /* this buffer size for get_site_survey length */ + int i = 0; /* Start with first command arg */ + int k; /* Index in private description table */ + int temp; +@@ -425,6 +425,11 @@ + else + { + wrq.u.data.length = 0L; ++ if(0 == strcmp("get_site_survey", cmdname)) ++ { ++ wrq.u.data.length = 120*128; // 120 is per entry size, 128 is counter of entry ++ fprintf(stderr, "(%d)cmdname %s\n",cmdname); ++ } + } + + strncpy(wrq.ifr_name, ifname, IFNAMSIZ); diff --git a/package/network/utils/wireless-tools/patches/006-increase_max_priv_ioctl.patch b/package/network/utils/wireless-tools/patches/006-increase_max_priv_ioctl.patch new file mode 100644 index 000000000..1b4c45724 --- /dev/null +++ b/package/network/utils/wireless-tools/patches/006-increase_max_priv_ioctl.patch @@ -0,0 +1,11 @@ +--- a/iwlib.c ++++ b/iwlib.c +@@ -650,7 +650,7 @@ iw_get_priv_info(int skfd, + else + maxpriv *= 2; + } +- while(maxpriv < 1000); ++ while(maxpriv <= 1024); + + /* Cleanup */ + if(priv)