[arch-commits] Commit in wireless_tools/repos (8 files)

Gaetan Bisson bisson at archlinux.org
Sat Aug 25 15:33:20 UTC 2012


    Date: Saturday, August 25, 2012 @ 11:33:20
  Author: bisson
Revision: 165574

db-move: moved wireless_tools from [testing] to [core] (i686, x86_64)

Added:
  wireless_tools/repos/core-i686/PKGBUILD
    (from rev 165573, wireless_tools/repos/testing-i686/PKGBUILD)
  wireless_tools/repos/core-i686/dense.patch
    (from rev 165573, wireless_tools/repos/testing-i686/dense.patch)
  wireless_tools/repos/core-x86_64/PKGBUILD
    (from rev 165573, wireless_tools/repos/testing-x86_64/PKGBUILD)
  wireless_tools/repos/core-x86_64/dense.patch
    (from rev 165573, wireless_tools/repos/testing-x86_64/dense.patch)
Deleted:
  wireless_tools/repos/core-i686/PKGBUILD
  wireless_tools/repos/core-x86_64/PKGBUILD
  wireless_tools/repos/testing-i686/
  wireless_tools/repos/testing-x86_64/

-------------------------+
 core-i686/PKGBUILD      |   61 ++++++++++++++++++++++++----------------------
 core-i686/dense.patch   |   49 ++++++++++++++++++++++++++++++++++++
 core-x86_64/PKGBUILD    |   61 ++++++++++++++++++++++++----------------------
 core-x86_64/dense.patch |   49 ++++++++++++++++++++++++++++++++++++
 4 files changed, 162 insertions(+), 58 deletions(-)

Deleted: core-i686/PKGBUILD
===================================================================
--- core-i686/PKGBUILD	2012-08-25 14:45:44 UTC (rev 165573)
+++ core-i686/PKGBUILD	2012-08-25 15:33:20 UTC (rev 165574)
@@ -1,29 +0,0 @@
-# $Id$
-# Maintainer: Gaetan Bisson <bisson at archlinux.org>
-# Contributor: Giovanni Scafora <giovanni at archlinux.org>
-# Contributor: Jason Chu <jchu at xentac.net>
-
-pkgname=wireless_tools
-pkgver=29
-pkgrel=6
-pkgdesc='Wireless Tools'
-url='http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html'
-arch=('i686' 'x86_64')
-license=('GPL')
-source=("http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/${pkgname}.${pkgver}.tar.gz")
-sha1sums=('22040ac1497f4c5f8ddeca365591b01ae3475710')
-
-build() {
-	cd "${srcdir}/${pkgname}.${pkgver}"
-	make CFLAGS="${CFLAGS} -Wall -Wextra -I." LDFLAGS="${LDFLAGS}"
-}
-
-package() {
-	cd "${srcdir}/${pkgname}.${pkgver}"
-	make \
-		INSTALL_DIR="${pkgdir}/usr/sbin" \
-		INSTALL_LIB="${pkgdir}/usr/lib" \
-		INSTALL_INC="${pkgdir}/usr/include" \
-		INSTALL_MAN="${pkgdir}/usr/share/man" \
-		install
-}

Copied: wireless_tools/repos/core-i686/PKGBUILD (from rev 165573, wireless_tools/repos/testing-i686/PKGBUILD)
===================================================================
--- core-i686/PKGBUILD	                        (rev 0)
+++ core-i686/PKGBUILD	2012-08-25 15:33:20 UTC (rev 165574)
@@ -0,0 +1,32 @@
+# $Id$
+# Maintainer: Gaetan Bisson <bisson at archlinux.org>
+# Contributor: Giovanni Scafora <giovanni at archlinux.org>
+# Contributor: Jason Chu <jchu at xentac.net>
+
+pkgname=wireless_tools
+pkgver=29
+pkgrel=7
+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')
+
+build() {
+	cd "${srcdir}/${pkgname}.${pkgver}"
+	patch -p1 -i ../dense.patch # FS#15363
+	make CFLAGS="${CFLAGS} -I." LDFLAGS="${LDFLAGS}"
+}
+
+package() {
+	cd "${srcdir}/${pkgname}.${pkgver}"
+	make \
+		INSTALL_DIR="${pkgdir}/usr/sbin" \
+		INSTALL_LIB="${pkgdir}/usr/lib" \
+		INSTALL_INC="${pkgdir}/usr/include" \
+		INSTALL_MAN="${pkgdir}/usr/share/man" \
+		install
+}

