Go to file
jow 8b999f8512 BB: package: fix segfault of iwinfo.scanlist("radio0").
This is a bug revealed in r41830.

First, the static variable `char nif[IFNAMSIZ]` of nl80211_phy2ifname()
would be zeroed out if the argument is "wlan0" or the like.  This will
happen in the following call stack.

 nl80211_get_scanlist("radio0", buf, len);
   nl80211_phy2ifname("radio0")			// return static var nif with content "wlan0"
   nl80211_get_scanlist(nif, buf, len);		// tail call
     nl80211_get_mode(nif);
        nl80211_phy2ifname(nif);		// zero out nif

Later we try nl80211_ifadd("") which was supposed to create interface
"tmp.", but that won't happen because nl80211_msg() will put an invalid
ifidx 0 to the nlmsg.

Then iwinfo_ifup() and iwinfo_ifdown() would fail and happily
nl80211_get_scanlist() returned 0 and left *len undefined.

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>

Backport of r42151

git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@42152 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-12 11:15:38 +00:00
config create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
docs create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
include BB: build: fix removal of old .ipk files with CONFIG_PER_FEED_REPO 2014-08-09 13:05:03 +00:00
package BB: package: fix segfault of iwinfo.scanlist("radio0"). 2014-08-12 11:15:38 +00:00
scripts build: introduce per feed repository support 2014-08-06 18:18:47 +00:00
target BB: netfilter: consider reply direction on selective flushing 2014-08-10 10:17:03 +00:00
toolchain toolchain/musl: update to version 1.1.4 2014-08-06 10:30:20 +00:00
tools firmware-utils: made mkdir615h1 work for all Senao-produced devices as mksenaofw and cleaned up some of its formatting 2014-08-03 11:16:02 +00:00
.gitattributes create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
.gitignore create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
BSDmakefile create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
Config.in create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
LICENSE create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
Makefile create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
README create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
feeds.conf.default feeds: fix old.packages up to use the version when we forked new packages 2014-08-03 14:32:45 +00:00
rules.mk create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00

README

This is the buildsystem for the OpenWrt Linux distribution.

Please use "make menuconfig" to configure your appreciated
configuration for the toolchain and firmware.

You need to have installed gcc, binutils, bzip2, flex, python, perl
make, find, grep, diff, unzip, gawk, getopt, libz-dev and libc headers.

Run "./scripts/feeds update -a" to get all the latest package definitions
defined in feeds.conf / feeds.conf.default respectively
and "./scripts/feeds install -a" to install symlinks of all of them into
package/feeds/.

Use "make menuconfig" to configure your image.

Simply running "make" will build your firmware.
It will download all sources, build the cross-compile toolchain, 
the kernel and all choosen applications.

You can use "scripts/flashing/flash.sh" for remotely updating your embedded
system via tftp.

The OpenWrt system is documented in docs/. You will need a LaTeX distribution
and the tex4ht package to build the documentation. Type "make -C docs/" to build it.

To build your own firmware you need to have access to a Linux, BSD or MacOSX system
(case-sensitive filesystem required). Cygwin will not be supported because of
the lack of case sensitiveness in the file system.


Sunshine!
	Your OpenWrt Project
	http://openwrt.org