Date: Thursday, May 16, 2013 @ 20:27:24 Author: bisson Revision: 185639
archrelease: copy trunk to testing-i686, testing-x86_64 Added: wireless_tools/repos/testing-i686/ wireless_tools/repos/testing-i686/PKGBUILD (from rev 185638, wireless_tools/trunk/PKGBUILD) wireless_tools/repos/testing-i686/dense.patch (from rev 185638, wireless_tools/trunk/dense.patch) wireless_tools/repos/testing-x86_64/ wireless_tools/repos/testing-x86_64/PKGBUILD (from rev 185638, wireless_tools/trunk/PKGBUILD) wireless_tools/repos/testing-x86_64/dense.patch (from rev 185638, wireless_tools/trunk/dense.patch) ----------------------------+ testing-i686/PKGBUILD | 36 +++++++++++++++++++++++++++++++ testing-i686/dense.patch | 49 +++++++++++++++++++++++++++++++++++++++++++ testing-x86_64/PKGBUILD | 36 +++++++++++++++++++++++++++++++ testing-x86_64/dense.patch | 49 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 170 insertions(+) Copied: wireless_tools/repos/testing-i686/PKGBUILD (from rev 185638, wireless_tools/trunk/PKGBUILD) =================================================================== --- testing-i686/PKGBUILD (rev 0) +++ testing-i686/PKGBUILD 2013-05-16 18:27:24 UTC (rev 185639) @@ -0,0 +1,36 @@ +# $Id$ +# Maintainer: Gaetan Bisson <bis...@archlinux.org> +# Contributor: Giovanni Scafora <giova...@archlinux.org> +# Contributor: Jason Chu <j...@xentac.net> + +pkgname=wireless_tools +pkgver=29 +pkgrel=8 +pkgdesc='Tools allowing to manipulate the Wireless Extensions' +url='http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html' +license=('GPL') +arch=('i686' 'x86_64') +source=("http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/${pkgname}.${pkgver}.tar.gz" + 'dense.patch') +sha1sums=('22040ac1497f4c5f8ddeca365591b01ae3475710' + '5c297c7dff1ec1d2a3d918c20622ab3c6daf5b72') + +prepare() { + cd "${srcdir}/${pkgname}.${pkgver}" + patch -p1 -i ../dense.patch # FS#15363 +} + +build() { + cd "${srcdir}/${pkgname}.${pkgver}" + make CFLAGS="${CFLAGS} -I." LDFLAGS="${LDFLAGS}" +} + +package() { + cd "${srcdir}/${pkgname}.${pkgver}" + make \ + INSTALL_DIR="${pkgdir}/usr/bin" \ + INSTALL_LIB="${pkgdir}/usr/lib" \ + INSTALL_INC="${pkgdir}/usr/include" \ + INSTALL_MAN="${pkgdir}/usr/share/man" \ + install +} Copied: wireless_tools/repos/testing-i686/dense.patch (from rev 185638, wireless_tools/trunk/dense.patch) =================================================================== --- testing-i686/dense.patch (rev 0) +++ testing-i686/dense.patch 2013-05-16 18:27:24 UTC (rev 185639) @@ -0,0 +1,49 @@ +The length field of wext data (iw_point.data) is 16 bits. The largest +value is thus 65535. During the attempts to increase buffer size the +buffer starts at 4096 and is doubled after each failure to fill. From the +time this length reaches 65536 it is effectively zero. We thus loose all +potential space from 32768 to 65535. + +This problem is clear when scanning in a RF dense environment. + +Without this patch: +~$ iwlist wlan0 scan +print_scanning_info: Allocation failed + +With this patch: +~$ iwlist wlan0 scan | grep Cell | wc -l +86 + +Signed-off-by: Reinette Chatre <reinette.cha...@intel.com> + +--- +A similar patch was recently created to fix wpa_supplicant. + +I could not find a source code repo for this code and created this patch +against version 30-pre7 downloaded from +http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html + +diff -uprN wireless_tools_org/wireless_tools.30/iwlist.c wireless_tools.30/iwlist.c +--- wireless_tools_org/wireless_tools.30/iwlist.c 2008-01-16 17:45:41.000000000 -0800 ++++ wireless_tools.30/iwlist.c 2009-02-12 14:16:48.000000000 -0800 +@@ -800,7 +800,7 @@ print_scanning_info(int skfd, + if(iw_get_ext(skfd, ifname, SIOCGIWSCAN, &wrq) < 0) + { + /* Check if buffer was too small (WE-17 only) */ +- if((errno == E2BIG) && (range.we_version_compiled > 16)) ++ if((errno == E2BIG) && (range.we_version_compiled > 16) && (buflen < 65535)) + { + /* Some driver may return very large scan results, either + * because there are many cells, or because they have many +@@ -816,6 +816,10 @@ print_scanning_info(int skfd, + else + buflen *= 2; + ++ /* wrq.u.data.length is 16 bits so max size is 65535 */ ++ if(buflen > 65535) ++ buflen = 65535; ++ + /* Try again */ + goto realloc; + } + Copied: wireless_tools/repos/testing-x86_64/PKGBUILD (from rev 185638, wireless_tools/trunk/PKGBUILD) =================================================================== --- testing-x86_64/PKGBUILD (rev 0) +++ testing-x86_64/PKGBUILD 2013-05-16 18:27:24 UTC (rev 185639) @@ -0,0 +1,36 @@ +# $Id$ +# Maintainer: Gaetan Bisson <bis...@archlinux.org> +# Contributor: Giovanni Scafora <giova...@archlinux.org> +# Contributor: Jason Chu <j...@xentac.net> + +pkgname=wireless_tools +pkgver=29 +pkgrel=8 +pkgdesc='Tools allowing to manipulate the Wireless Extensions' +url='http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html' +license=('GPL') +arch=('i686' 'x86_64') +source=("http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/${pkgname}.${pkgver}.tar.gz" + 'dense.patch') +sha1sums=('22040ac1497f4c5f8ddeca365591b01ae3475710' + '5c297c7dff1ec1d2a3d918c20622ab3c6daf5b72') + +prepare() { + cd "${srcdir}/${pkgname}.${pkgver}" + patch -p1 -i ../dense.patch # FS#15363 +} + +build() { + cd "${srcdir}/${pkgname}.${pkgver}" + make CFLAGS="${CFLAGS} -I." LDFLAGS="${LDFLAGS}" +} + +package() { + cd "${srcdir}/${pkgname}.${pkgver}" + make \ + INSTALL_DIR="${pkgdir}/usr/bin" \ + INSTALL_LIB="${pkgdir}/usr/lib" \ + INSTALL_INC="${pkgdir}/usr/include" \ + INSTALL_MAN="${pkgdir}/usr/share/man" \ + install +} Copied: wireless_tools/repos/testing-x86_64/dense.patch (from rev 185638, wireless_tools/trunk/dense.patch) =================================================================== --- testing-x86_64/dense.patch (rev 0) +++ testing-x86_64/dense.patch 2013-05-16 18:27:24 UTC (rev 185639) @@ -0,0 +1,49 @@ +The length field of wext data (iw_point.data) is 16 bits. The largest +value is thus 65535. During the attempts to increase buffer size the +buffer starts at 4096 and is doubled after each failure to fill. From the +time this length reaches 65536 it is effectively zero. We thus loose all +potential space from 32768 to 65535. + +This problem is clear when scanning in a RF dense environment. + +Without this patch: +~$ iwlist wlan0 scan +print_scanning_info: Allocation failed + +With this patch: +~$ iwlist wlan0 scan | grep Cell | wc -l +86 + +Signed-off-by: Reinette Chatre <reinette.cha...@intel.com> + +--- +A similar patch was recently created to fix wpa_supplicant. + +I could not find a source code repo for this code and created this patch +against version 30-pre7 downloaded from +http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html + +diff -uprN wireless_tools_org/wireless_tools.30/iwlist.c wireless_tools.30/iwlist.c +--- wireless_tools_org/wireless_tools.30/iwlist.c 2008-01-16 17:45:41.000000000 -0800 ++++ wireless_tools.30/iwlist.c 2009-02-12 14:16:48.000000000 -0800 +@@ -800,7 +800,7 @@ print_scanning_info(int skfd, + if(iw_get_ext(skfd, ifname, SIOCGIWSCAN, &wrq) < 0) + { + /* Check if buffer was too small (WE-17 only) */ +- if((errno == E2BIG) && (range.we_version_compiled > 16)) ++ if((errno == E2BIG) && (range.we_version_compiled > 16) && (buflen < 65535)) + { + /* Some driver may return very large scan results, either + * because there are many cells, or because they have many +@@ -816,6 +816,10 @@ print_scanning_info(int skfd, + else + buflen *= 2; + ++ /* wrq.u.data.length is 16 bits so max size is 65535 */ ++ if(buflen > 65535) ++ buflen = 65535; ++ + /* Try again */ + goto realloc; + } +