Copied: wireless_tools/repos/core-i686/dense.patch (from rev 165573, wireless_tools/repos/testing-i686/dense.patch)
===================================================================
--- core-i686/dense.patch	                        (rev 0)
+++ core-i686/dense.patch	2012-08-25 15:33:20 UTC (rev 165574)
@@ -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.chatre at 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;
+ 		}
+

Deleted: core-x86_64/PKGBUILD
===================================================================
--- core-x86_64/PKGBUILD	2012-08-25 14:45:44 UTC (rev 165573)
+++ core-x86_64/PKGBUILD	2012-08-25 15:33:20 UTC (rev 165574)
@@ -1,29 +0,0 @@
-# $Id$
-# Maintainer: Gaetan Bisson <bisson at archlinux.org>
-# Contributor: Giovanni Scafora <giovanni at archlinux.org>
-# Contributor: Jason Chu <jchu at xentac.net>
-
-pkgname=wireless_tools
-pkgver=29
-pkgrel=6
-pkgdesc='Wireless Tools'
-url='http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html'
-arch=('i686' 'x86_64')
-license=('GPL')
-source=("http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/${pkgname}.${pkgver}.tar.gz")
-sha1sums=('22040ac1497f4c5f8ddeca365591b01ae3475710')
-
-build() {
-	cd "${srcdir}/${pkgname}.${pkgver}"
-	make CFLAGS="${CFLAGS} -Wall -Wextra -I." LDFLAGS="${LDFLAGS}"
-}
-
-package() {
-	cd "${srcdir}/${pkgname}.${pkgver}"
-	make \
-		INSTALL_DIR="${pkgdir}/usr/sbin" \
-		INSTALL_LIB="${pkgdir}/usr/lib" \
-		INSTALL_INC="${pkgdir}/usr/include" \
-		INSTALL_MAN="${pkgdir}/usr/share/man" \
-		install
-}

Copied: wireless_tools/repos/core-x86_64/PKGBUILD (from rev 165573, wireless_tools/repos/testing-x86_64/PKGBUILD)
===================================================================
--- core-x86_64/PKGBUILD	                        (rev 0)
+++ core-x86_64/PKGBUILD	2012-08-25 15:33:20 UTC (rev 165574)
@@ -0,0 +1,32 @@
+# $Id$
+# Maintainer: Gaetan Bisson <bisson at archlinux.org>
+# Contributor: Giovanni Scafora <giovanni at archlinux.org>
+# Contributor: Jason Chu <jchu at xentac.net>
+
+pkgname=wireless_tools
+pkgver=29
+pkgrel=7
+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')
+
+build() {
+	cd "${srcdir}/${pkgname}.${pkgver}"
+	patch -p1 -i ../dense.patch # FS#15363
+	make CFLAGS="${CFLAGS} -I." LDFLAGS="${LDFLAGS}"
+}
+
+package() {
+	cd "${srcdir}/${pkgname}.${pkgver}"
+	make \
+		INSTALL_DIR="${pkgdir}/usr/sbin" \
+		INSTALL_LIB="${pkgdir}/usr/lib" \
+		INSTALL_INC="${pkgdir}/usr/include" \
+		INSTALL_MAN="${pkgdir}/usr/share/man" \
+		install
+}

Copied: wireless_tools/repos/core-x86_64/dense.patch (from rev 165573, wireless_tools/repos/testing-x86_64/dense.patch)
===================================================================
--- core-x86_64/dense.patch	                        (rev 0)
+++ core-x86_64/dense.patch	2012-08-25 15:33:20 UTC (rev 165574)
@@ -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.chatre at 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;
+ 		}
+




More information about the arch-commits mailing list