1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-18 05:57:30 +02:00

Merge commit 'nbd/master' into xburst

Conflicts:

	Config.in
	feeds.conf.default
	include/image.mk
	target/linux/xburst/Makefile
	target/linux/xburst/image/Makefile
This commit is contained in:
Lars-Peter Clausen 2010-01-11 22:52:38 +01:00
commit 3da6c49d16
1010 changed files with 97546 additions and 159920 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
.*.swp
/env
/dl
/.config

View File

@ -25,8 +25,6 @@ menu "Target Images"
depends TARGET_ROOTFS_INITRAMFS
depends !LINUX_2_6_21
depends !LINUX_2_6_25
depends !LINUX_2_6_27
depends !LINUX_2_6_28
default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx
default TARGET_INITRAMFS_COMPRESSION_NONE
help
@ -93,7 +91,7 @@ menu "Target Images"
config TARGET_ROOTFS_UBIFS
bool "ubifs"
default y if USES_UBIFS
depends !TARGET_ROOTFS_INITRAMFS
depends !TARGET_ROOTFS_INITRAMFS && USES_UBIFS
help
Build a ubifs root filesystem
@ -167,6 +165,7 @@ choice
config USE_SSTRIP
bool "sstrip"
depends !DEBUG
depends !USE_GLIBC
depends !USE_EGLIBC
help
@ -197,7 +196,7 @@ config DEBUG
prompt "Compile packages with debugging info"
default n
help
Disables stripping and adds -g3 to the CFLAGS
Adds -g3 to the CFLAGS
config DEBUG_DIR
bool "Install debugging binaries into a staging directory"

View File

@ -6,3 +6,4 @@ src-svn efl svn://svn.openwrt.org/openwrt/feeds/efl
src-svn desktop svn://svn.openwrt.org/openwrt/feeds/desktop
src-svn xfce svn://svn.openwrt.org/openwrt/feeds/xfce
src-git qipackages git://projects.qi-hardware.com/openwrt-packages.git
#src-link custom /usr/src/openwrt/custom-feed

View File

@ -130,17 +130,8 @@ ifndef DUMP
touch $$@
$(call Host/Exports,$(HOST_STAMP_BUILT))
$(HOST_STAMP_BUILT): $(HOST_STAMP_CONFIGURED)
$(call Host/Compile)
touch $$@
$(HOST_STAMP_INSTALLED): $(HOST_STAMP_BUILT)
$(call Host/Install)
mkdir -p $$(shell dirname $$@)
touch $$@
ifdef Host/Install
host-install: $(HOST_STAMP_INSTALLED)
host-install: $(if $(STAMP_BUILT),$(HOST_STAMP_BUILT),$(HOST_STAMP_INSTALLED))
endif
ifndef STAMP_BUILT
@ -149,8 +140,20 @@ ifndef DUMP
install: host-install
clean: host-clean
update: host-update
$(HOST_STAMP_BUILT): $(HOST_STAMP_CONFIGURED)
$(call Host/Compile)
touch $$@
$(HOST_STAMP_INSTALLED): $(HOST_STAMP_BUILT)
$(call Host/Install)
mkdir -p $$(shell dirname $$@)
touch $$@
else
host-compile: $(HOST_STAMP_INSTALLED)
$(HOST_STAMP_BUILT): $(HOST_STAMP_CONFIGURED)
$(call Host/Compile)
$(call Host/Install)
touch $$@
endif
host-prepare: $(HOST_STAMP_PREPARED)
host-configure: $(HOST_STAMP_CONFIGURED)

View File

@ -23,7 +23,7 @@ JFFS2OPTS := --pad --big-endian --squash
SQUASHFS_OPTS := -be
endif
ifneq ($(CONFIG_LINUX_2_4)$(CONFIG_LINUX_2_6_21)$(CONFIG_LINUX_2_6_25)$(CONFIG_LINUX_2_6_28),)
ifneq ($(CONFIG_LINUX_2_4)$(CONFIG_LINUX_2_6_21)$(CONFIG_LINUX_2_6_25),)
USE_SQUASHFS3 := y
endif
@ -89,9 +89,9 @@ ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
ifeq ($(CONFIG_TARGET_ROOTFS_UBIFS),y)
define Image/mkfs/ubifs
$(CP) ./ubinize.cfg $(KDIR)
mkfs.ubifs $(UBIFS_OPTS) -o $(KDIR)/root.ubifs -d $(TARGET_DIR)
$(STAGING_DIR_HOST)/bin/mkfs.ubifs $(UBIFS_OPTS) -o $(KDIR)/root.ubifs -d $(TARGET_DIR)
(cd $(KDIR); \
ubinize $(UBINIZE_OPTS) -o $(BIN_DIR)/openwrt-$(BOARD)-rootfs.ubi ubinize.cfg)
$(STAGING_DIR_HOST)/bin/ubinize $(UBINIZE_OPTS) -o $(BIN_DIR)/openwrt-$(BOARD)-rootfs.ubi ubinize.cfg)
endef
endif
else

View File

@ -16,14 +16,14 @@ endif
ifeq ($(LINUX_VERSION),2.6.25.20)
LINUX_KERNEL_MD5SUM:=0da698edccf03e2235abc2830a495114
endif
ifeq ($(LINUX_VERSION),2.6.28.10)
LINUX_KERNEL_MD5SUM:=c4efb2c494d749cb5de274f8ae41c3fa
ifeq ($(LINUX_VERSION),2.6.30.10)
LINUX_KERNEL_MD5SUM:=eb6be465f914275967a5602cb33662f5
endif
ifeq ($(LINUX_VERSION),2.6.30.9)
LINUX_KERNEL_MD5SUM:=5a4cd5543a9d7c1a819700b21be31ef1
ifeq ($(LINUX_VERSION),2.6.31.11)
LINUX_KERNEL_MD5SUM:=39e34c9a6439bcd4c088abe631302a99
endif
ifeq ($(LINUX_VERSION),2.6.31.6)
LINUX_KERNEL_MD5SUM:=485472df88af84becdcf47f45de3ba46
ifeq ($(LINUX_VERSION),2.6.32.3)
LINUX_KERNEL_MD5SUM:=730045c2c7f7e6618db3c4d4d7094853
endif
# disable the md5sum check for unknown kernel versions

View File

@ -42,7 +42,9 @@ else
LINUX_SOURCE:=linux-$(LINUX_VERSION).tar.bz2
TESTING:=$(if $(findstring -rc,$(LINUX_VERSION)),/testing,)
LINUX_SITE:=@KERNEL/linux/kernel/v$(KERNEL)$(TESTING) \
ifeq ($(call qstrip,$(CONFIG_EXTERNAL_KERNEL_TREE)),)
LINUX_SITE:=@KERNEL/linux/kernel/v$(KERNEL)$(TESTING)
endif
ifneq ($(TARGET_BUILD),1)
PKG_BUILD_DIR ?= $(KERNEL_BUILD_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION))

View File

@ -65,7 +65,7 @@ $(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_ULOG, $(P_EBT)ebt_ulog)
$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_NFLOG, $(P_EBT)ebt_nflog))
# userland only
$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_CORE,CONFIG_IP_NF_IPTABLES, xt_standard ipt_icmp xt_tcp xt_udp)))
$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_CORE,CONFIG_IP_NF_IPTABLES, xt_standard ipt_icmp xt_tcp xt_udp xt_comment)))
$(eval $(call nf_add,IPT_CORE,CONFIG_IP_NF_MATCH_LIMIT, $(P_V4)ipt_limit))
$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_LIMIT, $(P_XT)xt_limit))

72
include/site/linux Normal file
View File

@ -0,0 +1,72 @@
ac_atomic_add=yes
ac_atomic_sub=yes
ac_cv_c_gettext_without_libintl=yes
ac_cv_c_long_double=no
ac_cv_conv_longlong_to_float=yes
ac_cv_file__dev_zero=yes
ac_cv_func___va_copy=no
ac_cv_func__exit=yes
ac_cv_func_bcopy=yes
ac_cv_func_bzero=yes
ac_cv_func_bcmp=yes
ac_cv_func_fchmod=yes
ac_cv_func_getaddrinfo=yes
ac_cv_func_getcwd=yes
ac_cv_func_getdomainname=yes
ac_cv_func_getpgrp_void=yes
ac_cv_func_getpwuid_r=yes
ac_cv_func_index=yes
ac_cv_func_lstat_dereferences_slashed_symlink=yes
ac_cv_func_lstat_empty_string_bug=no
ac_cv_func_lstat=yes
ac_cv_func_malloc_0_nonnull=yes
ac_cv_func_malloc_works=yes
ac_cv_func_memcmp_clean=yes
ac_cv_func_memcmp_working=yes
ac_cv_func_posix_getgrgid_r=yes
ac_cv_func_posix_getpwuid_r=yes
ac_cv_func_pthread_key_delete=yes
ac_cv_func_realloc_0_nonnull=yes
ac_cv_func_realloc_works=yes
ac_cv_func_rename=yes
ac_cv_func_rindex=yes
ac_cv_func_setlocale=yes
ac_cv_func_setgrent_void=yes
ac_cv_func_setpgrp_void=yes
ac_cv_func_setresuid=no
ac_cv_func_setvbuf_reversed=no
ac_cv_func_stat_empty_string_bug=no
ac_cv_func_stat_ignores_trailing_slash=no
ac_cv_func_strerror=yes
ac_cv_func_strftime=yes
ac_cv_func_utimes=yes
ac_cv_func___adjtimex=yes
ac_cv_func_va_copy=no
ac_cv_func_vsnprintf=yes
ac_cv_have_accrights_in_msghdr=no
ac_cv_have_broken_snprintf=no
ac_cv_have_control_in_msghdr=yes
ac_cv_have_decl_sys_siglist=no
ac_cv_have_openpty_ctty_bug=yes
ac_cv_have_space_d_name_in_struct_dirent=yes
ac_cv_header_netinet_sctp_h=no
ac_cv_header_netinet_sctp_uio_h=no
ac_cv_int64_t=yes
ac_cv_lbl_unaligned_fail=no
ac_cv_linux_kernel_pppoe=yes
ac_cv_linux_vers=2
ac_cv_pack_bitfields_reversed=yes
ac_cv_path_LDCONFIG=
ac_cv_regexec_segfault_emptystr=no
ac_cv_sctp=no
ac_cv_sys_restartable_syscalls=yes
ac_cv_time_r_type=POSIX
ac_cv_type_suseconds_t=yes
ac_cv_uchar=no
ac_cv_uint=yes
ac_cv_uint64_t=yes
ac_cv_ulong=yes
ac_cv_ushort=yes
ac_cv_va_copy=C99
ac_cv_va_val_copy=yes
as_cv_unaligned_access=yes

View File

@ -1,72 +1 @@
ac_atomic_add=yes
ac_atomic_sub=yes
ac_cv_c_gettext_without_libintl=yes
ac_cv_c_long_double=no
ac_cv_conv_longlong_to_float=yes
ac_cv_file__dev_zero=yes
ac_cv_func___va_copy=no
ac_cv_func__exit=yes
ac_cv_func_bcopy=yes
ac_cv_func_bzero=yes
ac_cv_func_bcmp=yes
ac_cv_func_fchmod=yes
ac_cv_func_getaddrinfo=yes
ac_cv_func_getcwd=yes
ac_cv_func_getdomainname=yes
ac_cv_func_getpgrp_void=yes
ac_cv_func_getpwuid_r=yes
ac_cv_func_index=yes
ac_cv_func_lstat_dereferences_slashed_symlink=yes
ac_cv_func_lstat_empty_string_bug=no
ac_cv_func_lstat=yes
ac_cv_func_malloc_0_nonnull=yes
ac_cv_func_malloc_works=yes
ac_cv_func_memcmp_clean=yes
ac_cv_func_memcmp_working=yes
ac_cv_func_posix_getgrgid_r=yes
ac_cv_func_posix_getpwuid_r=yes
ac_cv_func_pthread_key_delete=yes
ac_cv_func_realloc_0_nonnull=yes
ac_cv_func_realloc_works=yes
ac_cv_func_rename=yes
ac_cv_func_rindex=yes
ac_cv_func_setlocale=yes
ac_cv_func_setgrent_void=yes
ac_cv_func_setpgrp_void=yes
ac_cv_func_setresuid=no
ac_cv_func_setvbuf_reversed=no
ac_cv_func_stat_empty_string_bug=no
ac_cv_func_stat_ignores_trailing_slash=no
ac_cv_func_strerror=yes
ac_cv_func_strftime=yes
ac_cv_func_utimes=yes
ac_cv_func___adjtimex=yes
ac_cv_func_va_copy=no
ac_cv_func_vsnprintf=yes
ac_cv_have_accrights_in_msghdr=no
ac_cv_have_broken_snprintf=no
ac_cv_have_control_in_msghdr=yes
ac_cv_have_decl_sys_siglist=no
ac_cv_have_openpty_ctty_bug=yes
ac_cv_have_space_d_name_in_struct_dirent=yes
ac_cv_header_netinet_sctp_h=no
ac_cv_header_netinet_sctp_uio_h=no
ac_cv_int64_t=yes
ac_cv_lbl_unaligned_fail=no
ac_cv_linux_kernel_pppoe=yes
ac_cv_linux_vers=2
ac_cv_pack_bitfields_reversed=yes
ac_cv_path_LDCONFIG=
ac_cv_regexec_segfault_emptystr=no
ac_cv_sctp=no
ac_cv_sys_restartable_syscalls=yes
ac_cv_time_r_type=POSIX
ac_cv_type_suseconds_t=yes
ac_cv_uchar=no
ac_cv_uint=yes
ac_cv_uint64_t=yes
ac_cv_ulong=yes
ac_cv_ushort=yes
ac_cv_va_copy=C99
ac_cv_va_val_copy=yes
as_cv_unaligned_access=yes
. $TOPDIR/include/site/linux

View File

@ -1,72 +1 @@
ac_atomic_add=yes
ac_atomic_sub=yes
ac_cv_c_gettext_without_libintl=yes
ac_cv_c_long_double=no
ac_cv_conv_longlong_to_float=yes
ac_cv_file__dev_zero=yes
ac_cv_func___va_copy=no
ac_cv_func__exit=yes
ac_cv_func_bcopy=yes
ac_cv_func_bzero=yes
ac_cv_func_bcmp=yes
ac_cv_func_fchmod=yes
ac_cv_func_getaddrinfo=yes
ac_cv_func_getcwd=yes
ac_cv_func_getdomainname=yes
ac_cv_func_getpgrp_void=yes
ac_cv_func_getpwuid_r=yes
ac_cv_func_index=yes
ac_cv_func_lstat_dereferences_slashed_symlink=yes
ac_cv_func_lstat_empty_string_bug=no
ac_cv_func_lstat=yes
ac_cv_func_malloc_0_nonnull=yes
ac_cv_func_malloc_works=yes
ac_cv_func_memcmp_clean=yes
ac_cv_func_memcmp_working=yes
ac_cv_func_posix_getgrgid_r=yes
ac_cv_func_posix_getpwuid_r=yes
ac_cv_func_pthread_key_delete=yes
ac_cv_func_realloc_0_nonnull=yes
ac_cv_func_realloc_works=yes
ac_cv_func_rename=yes
ac_cv_func_rindex=yes
ac_cv_func_setlocale=yes
ac_cv_func_setgrent_void=yes
ac_cv_func_setpgrp_void=yes
ac_cv_func_setresuid=no
ac_cv_func_setvbuf_reversed=no
ac_cv_func_stat_empty_string_bug=no
ac_cv_func_stat_ignores_trailing_slash=no
ac_cv_func_strerror=yes
ac_cv_func_strftime=yes
ac_cv_func_utimes=yes
ac_cv_func___adjtimex=yes
ac_cv_func_va_copy=no
ac_cv_func_vsnprintf=yes
ac_cv_have_accrights_in_msghdr=no
ac_cv_have_broken_snprintf=no
ac_cv_have_control_in_msghdr=yes
ac_cv_have_decl_sys_siglist=no
ac_cv_have_openpty_ctty_bug=yes
ac_cv_have_space_d_name_in_struct_dirent=yes
ac_cv_header_netinet_sctp_h=no
ac_cv_header_netinet_sctp_uio_h=no
ac_cv_int64_t=yes
ac_cv_lbl_unaligned_fail=no
ac_cv_linux_kernel_pppoe=yes
ac_cv_linux_vers=2
ac_cv_pack_bitfields_reversed=yes
ac_cv_path_LDCONFIG=
ac_cv_regexec_segfault_emptystr=no
ac_cv_sctp=no
ac_cv_sys_restartable_syscalls=yes
ac_cv_time_r_type=POSIX
ac_cv_type_suseconds_t=yes
ac_cv_uchar=no
ac_cv_uint=yes
ac_cv_uint64_t=yes
ac_cv_ulong=yes
ac_cv_ushort=yes
ac_cv_va_copy=C99
ac_cv_va_val_copy=yes
as_cv_unaligned_access=yes
. $TOPDIR/include/site/linux

15
package/ar7-atm/Config.in Normal file
View File

@ -0,0 +1,15 @@
choice
prompt "Firmware version"
depends on (PACKAGE_kmod-sangam-atm-annex-a || PACKAGE_kmod-sangam-atm-annex-b)
default AR7_ATM_FW_VERSION_704
help
This option allows you to switch between firmware/driver versions which
might improve the DSL line speed.
config AR7_ATM_FW_VERSION_704
bool "D7.04.03.00"
config AR7_ATM_FW_VERSION_703
bool "D7.03.01.00"
endchoice

View File

@ -9,23 +9,36 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=sangam_atm
ifeq ($(CONFIG_AR7_ATM_FW_VERSION_704),y)
PKG_VERSION:=D7.04.03.00
PKG_MD5SUM:=3d76004e46f09e88931f91670cb420ad
PKG_RELEASE:=R1
endif
ifeq ($(CONFIG_AR7_ATM_FW_VERSION_703),y)
PKG_VERSION:=D7.03.01.00
PKG_MD5SUM:=bc6e9c6adb1be25820c7ee661de8ca7d
PKG_RELEASE:=R2
endif
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE).tar.bz2
PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
PKG_MD5SUM:=3d76004e46f09e88931f91670cb420ad
include $(INCLUDE_DIR)/package.mk
define KernelPackage/sangam-atm/Default
SUBMENU:=Network Devices
DEPENDS:=@TARGET_ar7 +kmod-atm
DEPENDS:=@TARGET_ar7 +kmod-atm
TITLE:=AR7 ADSL driver
FILES:=$(PKG_BUILD_DIR)/tiatm.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,50,tiatm)
endef
define KernelPackage/sangam-atm/config
source "$(SOURCE)/Config.in"
endef
define KernelPackage/sangam-atm-annex-a
$(call KernelPackage/sangam-atm/Default)
TITLE+= (Annex A, ADSL over POTS)
@ -35,6 +48,10 @@ define KernelPackage/sangam-atm-annex-a/description
The AR7 ADSL driver for Annex A (ADSL over POTS).
endef
define KernelPackage/sangam-atm-annex-a/config
$(call KernelPackage/sangam-atm/config)
endef
define KernelPackage/sangam-atm-annex-b
$(call KernelPackage/sangam-atm/Default)
TITLE+= (Annex B, ADSL over ISDN)
@ -44,6 +61,10 @@ define KernelPackage/sangam-atm-annex-b/description
The AR7 ADSL driver for Annex B (ADSL over ISDN).
endef
define KernelPackage/sangam-atm-annex-a/config
$(call KernelPackage/sangam-atm/config)
endef
define Build/Compile
$(MAKE) -C "$(LINUX_DIR)" \
CROSS_COMPILE="$(TARGET_CROSS)" \

View File

@ -439,7 +439,7 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
endef
define Package/libpthread/install_lib
$(if $(wildcard $(TOOLCHAIN_DIR)/usr/lib/libc_so.a),$(CP) $(TOOLCHAIN_DIR)/usr/lib/libpthread_so.a $(1)/lib/libpthread_pic.a)
$(if $(wildcard $(TOOLCHAIN_DIR)/usr/lib/libpthread_so.a),$(CP) $(TOOLCHAIN_DIR)/usr/lib/libpthread_so.a $(1)/lib/libpthread_pic.a)
endef
define Package/librt/install

View File

@ -2,8 +2,13 @@
# Copyright (C) 2006 OpenWrt.org
# Copyright (C) 2006 Fokus Fraunhofer <carsten.tittel@fokus.fraunhofer.de>
alias debug=${DEBUG:-:}
alias mount='busybox mount'
debug () {
${DEBUG:-:} "$@"
}
mount() {
busybox mount "$@"
}
# newline
N="
@ -258,7 +263,7 @@ jffs2_mark_erase() {
echo -e "\xde\xad\xc0\xde" | mtd -qq write - "$1"
}
uci_apply_defaults() {(
uci_apply_defaults() {
cd /etc/uci-defaults || return 0
files="$(ls)"
[ -z "$files" ] && return 0
@ -267,6 +272,6 @@ uci_apply_defaults() {(
( . "./$(basename $file)" ) && rm -f "$file"
done
uci commit
)}
}
[ -z "$IPKG_INSTROOT" -a -f /lib/config/uci.sh ] && . /lib/config/uci.sh

View File

@ -35,10 +35,9 @@ system_config() {
[ -x /sbin/klogd ] && klogd ${klogconloglevel:+-c $klogconloglevel}
}
apply_uci_config() {(
include /lib/config
uci_apply_defaults
)}
apply_uci_config() {
sh -c '. /etc/functions.sh; include /lib/config; uci_apply_defaults'
}
start() {
[ -f /proc/mounts ] || /sbin/mount_root

View File

@ -1,7 +1,7 @@
#!/bin/sh /etc/rc.common
# (C) 2008 openwrt.org
START=60
START=96
load_led() {
local name

View File

@ -289,7 +289,7 @@ setup_interface() {
# don't stay running in background if dhcp is not the main proto on the interface (e.g. when using pptp)
local dhcpopts
[ ."$proto1" != ."$proto" ] && dhcpopts="-n -q"
$DEBUG eval udhcpc -t 0 -i "$iface" ${ipaddr:+-r $ipaddr} ${hostname:+-H $hostname} ${clientid:+-c $clientid} -b -p "$pidfile" ${dhcpopts:- -R &}
$DEBUG eval udhcpc -t 0 -i "$iface" ${ipaddr:+-r $ipaddr} ${hostname:+-H $hostname} ${clientid:+-c $clientid} -b -p "$pidfile" ${dhcpopts:- -O rootpath -R &}
lock -u "/var/lock/dhcp-$iface"
fi
;;

View File

@ -8,7 +8,7 @@ export HOTPLUG_TYPE="$1"
[ -d /sys/firmware -a "firmware" = "$HOTPLUG_TYPE" -a "add" = "$ACTION" ] && {
[ -f "/lib/firmware/$FIRMWARE" ] && {
echo 1 > "/sys$DEVPATH/loading"
cp "/lib/firmware/$FIRMWARE" "/sys$DEVPATH/data"
dd if="/lib/firmware/$FIRMWARE" of="/sys$DEVPATH/data" bs=64k
echo 0 > "/sys$DEVPATH/loading"
}
exit 0

View File

@ -61,6 +61,7 @@ enum {
WRTSL54GS,
WRT54G3G,
WRT160N,
WRT300NV11,
WRT350N,
WRT600N,
WRT600NV11,
@ -131,6 +132,12 @@ enum {
/* Sitecom */
WL105B,
/* Western Digital */
WDNetCenter,
/* Askey */
RT210W,
};
static void __init bcm4780_init(void) {
@ -147,6 +154,21 @@ static void __init bcm4780_init(void) {
schedule_timeout(HZ * 5);
}
static void __init NetCenter_init(void) {
/* unset pin 6 (+12V) */
int pin = 1 << 6;
gpio_outen(pin, pin);
gpio_control(pin, 0);
gpio_out(pin, pin);
/* unset pin 1 (turn off red led, blue will light alone if +5V comes up) */
pin = 1 << 1;
gpio_outen(pin, pin);
gpio_control(pin, 0);
gpio_out(pin, pin);
/* unset pin 3 (+5V) and wait 5 seconds (harddisk spin up) */
bcm4780_init();
}
static void __init bcm57xx_init(void) {
int pin = 1 << 2;
@ -255,6 +277,19 @@ static struct platform_t __initdata platforms[] = {
{ .name = "ses_orange", .gpio = 1 << 3, .polarity = REVERSE },
},
},
[WRT300NV11] = {
.name = "Linksys WRT300N V1.1",
.buttons = {
{ .name = "reset", .gpio = 1 << 6 }, // "Reset" on back panel
{ .name = "ses", .gpio = 1 << 4 }, // "Reserved" on top panel
},
.leds = {
{ .name = "power", .gpio = 1 << 1, .polarity = NORMAL }, // "Power"
{ .name = "ses_amber", .gpio = 1 << 3, .polarity = REVERSE }, // "Security" Amber
{ .name = "ses_green", .gpio = 1 << 5, .polarity = REVERSE }, // "Security" Green
},
.platform_init = bcm57xx_init,
},
[WRT350N] = {
.name = "Linksys WRT350N",
.buttons = {
@ -793,6 +828,30 @@ static struct platform_t __initdata platforms[] = {
{ .name = "power", .gpio = 1 << 3},
},
},
/* Western Digital Net Center */
[WDNetCenter] = {
.name = "Western Digital NetCenter",
.buttons = {
{ .name = "power", .gpio = 1 << 0},
{ .name = "reset", .gpio = 1 << 7},
},
.platform_init = NetCenter_init,
},
/* Askey (and clones) */
[RT210W] = {
.name = "Askey RT210W",
.buttons = {
/* Power button is hard-wired to hardware reset */
/* but is also connected to GPIO 7 (probably for bootloader recovery) */
{ .name = "power", .gpio = 1 << 7},
},
.leds = {
/* These were verified and named based on Belkin F5D4230-4 v1112 */
{ .name = "connected", .gpio = 1 << 0, .polarity = REVERSE },
{ .name = "wlan", .gpio = 1 << 3, .polarity = REVERSE },
{ .name = "power", .gpio = 1 << 5, .polarity = REVERSE },
},
},
};
static struct platform_t __init *platform_detect(void)
@ -886,6 +945,9 @@ static struct platform_t __init *platform_detect(void)
if (startswith(getvar("pmon_ver"), "CFE")) {
/* CFE based - newer hardware */
if (!strcmp(boardnum, "42")) { /* Linksys */
if (!strcmp(boardtype, "0x478") && !strcmp(getvar("boot_hw_model"), "WRT300N") && !strcmp(getvar("boot_hw_ver"), "1.1"))
return &platforms[WRT300NV11];
if (!strcmp(boardtype, "0x478") && !strcmp(getvar("cardbus"), "1"))
return &platforms[WRT350N];
@ -930,6 +992,10 @@ static struct platform_t __init *platform_detect(void)
!strcmp(getvar("boardflags"), "0x750")) /* D-Link DIR-320 */
return &platforms[DIR320];
if (!strncmp(boardnum, "TH",2) && !strcmp(boardtype,"0x042f")) {
return &platforms[WDNetCenter];
}
} else { /* PMON based - old stuff */
if ((simple_strtoul(getvar("GemtekPmonVer"), NULL, 0) == 9) &&
(simple_strtoul(getvar("et0phyaddr"), NULL, 0) == 30)) {
@ -959,6 +1025,18 @@ static struct platform_t __init *platform_detect(void)
/* unknown asus stuff, probably bcm4702 */
if (startswith(boardnum, "asusX"))
return &platforms[ASUS_4702];
/* bcm4702 based Askey RT210W clones, Including:
* Askey RT210W (duh?)
* Siemens SE505v1
* Belkin F5D7230-4 before version v1444 (MiniPCI slot, not integrated)
*/
if (!strcmp(boardtype,"bcm94710r4")
&& !strcmp(boardnum ,"100")
&& !strcmp(getvar("pmon_ver"),"v1.03.12.bk")
){
return &platforms[RT210W];
}
}
if (buf || !strcmp(boardnum, "00")) {/* probably buffalo */

View File

@ -124,6 +124,8 @@ enable_broadcom() {
config_get maclist "$device" maclist
config_get macaddr "$device" macaddr
config_get txpower "$device" txpower
config_get frag "$device" frag
config_get rts "$device" rts
local vif_pre_up vif_post_up vif_do_up vif_txpower
local doth=0
local wmm=0
@ -291,6 +293,8 @@ ${wet:+wet 1}
wme ${wmm:-0}
rxant ${rxantenna:-3}
txant ${txantenna:-3}
fragthresh ${frag:-2346}
rtsthresh ${rts:-2347}
monitor ${monitor:-0}
passive ${passive:-0}

View File

@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=busybox
PKG_VERSION:=1.14.4
PKG_RELEASE:=2
PKG_VERSION:=1.15.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://www.busybox.net/downloads \
http://distfiles.gentoo.org/distfiles/
PKG_MD5SUM:=ad6d0b271e60783a3c767c4ccbc7f98e
PKG_MD5SUM:=6059ac9456de6fb18dc8ee4cd0ec9240
include $(INCLUDE_DIR)/package.mk

View File

@ -29,18 +29,6 @@ config BUSYBOX_CONFIG_EXTRA_COMPAT
some GNU extensions in libc. You probably only need this option
if you plan to run busybox on desktop.
config BUSYBOX_CONFIG_FEATURE_ASSUME_UNICODE
bool "Assume that 1:1 char/glyph correspondence is not true"
default n
help
This makes various applets aware that one byte is not
one character on screen.
Busybox aims to eventually work correctly with Unicode displays.
Any older encodings are not guaranteed to work.
Probably by the time when busybox will be fully Unicode-clean,
other encodings will be mainly of historic interest.
choice
prompt "Buffer allocation policy"
default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
@ -113,7 +101,29 @@ config BUSYBOX_CONFIG_LOCALE_SUPPORT
Enable this if your system has locale support and you would like
busybox to support locale settings.
config BUSYBOX_CONFIG_GETOPT_LONG
config BUSYBOX_CONFIG_FEATURE_ASSUME_UNICODE
bool "Support Unicode"
default n
help
This makes various applets aware that one byte is not
one character on screen.
Busybox aims to eventually work correctly with Unicode displays.
Any older encodings are not guaranteed to work.
Probably by the time when busybox will be fully Unicode-clean,
other encodings will be mainly of historic interest.
config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
bool "Check $LANG environment variable"
default n
depends on BUSYBOX_CONFIG_FEATURE_ASSUME_UNICODE && !BUSYBOX_CONFIG_LOCALE_SUPPORT
help
With this option on, Unicode support is activated
only if LANG variable has the value of the form "xxxx.utf8"
Otherwise, Unicode support will be always enabled and active.
config BUSYBOX_CONFIG_LONG_OPTS
bool "Support for --long-options"
default y
help

View File

@ -53,12 +53,12 @@ config BUSYBOX_CONFIG_AR
probably say N here.
config BUSYBOX_CONFIG_FEATURE_AR_LONG_FILENAMES
bool "Support for long filenames (not need for debs)"
bool "Support for long filenames (not needed for debs)"
default n
depends on BUSYBOX_CONFIG_AR
help
By default the ar format can only store the first 15 characters of
the filename, this option removes that limitation.
By default the ar format can only store the first 15 characters
of the filename, this option removes that limitation.
It supports the GNU ar long filename method which moves multiple long
filenames into a the data section of a new ar entry.
@ -165,6 +165,21 @@ config BUSYBOX_CONFIG_GZIP
gzip is used to compress files.
It's probably the most widely used UNIX compression program.
config BUSYBOX_CONFIG_LZOP
bool "lzop"
default n
help
Lzop compression/decompresion.
config BUSYBOX_CONFIG_LZOP_COMPR_HIGH
bool "lzop complession levels 7,8,9 (not very useful)"
default n
depends on BUSYBOX_CONFIG_LZOP
help
High levels (7,8,9) of lzop compression. These levels
are actually slower than gzip at equivalent compression ratios
and take up 3.2K of code.
config BUSYBOX_CONFIG_RPM2CPIO
bool "rpm2cpio"
default n
@ -196,11 +211,11 @@ config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
tar archives using the `-c' option.
config BUSYBOX_CONFIG_FEATURE_TAR_AUTODETECT
bool "Autodetect gz/bz2 compressed tarballs"
bool "Autodetect compressed tarballs"
default n
depends on BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z || BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ || BUSYBOX_CONFIG_FEATURE_SEAMLESS_BZ2 || BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA
help
With this option tar can automatically detect gzip/bzip2 compressed
With this option tar can automatically detect compressed
tarballs. Currently it works only on files (not pipes etc).
config BUSYBOX_CONFIG_FEATURE_TAR_FROM
@ -241,7 +256,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS
config BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_GETOPT_LONG
depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_LONG_OPTS
help
Enable use of long options, increases size by about 400 Bytes
@ -283,8 +298,8 @@ config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
default n
depends on BUSYBOX_CONFIG_UNLZMA
help
This option reduces decompression time by about 33% at the cost of
a 2K bigger binary.
This option reduces decompression time by about 25% at the cost of
a 1K bigger binary.
config BUSYBOX_CONFIG_UNZIP
bool "unzip"

View File

@ -91,7 +91,7 @@ config BUSYBOX_CONFIG_SETCONSOLE
config BUSYBOX_CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_SETCONSOLE && BUSYBOX_CONFIG_GETOPT_LONG
depends on BUSYBOX_CONFIG_SETCONSOLE && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the setconsole applet.

View File

@ -204,7 +204,7 @@ config BUSYBOX_CONFIG_ENV
config BUSYBOX_CONFIG_FEATURE_ENV_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_ENV && BUSYBOX_CONFIG_GETOPT_LONG
depends on BUSYBOX_CONFIG_ENV && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the env applet.
@ -217,7 +217,7 @@ config BUSYBOX_CONFIG_EXPAND
config BUSYBOX_CONFIG_FEATURE_EXPAND_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_EXPAND && BUSYBOX_CONFIG_GETOPT_LONG
depends on BUSYBOX_CONFIG_EXPAND && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the expand applet.
@ -249,6 +249,12 @@ config BUSYBOX_CONFIG_FOLD
help
Wrap text to fit a specific width.
config BUSYBOX_CONFIG_FSYNC
bool "fsync"
default n
help
fsync is used to flush file-related cached blocks to disk.
config BUSYBOX_CONFIG_HEAD
bool "head"
default y
@ -285,7 +291,7 @@ config BUSYBOX_CONFIG_INSTALL
config BUSYBOX_CONFIG_FEATURE_INSTALL_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_INSTALL && BUSYBOX_CONFIG_GETOPT_LONG
depends on BUSYBOX_CONFIG_INSTALL && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the install applet.
@ -358,7 +364,7 @@ config BUSYBOX_CONFIG_FEATURE_LS_USERNAME
config BUSYBOX_CONFIG_FEATURE_LS_COLOR
bool "Allow use of color to identify file types"
default y
depends on BUSYBOX_CONFIG_LS && BUSYBOX_CONFIG_GETOPT_LONG
depends on BUSYBOX_CONFIG_LS && BUSYBOX_CONFIG_LONG_OPTS
help
This enables the --color option to ls.
@ -388,7 +394,7 @@ config BUSYBOX_CONFIG_MKDIR
config BUSYBOX_CONFIG_FEATURE_MKDIR_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_MKDIR && BUSYBOX_CONFIG_GETOPT_LONG
depends on BUSYBOX_CONFIG_MKDIR && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the mkdir applet.
@ -415,7 +421,7 @@ config BUSYBOX_CONFIG_MV
config BUSYBOX_CONFIG_FEATURE_MV_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_MV && BUSYBOX_CONFIG_GETOPT_LONG
depends on BUSYBOX_CONFIG_MV && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the mv applet.
@ -492,7 +498,7 @@ config BUSYBOX_CONFIG_RMDIR
config BUSYBOX_CONFIG_FEATURE_RMDIR_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_RMDIR && BUSYBOX_CONFIG_GETOPT_LONG
depends on BUSYBOX_CONFIG_RMDIR && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the rmdir applet, including
--ignore-fail-on-non-empty for compatibility with GNU rmdir.
@ -629,7 +635,7 @@ config BUSYBOX_CONFIG_TAIL
from files.
config BUSYBOX_CONFIG_FEATURE_FANCY_TAIL
bool "Enable extra tail options (-q, -s, and -v)"
bool "Enable extra tail options (-q, -s, -v, and -F)"
default y
depends on BUSYBOX_CONFIG_TAIL
help
@ -661,7 +667,7 @@ config BUSYBOX_CONFIG_TEST
config BUSYBOX_CONFIG_FEATURE_TEST_64
bool "Extend test to 64 bit"
default y
depends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_ASH_BUILTIN_TEST
depends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_ASH_BUILTIN_TEST || BUSYBOX_CONFIG_HUSH
help
Enable 64-bit support in test.
@ -726,7 +732,7 @@ config BUSYBOX_CONFIG_UNEXPAND
config BUSYBOX_CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_UNEXPAND && BUSYBOX_CONFIG_GETOPT_LONG
depends on BUSYBOX_CONFIG_UNEXPAND && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the unexpand applet.

View File

@ -35,7 +35,7 @@ config BUSYBOX_CONFIG_RUN_PARTS
config BUSYBOX_CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_RUN_PARTS && BUSYBOX_CONFIG_GETOPT_LONG
depends on BUSYBOX_CONFIG_RUN_PARTS && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the run-parts applet.
@ -69,7 +69,7 @@ config BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_FANCY
config BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_START_STOP_DAEMON && BUSYBOX_CONFIG_GETOPT_LONG
depends on BUSYBOX_CONFIG_START_STOP_DAEMON && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the start-stop-daemon applet.

View File

@ -12,17 +12,17 @@ config BUSYBOX_CONFIG_FIND
find is used to search your system to find specified files.
config BUSYBOX_CONFIG_FEATURE_FIND_PRINT0
bool "Enable -print0 option"
bool "Enable -print0: NUL-terminated output"
default y
depends on BUSYBOX_CONFIG_FIND
help
Causes output names to be separated by a null character
Causes output names to be separated by a NUL character
rather than a newline. This allows names that contain
newlines and other whitespace to be more easily
interpreted by other programs.
config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
bool "Enable modified time matching (-mtime option)"
bool "Enable -mtime: modified time matching"
default n
depends on BUSYBOX_CONFIG_FIND
help
@ -30,7 +30,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
files, in days.
config BUSYBOX_CONFIG_FEATURE_FIND_MMIN
bool "Enable modified time matching (-mmin option)"
bool "Enable -mmin: modified time matching by minutes"
default n
depends on BUSYBOX_CONFIG_FIND
help
@ -38,14 +38,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_MMIN
files, in minutes.
config BUSYBOX_CONFIG_FEATURE_FIND_PERM
bool "Enable permissions matching (-perm option)"
bool "Enable -perm: permissions matching"
default y
depends on BUSYBOX_CONFIG_FIND
help
Enable searching based on file permissions.
config BUSYBOX_CONFIG_FEATURE_FIND_TYPE
bool "Enable filetype matching (-type option)"
bool "Enable -type: file type matching (file/dir/link/...)"
default y
depends on BUSYBOX_CONFIG_FIND
help
@ -53,21 +53,21 @@ config BUSYBOX_CONFIG_FEATURE_FIND_TYPE
directory, socket, device, etc.).
config BUSYBOX_CONFIG_FEATURE_FIND_XDEV
bool "Enable 'stay in filesystem' option (-xdev)"
bool "Enable -xdev: 'stay in filesystem'"
default y
depends on BUSYBOX_CONFIG_FIND
help
This option allows find to restrict searches to a single filesystem.
config BUSYBOX_CONFIG_FEATURE_FIND_MAXDEPTH
bool "Enable -maxdepth N option"
bool "Enable -maxdepth N"
default y
depends on BUSYBOX_CONFIG_FIND
help
This option enables -maxdepth N option.
config BUSYBOX_CONFIG_FEATURE_FIND_NEWER
bool "Enable -newer option for comparing file mtimes"
bool "Enable -newer: compare file modification times"
default n
depends on BUSYBOX_CONFIG_FIND
help
@ -75,14 +75,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_NEWER
a modified time that is more recent than the specified FILE.
config BUSYBOX_CONFIG_FEATURE_FIND_INUM
bool "Enable inode number matching (-inum option)"
bool "Enable -inum: inode number matching"
default n
depends on BUSYBOX_CONFIG_FIND
help
Support the 'find -inum' option for searching by inode number.
config BUSYBOX_CONFIG_FEATURE_FIND_EXEC
bool "Enable -exec option allowing execution of commands"
bool "Enable -exec: execute commands"
default y
depends on BUSYBOX_CONFIG_FIND
help
@ -90,14 +90,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_EXEC
the files matched.
config BUSYBOX_CONFIG_FEATURE_FIND_USER
bool "Enable username/uid matching (-user option)"
bool "Enable -user: username/uid matching"
default y
depends on BUSYBOX_CONFIG_FIND
help
Support the 'find -user' option for searching by username or uid.
config BUSYBOX_CONFIG_FEATURE_FIND_GROUP
bool "Enable group/gid matching (-group option)"
bool "Enable -group: group/gid matching"
default y
depends on BUSYBOX_CONFIG_FIND
help
@ -113,7 +113,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_NOT
the non-POSIX notation '-not'.
config BUSYBOX_CONFIG_FEATURE_FIND_DEPTH
bool "Enable the -depth option"
bool "Enable -depth"
default y
depends on BUSYBOX_CONFIG_FIND
help
@ -127,14 +127,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_PAREN
Enable usage of parens '(' to specify logical order of arguments.
config BUSYBOX_CONFIG_FEATURE_FIND_SIZE
bool "Enable -size option allowing matching for file size"
bool "Enable -size: file size matching"
default y
depends on BUSYBOX_CONFIG_FIND
help
Support the 'find -size' option for searching by file size.
config BUSYBOX_CONFIG_FEATURE_FIND_PRUNE
bool "Enable -prune option allowing to exclude subdirectories"
bool "Enable -prune: exclude subdirectories"
default y
depends on BUSYBOX_CONFIG_FIND
help
@ -142,7 +142,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_PRUNE
exclusion .svn and CVS directories.
config BUSYBOX_CONFIG_FEATURE_FIND_DELETE
bool "Enable -delete option allowing to delete files"
bool "Enable -delete: delete files/dirs"
default n
depends on BUSYBOX_CONFIG_FIND && BUSYBOX_CONFIG_FEATURE_FIND_DEPTH
help
@ -151,21 +151,21 @@ config BUSYBOX_CONFIG_FEATURE_FIND_DELETE
try to protect the user from doing stupid things. Use with care.
config BUSYBOX_CONFIG_FEATURE_FIND_PATH
bool "Enable -path option allowing to match pathname patterns"
bool "Enable -path: match pathname with shell pattern"
default y
depends on BUSYBOX_CONFIG_FIND
help
The -path option matches whole pathname instead of just filename.
config BUSYBOX_CONFIG_FEATURE_FIND_REGEX
bool "Enable -regex: match pathname to regex"
bool "Enable -regex: match pathname with regex"
default y
depends on BUSYBOX_CONFIG_FIND
help
The -regex option matches whole pathname against regular expression.
config BUSYBOX_CONFIG_FEATURE_FIND_CONTEXT
bool "Enable -context option for matching security context"
bool "Enable -context: security context matching"
default n
depends on BUSYBOX_CONFIG_FIND && BUSYBOX_CONFIG_SELINUX
help
@ -178,7 +178,7 @@ config BUSYBOX_CONFIG_GREP
grep is used to search files for a specified pattern.
config BUSYBOX_CONFIG_FEATURE_GREP_EGREP_ALIAS
bool "Support extended regular expressions (egrep & grep -E)"
bool "Enable extended regular expressions (egrep & grep -E)"
default y
depends on BUSYBOX_CONFIG_GREP
help
@ -193,7 +193,7 @@ config BUSYBOX_CONFIG_FEATURE_GREP_FGREP_ALIAS
help
fgrep sees the search pattern as a normal string rather than
regular expressions.
grep -F is always builtin, this just creates the fgrep alias.
grep -F always works, this just creates the fgrep alias.
config BUSYBOX_CONFIG_FEATURE_GREP_CONTEXT
bool "Enable before and after context flags (-A, -B and -C)"
@ -208,40 +208,39 @@ config BUSYBOX_CONFIG_XARGS
bool "xargs"
default y
help
xargs is used to execute a specified command on
xargs is used to execute a specified command for
every item from standard input.
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION
bool "Enable prompt and confirmation option -p"
bool "Enable -p: prompt and confirmation"
default y
depends on BUSYBOX_CONFIG_XARGS
help
Support prompt the user about whether to run each command
Support -p: prompt the user whether to run each command
line and read a line from the terminal.
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_QUOTES
bool "Enable support single and double quotes and backslash"
bool "Enable single and double quotes and backslash"
default y
depends on BUSYBOX_CONFIG_XARGS
help
Default xargs unsupport single and double quotes
and backslash for can use aruments with spaces.
Support quoting in the input.
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT
bool "Enable support options -x"
bool "Enable -x: exit if -s or -n is exceeded"
default y
depends on BUSYBOX_CONFIG_XARGS
help
Enable support exit if the size (see the -s or -n option)
Support -x: exit if the command size (see the -s or -n option)
is exceeded.
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM
bool "Enable null terminated option -0"
bool "Enable -0: NUL-terminated input"
default y
depends on BUSYBOX_CONFIG_XARGS
help
Enable input filenames are terminated by a null character
instead of by whitespace, and the quotes and backslash
Support -0: input items are terminated by a NUL character
instead of whitespace, and the quotes and backslash
are not special.
endmenu

View File

@ -93,6 +93,26 @@ config BUSYBOX_CONFIG_HALT
help
Stop all processes and either halt, reboot, or power off the system.
config BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
bool "Call telinit on shutdown and reboot"
default n
depends on BUSYBOX_CONFIG_HALT && !BUSYBOX_CONFIG_INIT
help
Call an external program (normally telinit) to facilitate
a switch to a proper runlevel.
This option is only available if you selected halt and friends,
but did not select init.
config BUSYBOX_CONFIG_TELINIT_PATH
string "Path to telinit executable"
default "/sbin/telinit"
depends on BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
help
When busybox halt and friends have to call external telinit
to facilitate proper shutdown, this path is to be used when
locating telinit executable.
config BUSYBOX_CONFIG_MESG
bool "mesg"
default y

View File

@ -13,7 +13,7 @@ config BUSYBOX_CONFIG_PASSWORD_MINLEN
Minimum allowable password length.
config BUSYBOX_CONFIG_MD5_SIZE_VS_SPEED
int "MD5: Trade Bytes for Speed"
int "MD5: Trade bytes for speed (0:fast, 3:slow)"
default 2
range 0 3
help
@ -102,6 +102,28 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_FANCY_PROMPT
Setting this option allows for prompts to use things like \w and
\$ and escape codes.
config BUSYBOX_CONFIG_FEATURE_EDITING_ASK_TERMINAL
bool "Query cursor position from terminal"
default n
depends on BUSYBOX_CONFIG_FEATURE_EDITING
help
Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
current cursor position. This information is used to make line
editing more robust in some cases.
If you are not sure whether your terminals respond to this code
correctly, or want to save on code size (about 300 bytes),
then do not turn this option on.
config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP
bool "Non-POSIX, but safer, copying to special nodes"
default y
help
With this option, "cp file symlink" will delete symlink
and create a regular file. This does not conform to POSIX,
but prevents a symlink attack.
Similarly, "cp file device" will not send file's data
to the device.
config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
bool "Give more precise messages when copy fails (cp, mv etc)"
default n
@ -151,4 +173,5 @@ config BUSYBOX_CONFIG_FEATURE_HWIB
help
Support for printing infiniband addresses in
network applets.
endmenu

View File

@ -97,6 +97,13 @@ config BUSYBOX_CONFIG_ADDGROUP
help
Utility for creating a new group account.
config BUSYBOX_CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_ADDGROUP && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the addgroup applet.
config BUSYBOX_CONFIG_FEATURE_ADDUSER_TO_GROUP
bool "Support for adding users to groups"
default n
@ -141,10 +148,26 @@ config BUSYBOX_CONFIG_ADDUSER
config BUSYBOX_CONFIG_FEATURE_ADDUSER_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_ADDUSER && BUSYBOX_CONFIG_GETOPT_LONG
depends on BUSYBOX_CONFIG_ADDUSER && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the adduser applet.
config BUSYBOX_CONFIG_FIRST_SYSTEM_ID
int "First valid system uid or gid for adduser and addgroup"
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
range 0 64900
default 100
help
First valid system uid or gid for adduser and addgroup
config BUSYBOX_CONFIG_LAST_SYSTEM_ID
int "Last valid system uid or gid for adduser and addgroup"
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
range 0 64900
default 999
help
Last valid system uid or gid for adduser and addgroup
config BUSYBOX_CONFIG_DELUSER
bool "deluser"
default n

View File

@ -19,6 +19,28 @@ config BUSYBOX_CONFIG_BBCONFIG
The bbconfig applet will print the config file with which
busybox was built.
config BUSYBOX_CONFIG_BEEP
bool "beep"
default n
help
The beep applets beeps in a given freq/Hz.
config BUSYBOX_CONFIG_FEATURE_BEEP_FREQ
int "default frequency"
range 0 2147483647
default 4000
depends on BUSYBOX_CONFIG_BEEP
help
Frequency for default beep.
config BUSYBOX_CONFIG_FEATURE_BEEP_LENGTH_MS
int "default length"
range 0 2147483647
default 30
depends on BUSYBOX_CONFIG_BEEP
help
Length in ms for default beep.
config BUSYBOX_CONFIG_CHAT
bool "chat"
default n
@ -250,6 +272,20 @@ config BUSYBOX_CONFIG_FBSPLASH
"NN" (ASCII decimal number) - percentage to show on progress bar
"exit" - well you guessed it
config BUSYBOX_CONFIG_FLASH_LOCK
bool "flash_lock"
default n
help
The flash_lock binary from mtd-utils as of git head 5ec0c10d0. This
utility locks part or all of the flash device.
config BUSYBOX_CONFIG_FLASH_UNLOCK
bool "flash_unlock"
default n
help
The flash_unlock binary from mtd-utils as of git head 5ec0c10d0. This
utility unlocks part or all of the flash device.
config BUSYBOX_CONFIG_FLASH_ERASEALL
bool "flash_eraseall"
default n
@ -576,6 +612,12 @@ config BUSYBOX_CONFIG_TTYSIZE
error, but returns default 80x24.
Usage in shell scripts: width=`ttysize w`.
config BUSYBOX_CONFIG_VOLNAME
bool "volname"
default n
help
Prints a CD-ROM volume name.
config BUSYBOX_CONFIG_WATCHDOG
bool "watchdog"
default y

View File

@ -90,12 +90,8 @@ config BUSYBOX_CONFIG_MODPROBE
Handle the loading of modules, and their dependencies on a high
level.
Note that in the state, modprobe does not understand multiple
module options from the configuration file. See option below.
config BUSYBOX_CONFIG_FEATURE_MODPROBE_BLACKLIST
bool
prompt "Blacklist support"
bool "Blacklist support"
default n
depends on BUSYBOX_CONFIG_MODPROBE
help

View File

@ -12,6 +12,17 @@ config BUSYBOX_CONFIG_FEATURE_IPV6
Enable IPv6 support in busybox.
This adds IPv6 support in the networking applets.
config BUSYBOX_CONFIG_FEATURE_UNIX_LOCAL
bool "Enable Unix domain socket support (usually not needed)"
default n
help
Enable Unix domain socket support in all busybox networking
applets. Address of the form local:/path/to/unix/socket
will be recognized.
This extension is almost never used in real world usage.
You most likely want to say N.
config BUSYBOX_CONFIG_FEATURE_PREFER_IPV4_ADDRESS
bool "Prefer IPv4 addresses from DNS queries"
default y
@ -121,7 +132,7 @@ config BUSYBOX_CONFIG_FTPPUT
config BUSYBOX_CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS
bool "Enable long options in ftpget/ftpput"
default n
depends on BUSYBOX_CONFIG_GETOPT_LONG && (BUSYBOX_CONFIG_FTPGET || BUSYBOX_CONFIG_FTPPUT)
depends on BUSYBOX_CONFIG_LONG_OPTS && (BUSYBOX_CONFIG_FTPGET || BUSYBOX_CONFIG_FTPPUT)
help
Support long options for the ftpget/ftpput applet.
@ -154,14 +165,6 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_USE_SENDFILE
When enabled, httpd will use the kernel sendfile() function
instead of read/write loop.
config BUSYBOX_CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
bool "Support reloading of global config file on HUP signal"
default y
depends on BUSYBOX_CONFIG_HTTPD
help
This option enables processing of SIGHUP to reload cached
configuration settings.
config BUSYBOX_CONFIG_FEATURE_HTTPD_SETUID
bool "Enable -u <user> option"
default n
@ -188,14 +191,6 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_AUTH_MD5
Enables basic per URL authentication from /etc/httpd.conf
using md5 passwords.
config BUSYBOX_CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES
bool "Support loading additional MIME types at run-time"
default y
depends on BUSYBOX_CONFIG_HTTPD
help
This option enables support for additional MIME types at
run-time to be specified in the configuration file.
config BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
bool "Support Common Gateway Interface (CGI)"
default y
@ -312,6 +307,12 @@ config BUSYBOX_CONFIG_IFENSLAVE
Userspace application to bind several interfaces
to a logical interface (use with kernel bonding driver).
config BUSYBOX_CONFIG_IFPLUGD
bool "ifplugd"
default n
help
Network interface plug detection daemon.
config BUSYBOX_CONFIG_IFUPDOWN
bool "ifupdown"
default n
@ -577,7 +578,7 @@ config BUSYBOX_CONFIG_FEATURE_IPCALC_FANCY
config BUSYBOX_CONFIG_FEATURE_IPCALC_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_IPCALC && BUSYBOX_CONFIG_GETOPT_LONG
depends on BUSYBOX_CONFIG_IPCALC && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the ipcalc applet.
@ -842,15 +843,14 @@ config BUSYBOX_CONFIG_TFTP_DEBUG
default n
depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
help
Enable debug settings for tftp. This is useful if you're running
into problems with tftp as the protocol doesn't help you much when
you run into problems.
Make tftp[d] print debugging messages on stderr.
This is useful if you are diagnosing a bug in tftp[d].
config BUSYBOX_CONFIG_TRACEROUTE
bool "traceroute"
default y
help
Utility to trace the route of IP packets
Utility to trace the route of IP packets.
config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE
bool "Enable verbose output"
@ -916,7 +916,7 @@ config BUSYBOX_CONFIG_FEATURE_WGET_AUTHENTICATION
config BUSYBOX_CONFIG_FEATURE_WGET_LONG_OPTIONS
bool "Enable long options"
default y
depends on BUSYBOX_CONFIG_WGET && BUSYBOX_CONFIG_GETOPT_LONG
depends on BUSYBOX_CONFIG_WGET && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the wget applet.

View File

@ -75,11 +75,16 @@ config BUSYBOX_CONFIG_FEATURE_UDHCP_PORT
This feature is typically not needed.
config BUSYBOX_CONFIG_UDHCP_DEBUG
bool "Compile udhcp with noisy debugging messages"
default n
depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC
int "Maximum verbosity level for udhcp applets (0..9)"
default 0
range 0 9
depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC || BUSYBOX_CONFIG_APP_DHCPRELAY
help
If selected, udhcpd will output extra debugging output.
Verbosity can be increased with multiple -v options.
This options controls how high it can be cranked up.
Bigger values result in bigger code. Levels above 1
are very verbose and useful for debugging only.
config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397
bool "Support for RFC3397 domain search (experimental)"

View File

@ -91,13 +91,13 @@ config BUSYBOX_CONFIG_PS
ps gives a snapshot of the current processes.
config BUSYBOX_CONFIG_FEATURE_PS_WIDE
bool "Enable argument for wide output (-w)"
bool "Enable wide output option (-w)"
default n
depends on BUSYBOX_CONFIG_PS
help
Support argument 'w' for wide output.
If given once, 132 chars are printed and given more than
one, the length is unlimited.
If given once, 132 chars are printed, and if given more
than once, the length is unlimited.
config BUSYBOX_CONFIG_FEATURE_PS_TIME
bool "Enable time and elapsed time output"
@ -106,6 +106,13 @@ config BUSYBOX_CONFIG_FEATURE_PS_TIME
help
Support -o time and -o etime output specifiers.
config BUSYBOX_CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS
bool "Enable additional ps columns"
default n
depends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP
help
Support -o rgroup, -o ruser, -o nice output specifiers.
config BUSYBOX_CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS
bool "Support Linux prior to 2.4.0 and non-ELF systems"
default n

View File

@ -16,7 +16,7 @@ config BUSYBOX_CONFIG_CHCON
config BUSYBOX_CONFIG_FEATURE_CHCON_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_CHCON && BUSYBOX_CONFIG_GETOPT_LONG
depends on BUSYBOX_CONFIG_CHCON && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the chcon applet.
@ -67,7 +67,7 @@ config BUSYBOX_CONFIG_RUNCON
config BUSYBOX_CONFIG_FEATURE_RUNCON_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_RUNCON && BUSYBOX_CONFIG_GETOPT_LONG
depends on BUSYBOX_CONFIG_RUNCON && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the runcon applet.

View File

@ -24,9 +24,9 @@ config BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH
#### select LASH
#### bool "lash"
config BUSYBOX_CONFIG_FEATURE_SH_IS_MSH
select BUSYBOX_CONFIG_MSH
bool "msh"
####config FEATURE_SH_IS_MSH
#### select MSH
#### bool "msh"
config BUSYBOX_CONFIG_FEATURE_SH_IS_NONE
bool "none"
@ -43,9 +43,6 @@ config BUSYBOX_CONFIG_ASH
shell (by Herbert Xu), which was created by porting the 'ash' shell
(written by Kenneth Almquist) from NetBSD.
comment "Ash Shell Options"
depends on BUSYBOX_CONFIG_ASH
config BUSYBOX_CONFIG_ASH_BASH_COMPAT
bool "bash-compatible extensions"
default y
@ -169,16 +166,23 @@ config BUSYBOX_CONFIG_HUSH
It does not handle select, aliases, brace expansion,
tilde expansion, &>file and >&file redirection of stdout+stderr.
config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
bool "bash-compatible extensions"
default y
depends on BUSYBOX_CONFIG_HUSH
help
Enable bash-compatible extensions.
config BUSYBOX_CONFIG_HUSH_HELP
bool "help builtin"
default n
default y
depends on BUSYBOX_CONFIG_HUSH
help
Enable help builtin in hush. Code size + ~1 kbyte.
config BUSYBOX_CONFIG_HUSH_INTERACTIVE
bool "Interactive mode"
default n
default y
depends on BUSYBOX_CONFIG_HUSH
help
Enable interactive mode (prompt and command editing).
@ -188,7 +192,7 @@ config BUSYBOX_CONFIG_HUSH_INTERACTIVE
config BUSYBOX_CONFIG_HUSH_JOB
bool "Job control"
default n
default y
depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE
help
Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current
@ -199,39 +203,53 @@ config BUSYBOX_CONFIG_HUSH_JOB
config BUSYBOX_CONFIG_HUSH_TICK
bool "Process substitution"
default n
default y
depends on BUSYBOX_CONFIG_HUSH
help
Enable process substitution `command` and $(command) in hush.
config BUSYBOX_CONFIG_HUSH_IF
bool "Support if/then/elif/else/fi"
default n
default y
depends on BUSYBOX_CONFIG_HUSH
help
Enable if/then/elif/else/fi in hush.
config BUSYBOX_CONFIG_HUSH_LOOPS
bool "Support for, while and until loops"
default n
default y
depends on BUSYBOX_CONFIG_HUSH
help
Enable for, while and until loops in hush.
config BUSYBOX_CONFIG_HUSH_CASE
bool "Support case ... esac statement"
default n
default y
depends on BUSYBOX_CONFIG_HUSH
help
Enable case ... esac statement in hush. +400 bytes.
config BUSYBOX_CONFIG_HUSH_FUNCTIONS
bool "Support funcname() { commands; } syntax"
default n
default y
depends on BUSYBOX_CONFIG_HUSH
help
Enable support for shell functions in hush. +800 bytes.
config BUSYBOX_CONFIG_HUSH_LOCAL
bool "Support local builtin"
default y
depends on BUSYBOX_CONFIG_HUSH_FUNCTIONS
help
Enable support for local variables in functions.
config BUSYBOX_CONFIG_HUSH_EXPORT_N
bool "Support export '-n' option"
default y
depends on BUSYBOX_CONFIG_HUSH
help
Enable support for export '-n' option in hush. It is a bash extension.
config BUSYBOX_CONFIG_LASH
bool "lash (deprecated: aliased to hush)"
default n
@ -242,6 +260,7 @@ config BUSYBOX_CONFIG_LASH
config BUSYBOX_CONFIG_MSH
bool "msh (deprecated: please use hush)"
default n
select BUSYBOX_CONFIG_HUSH
help
msh is deprecated and will be removed, please migrate to hush.
If there is a feature msh has but hush does not, please let us know.
@ -254,9 +273,6 @@ config BUSYBOX_CONFIG_MSH
# It uses only vfork, so it can be used on uClinux systems.
comment "Bourne Shell Options"
depends on BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
config BUSYBOX_CONFIG_SH_MATH_SUPPORT
bool "POSIX math support"
default y

View File

@ -250,6 +250,13 @@ config BUSYBOX_CONFIG_GETOPT
written by others, this utility may be for you. Most people will
wisely leave this disabled.
config BUSYBOX_CONFIG_FEATURE_GETOPT_LONG
bool "Support option -l"
default n if BUSYBOX_CONFIG_LONG_OPTS
depends on BUSYBOX_CONFIG_GETOPT
help
Enable support for long options (option -l).
config BUSYBOX_CONFIG_HEXDUMP
bool "hexdump"
default y
@ -286,7 +293,7 @@ config BUSYBOX_CONFIG_HWCLOCK
config BUSYBOX_CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS
bool "Support long options (--hctosys,...)"
default n
depends on BUSYBOX_CONFIG_HWCLOCK && BUSYBOX_CONFIG_GETOPT_LONG
depends on BUSYBOX_CONFIG_HWCLOCK && BUSYBOX_CONFIG_LONG_OPTS
help
By default, the hwclock utility only uses short options. If you
are overly fond of its long options, such as --hctosys, --utc, etc)
@ -399,15 +406,12 @@ config BUSYBOX_CONFIG_MKSWAP
Once you have created swap space using 'mkswap' you need to enable
the swap space using the 'swapon' utility.
config BUSYBOX_CONFIG_FEATURE_MKSWAP_V0
bool "Version 0 support"
config BUSYBOX_CONFIG_FEATURE_MKSWAP_UUID
bool "UUID support"
default n
depends on BUSYBOX_CONFIG_MKSWAP
# depends on MKSWAP && BUSYBOX_CONFIG_DEPRECATED
help
Enable support for the old v0 style.
If your kernel is older than 2.1.117, then v0 support is the
only option.
Generate swap spaces with universally unique identifiers.
config BUSYBOX_CONFIG_MORE
bool "more"
@ -764,6 +768,13 @@ config BUSYBOX_CONFIG_SCRIPT
help
The script makes typescript of terminal session.
config BUSYBOX_CONFIG_SCRIPTREPLAY
bool "scriptreplay"
default n
help
This program replays a typescript, using timing information
given by script -t.
config BUSYBOX_CONFIG_SETARCH
bool "setarch"
default n

View File

@ -1,18 +1,18 @@
--- a/applets/Kbuild
+++ b/applets/Kbuild
@@ -18,13 +18,13 @@ HOSTCFLAGS_usage.o = -I$(srctree)/includ
@@ -27,13 +27,13 @@ HOSTCFLAGS_usage.o = -I$(srctree_slash)i
applets/applets.o: include/usage_compressed.h include/applet_tables.h
-applets/usage: .config $(srctree)/applets/usage_compressed
+applets/usage: .config $(srctree)/applets/usage_compressed include/autoconf.h
-applets/usage: .config $(srctree_slash)applets/usage_compressed
+applets/usage: .config $(srctree_slash)applets/usage_compressed include/autoconf.h
applets/applet_tables: .config
quiet_cmd_gen_usage_compressed = GEN include/usage_compressed.h
cmd_gen_usage_compressed = $(srctree)/applets/usage_compressed include/usage_compressed.h applets
cmd_gen_usage_compressed = $(srctree_slash)applets/usage_compressed include/usage_compressed.h applets
-include/usage_compressed.h: applets/usage $(srctree)/applets/usage_compressed
+include/usage_compressed.h: applets/usage $(srctree)/applets/usage_compressed include/autoconf.h
-include/usage_compressed.h: applets/usage $(srctree_slash)applets/usage_compressed
+include/usage_compressed.h: applets/usage $(srctree_slash)applets/usage_compressed include/autoconf.h
$(call cmd,gen_usage_compressed)
quiet_cmd_gen_applet_tables = GEN include/applet_tables.h

View File

@ -4,23 +4,23 @@
"setageing\0" "setfd\0" "sethello\0" "setmaxage\0"
"setpathcost\0" "setportprio\0" "setbridgeprio\0"
)
- USE_FEATURE_BRCTL_SHOW("showmacs\0" "show\0");
+ USE_FEATURE_BRCTL_SHOW("show\0");
- IF_FEATURE_BRCTL_SHOW("showmacs\0" "show\0");
+ IF_FEATURE_BRCTL_SHOW("show\0");
enum { ARG_addbr = 0, ARG_delbr, ARG_addif, ARG_delif
USE_FEATURE_BRCTL_FANCY(,
IF_FEATURE_BRCTL_FANCY(,
@@ -112,7 +112,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
ARG_setageing, ARG_setfd, ARG_sethello, ARG_setmaxage,
ARG_setpathcost, ARG_setportprio, ARG_setbridgeprio
)
- USE_FEATURE_BRCTL_SHOW(, ARG_showmacs, ARG_show)
+ USE_FEATURE_BRCTL_SHOW(, ARG_show)
- IF_FEATURE_BRCTL_SHOW(, ARG_showmacs, ARG_show)
+ IF_FEATURE_BRCTL_SHOW(, ARG_show)
};
int fd;
--- a/networking/Config.in
+++ b/networking/Config.in
@@ -66,12 +66,12 @@ config FEATURE_BRCTL_FANCY
@@ -77,12 +77,12 @@ config FEATURE_BRCTL_FANCY
This adds about 600 bytes.
config FEATURE_BRCTL_SHOW

View File

@ -1,6 +1,6 @@
--- a/networking/wget.c
+++ b/networking/wget.c
@@ -485,7 +485,7 @@ int wget_main(int argc UNUSED_PARAM, cha
@@ -653,7 +653,7 @@ int wget_main(int argc UNUSED_PARAM, cha
// "tries\0" Required_argument "t"
// "timeout\0" Required_argument "T"
/* Ignored (we always use PASV): */

View File

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -363,7 +363,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
@@ -380,7 +380,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
switch (state) {
case INIT_SELECTING:
@ -8,13 +8,13 @@
+ if (!discover_retries || packet_num < discover_retries) {
if (packet_num == 0)
xid = random_xid();
@@ -394,7 +394,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
/* broadcast */
@@ -409,7 +409,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
packet_num = 0;
continue;
case RENEW_REQUESTED:
case REQUESTING:
- if (packet_num < discover_retries) {
+ if (!discover_retries || packet_num < discover_retries) {
/* send request packet */
if (state == RENEW_REQUESTED) /* unicast */
send_renew(xid, server_addr, requested_ip);
/* send broadcast select packet */
send_select(xid, server_addr, requested_ip);
timeout = discover_timeout;

View File

@ -1,39 +1,40 @@
--- a/networking/udhcp/packet.c
+++ b/networking/udhcp/packet.c
@@ -120,6 +120,10 @@ uint16_t FAST_FUNC udhcp_checksum(void *
@@ -164,6 +164,11 @@ uint16_t FAST_FUNC udhcp_checksum(void *
return ~sum;
}
+int udhcp_get_payload_len(struct dhcpMessage *payload)
+int udhcp_get_payload_len(struct dhcp_packet *dhcp_pkt)
+{
+ return sizeof(struct dhcpMessage) - DHCP_OPTIONS_BUFSIZE + end_option(payload->options) + sizeof(payload->options[0]);
+ return sizeof(struct dhcp_packet) - DHCP_OPTIONS_BUFSIZE + end_option(dhcp_pkt->options) + sizeof(dhcp_pkt->options[0]);
+}
+
/* Construct a ip/udp header for a packet, send packet */
int FAST_FUNC udhcp_send_raw_packet(struct dhcpMessage *payload,
@@ -132,11 +136,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
int FAST_FUNC udhcp_send_raw_packet(struct dhcp_packet *dhcp_pkt,
uint32_t source_ip, int source_port,
@@ -175,11 +180,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
int fd;
int result = -1;
const char *msg;
-
- enum {
- IP_UPD_DHCP_SIZE = sizeof(struct udp_dhcp_packet) - CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS,
- UPD_DHCP_SIZE = IP_UPD_DHCP_SIZE - offsetof(struct udp_dhcp_packet, udp),
- IP_UPD_DHCP_SIZE = sizeof(struct ip_udp_dhcp_packet) - CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS,
- UPD_DHCP_SIZE = IP_UPD_DHCP_SIZE - offsetof(struct ip_udp_dhcp_packet, udp),
- };
+ int p_len = udhcp_get_payload_len(payload);
+ int p_len = udhcp_get_payload_len(dhcp_pkt);
fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP));
if (fd < 0) {
@@ -146,7 +146,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
@@ -189,7 +190,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
memset(&dest, 0, sizeof(dest));
memset(&packet, 0, sizeof(packet));
- packet.data = *payload; /* struct copy */
+ memcpy(&(packet.data), payload, p_len);
- packet.data = *dhcp_pkt; /* struct copy */
+ memcpy(&(packet.data), dhcp_pkt, p_len);
dest.sll_family = AF_PACKET;
dest.sll_protocol = htons(ETH_P_IP);
@@ -163,23 +163,18 @@ int FAST_FUNC udhcp_send_raw_packet(stru
@@ -206,24 +207,19 @@ int FAST_FUNC udhcp_send_raw_packet(stru
packet.ip.daddr = dest_ip;
packet.udp.source = htons(source_port);
packet.udp.dest = htons(dest_port);
@ -58,18 +59,31 @@
- * If you need to change this: last byte of the packet is
- * packet.data.options[end_option(packet.data.options)]
- */
udhcp_dump_packet(dhcp_pkt);
- result = sendto(fd, &packet, IP_UPD_DHCP_SIZE, 0,
+ result = sendto(fd, &packet, p_len, 0,
(struct sockaddr *) &dest, sizeof(dest));
msg = "sendto";
ret_close:
@@ -231,8 +226,7 @@ int FAST_FUNC udhcp_send_kernel_packet(s
@@ -245,10 +241,6 @@ int FAST_FUNC udhcp_send_kernel_packet(s
int result = -1;
const char *msg;
- enum {
- DHCP_SIZE = sizeof(struct dhcp_packet) - CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS,
- };
-
fd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
if (fd < 0) {
msg = "socket(%s)";
@@ -274,9 +266,8 @@ int FAST_FUNC udhcp_send_kernel_packet(s
goto ret_close;
}
- /* Currently we send full-sized DHCP packets (see above) */
- result = safe_write(fd, payload, DHCP_SIZE);
+ result = safe_write(fd, payload, udhcp_get_payload_len(payload));
udhcp_dump_packet(dhcp_pkt);
- result = safe_write(fd, dhcp_pkt, DHCP_SIZE);
+ result = safe_write(fd, dhcp_pkt, udhcp_get_payload_len(dhcp_pkt));
msg = "write";
ret_close:
close(fd);

View File

@ -3,7 +3,7 @@
@@ -126,6 +126,7 @@ int FAST_FUNC send_decline(uint32_t xid,
int FAST_FUNC send_discover(uint32_t xid, uint32_t requested)
{
struct dhcpMessage packet;
struct dhcp_packet packet;
+ static int msgs = 0;
init_packet(&packet, DHCPDISCOVER);

View File

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -327,6 +327,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
@@ -342,6 +342,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
/* silence "uninitialized!" warning */
unsigned timestamp_before_wait = timestamp_before_wait;
@ -8,7 +8,7 @@
+ * member interfaces were added/removed or if the status of the
+ * bridge changed).
+ * Workaround: refresh it here before processing the next packet */
+ udhcp_read_interface(client_config.interface, &client_config.ifindex, NULL, client_config.arp);
+ udhcp_read_interface(client_config.interface, &client_config.ifindex, NULL, client_config.client_mac);
+
//bb_error_msg("sockfd:%d, listen_mode:%d", sockfd, listen_mode);

View File

@ -1,18 +0,0 @@
--- a/networking/udhcp/options.c
+++ b/networking/udhcp/options.c
@@ -48,6 +48,7 @@ const struct dhcp_option dhcp_options[]
#if ENABLE_FEATURE_UDHCP_RFC3397
{ OPTION_STR1035 | OPTION_LIST , 0x77 }, /* search */
#endif
+ { OPTION_U8 | OPTION_LIST | OPTION_REQ, 0x79 }, /* cidr_static_routes */
/* MSIE's "Web Proxy Autodiscovery Protocol" support */
{ OPTION_STRING , 0xfc }, /* wpad */
@@ -97,6 +98,7 @@ const char dhcp_option_strings[] ALIGN1
#if ENABLE_FEATURE_UDHCP_RFC3397
"search" "\0"
#endif
+ "cidrroute" "\0" /* cidr_static_routes */
/* MSIE's "Web Proxy Autodiscovery Protocol" support */
"wpad" "\0"
;

View File

@ -1,6 +1,6 @@
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -12273,8 +12273,17 @@ exportcmd(int argc UNUSED_PARAM, char **
@@ -12360,8 +12360,17 @@ exportcmd(int argc UNUSED_PARAM, char **
const char *p;
char **aptr;
int flag = argv[0][0] == 'r' ? VREADONLY : VEXPORT;
@ -19,7 +19,7 @@
aptr = argptr;
name = *aptr;
if (name) {
@@ -12286,10 +12295,12 @@ exportcmd(int argc UNUSED_PARAM, char **
@@ -12373,10 +12382,12 @@ exportcmd(int argc UNUSED_PARAM, char **
vp = *findvar(hashvar(name), name);
if (vp) {
vp->flags |= flag;

View File

@ -1,16 +1,16 @@
--- a/include/applets.h
+++ b/include/applets.h
@@ -271,6 +271,7 @@ USE_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_
USE_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_NEVER))
USE_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+USE_NETMSG(APPLET(netmsg, _BB_DIR_BIN, _BB_SUID_ALWAYS))
USE_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
@@ -278,6 +278,7 @@ IF_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_D
IF_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_DROP))
IF_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_DROP))
IF_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_DROP))
+IF_NETMSG(APPLET(netmsg, _BB_DIR_BIN, _BB_SUID_REQUIRE))
IF_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_DROP))
IF_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_DROP))
IF_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_DROP))
--- a/include/usage.h
+++ b/include/usage.h
@@ -3010,6 +3010,9 @@
@@ -3101,6 +3101,9 @@
#endif
@ -18,11 +18,11 @@
+#define netmsg_full_usage ""
+
#define netstat_trivial_usage \
"[-laentuwxr"USE_FEATURE_NETSTAT_WIDE("W")USE_FEATURE_NETSTAT_PRG("p")"]"
"[-laentuwxr"IF_FEATURE_NETSTAT_WIDE("W")IF_FEATURE_NETSTAT_PRG("p")"]"
#define netstat_full_usage "\n\n" \
--- a/networking/Config.in
+++ b/networking/Config.in
@@ -600,6 +600,12 @@ config NC
@@ -617,6 +617,12 @@ config NC
A simple Unix utility which reads and writes data across network
connections.
@ -37,7 +37,7 @@
default n
--- a/networking/Kbuild
+++ b/networking/Kbuild
@@ -24,6 +24,7 @@ lib-$(CONFIG_IP) += ip.o
@@ -25,6 +25,7 @@ lib-$(CONFIG_IP) += ip.o
lib-$(CONFIG_IPCALC) += ipcalc.o
lib-$(CONFIG_NAMEIF) += nameif.o
lib-$(CONFIG_NC) += nc.o

View File

@ -1,16 +1,16 @@
--- a/include/applets.h
+++ b/include/applets.h
@@ -228,6 +228,7 @@ USE_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN
USE_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
USE_LOADFONT(APPLET(loadfont, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
USE_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_NEVER))
+USE_LOCK(APPLET(lock, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_ALWAYS))
USE_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, logname))
@@ -233,6 +233,7 @@ IF_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN,
IF_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_DROP))
IF_LOADFONT(APPLET(loadfont, _BB_DIR_USR_SBIN, _BB_SUID_DROP))
IF_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_DROP))
+IF_LOCK(APPLET(lock, _BB_DIR_BIN, _BB_SUID_DROP))
IF_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_DROP))
IF_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_REQUIRE))
IF_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_DROP, logname))
--- a/include/usage.h
+++ b/include/usage.h
@@ -2246,6 +2246,9 @@
@@ -2325,6 +2325,9 @@
#define loadkmap_example_usage \
"$ loadkmap < /etc/i18n/lang-keymap\n"
@ -18,11 +18,11 @@
+#define lock_full_usage ""
+
#define logger_trivial_usage \
"[OPTION]... [MESSAGE]"
"[OPTIONS] [MESSAGE]"
#define logger_full_usage "\n\n" \
--- a/miscutils/Config.in
+++ b/miscutils/Config.in
@@ -420,6 +420,11 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
@@ -456,6 +456,11 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
help
Enables the 'hdparm -d' option to get/set using_dma flag.
@ -36,7 +36,7 @@
default n
--- a/miscutils/Kbuild
+++ b/miscutils/Kbuild
@@ -23,6 +23,7 @@ lib-$(CONFIG_INOTIFYD) += inotifyd.o
@@ -26,6 +26,7 @@ lib-$(CONFIG_INOTIFYD) += inotifyd.o
lib-$(CONFIG_FEATURE_LAST_SMALL)+= last.o
lib-$(CONFIG_FEATURE_LAST_FANCY)+= last_fancy.o
lib-$(CONFIG_LESS) += less.o

View File

@ -1,24 +1,22 @@
--- a/include/usage.h
+++ b/include/usage.h
@@ -1638,7 +1638,8 @@
USE_FEATURE_HTTPD_BASIC_AUTH(" [-r realm]") \
USE_FEATURE_HTTPD_AUTH_MD5(" [-m pass]") \
" [-h home]" \
- " [-d/-e string]"
+ " [-d/-e string]" \
@@ -1693,6 +1693,7 @@
IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]") \
" [-h HOME]\n" \
"or httpd -d/-e" IF_FEATURE_HTTPD_AUTH_MD5("/-m") " STRING"
+ " [-R <path> [-H <host>]]"
#define httpd_full_usage "\n\n" \
"Listen for incoming HTTP requests\n" \
"\nOptions:" \
@@ -1656,6 +1657,8 @@
"\n -h HOME Home directory (default .)" \
@@ -1710,6 +1711,8 @@
"\n -m STRING MD5 crypt STRING") \
"\n -e STRING HTML encode STRING" \
"\n -d STRING URL decode STRING" \
+ "\n -R PATH Redirect target path" \
+ "\n -H HOST Redirect target host" \
#define hwclock_trivial_usage \
USE_FEATURE_HWCLOCK_LONG_OPTIONS( \
IF_FEATURE_HWCLOCK_LONG_OPTIONS( \
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -248,6 +248,8 @@ struct globals {
@ -29,7 +27,7 @@
+ const char *redirect_host;
Htaccess_IP *ip_a_d; /* config allow/deny lines */
USE_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
IF_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
@@ -294,6 +296,8 @@ struct globals {
#define index_page (G.index_page )
#define found_mime_type (G.found_mime_type )
@ -76,19 +74,19 @@
+ c_opt_config_file,
d_opt_decode_url,
h_opt_home_httpd,
USE_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
IF_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
@@ -2315,12 +2328,13 @@ int httpd_main(int argc UNUSED_PARAM, ch
/* We do not "absolutize" path given by -h (home) opt.
* If user gives relative path in -h,
* $SCRIPT_FILENAME will not be set. */
- opt = getopt32(argv, "c:d:h:"
+ opt = getopt32(argv, "R:H:c:d:h:"
USE_FEATURE_HTTPD_ENCODE_URL_STR("e:")
USE_FEATURE_HTTPD_BASIC_AUTH("r:")
USE_FEATURE_HTTPD_AUTH_MD5("m:")
USE_FEATURE_HTTPD_SETUID("u:")
IF_FEATURE_HTTPD_ENCODE_URL_STR("e:")
IF_FEATURE_HTTPD_BASIC_AUTH("r:")
IF_FEATURE_HTTPD_AUTH_MD5("m:")
IF_FEATURE_HTTPD_SETUID("u:")
"p:ifv",
+ &redirect_path, &redirect_host,
&opt_c_configFile, &url_for_decode, &home_httpd
USE_FEATURE_HTTPD_ENCODE_URL_STR(, &url_for_encode)
USE_FEATURE_HTTPD_BASIC_AUTH(, &g_realm)
IF_FEATURE_HTTPD_ENCODE_URL_STR(, &url_for_encode)
IF_FEATURE_HTTPD_BASIC_AUTH(, &g_realm)

View File

@ -1,11 +0,0 @@
--- a/coreutils/uniq.c
+++ b/coreutils/uniq.c
@@ -82,6 +82,8 @@ int uniq_main(int argc UNUSED_PARAM, cha
if (!s0 || strncmp(e0, e1, max_chars)) {
break;
+ } else {
+ free(s1);
}
++dups; /* note: testing for overflow seems excessive. */

View File

@ -119,7 +119,7 @@
}
--- a/modutils/Config.in
+++ b/modutils/Config.in
@@ -211,7 +211,7 @@ config FEATURE_MODUTILS_SYMBOLS
@@ -210,7 +210,7 @@ config FEATURE_MODUTILS_SYMBOLS
config DEFAULT_MODULES_DIR
string "Default directory containing modules"
default "/lib/modules"

View File

@ -1,6 +1,6 @@
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -42,6 +42,10 @@
@@ -69,6 +69,10 @@
#define MS_DIRSYNC 128 // Directory modifications are synchronous
#endif
@ -11,7 +11,7 @@
#if defined(__dietlibc__)
// 16.12.2006, Sampo Kellomaki (sampo@iki.fi)
@@ -152,6 +156,7 @@ static const int32_t mount_options[] = {
@@ -185,6 +189,7 @@ static const int32_t mount_options[] = {
/* "rslave" */ MS_SLAVE|MS_RECURSIVE,
/* "rprivate" */ MS_SLAVE|MS_RECURSIVE,
/* "runbindable" */ MS_UNBINDABLE|MS_RECURSIVE,
@ -19,7 +19,7 @@
)
// Always understood.
@@ -206,6 +211,7 @@ static const char mount_option_str[] =
@@ -239,6 +244,7 @@ static const char mount_option_str[] =
"rslave\0"
"rprivate\0"
"runbindable\0"

View File

@ -1,12 +0,0 @@
Index: busybox-1.15.2/networking/ping.c
===================================================================
--- busybox-1.15.2.orig/networking/ping.c 2009-11-24 22:57:29.000000000 +0100
+++ busybox-1.15.2/networking/ping.c 2009-11-24 22:58:58.000000000 +0100
@@ -769,6 +769,7 @@
int ping6_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int ping6_main(int argc UNUSED_PARAM, char **argv)
{
+ argv[-1] = argv[0];
argv[0] = (char*)"-6";
return ping_main(0 /* argc+1 - but it's unused anyway */,
argv - 1);

View File

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -69,7 +69,6 @@ static void perform_renew(void)
@@ -76,7 +76,6 @@ static void perform_renew(void)
state = RENEW_REQUESTED;
break;
case RENEW_REQUESTED: /* impatient are we? fine, square 1 */

View File

@ -1,8 +1,6 @@
diff --git a/networking/telnetd.c b/networking/telnetd.c
index 2a0ace5..c281feb 100644
--- a/networking/telnetd.c
+++ b/networking/telnetd.c
@@ -308,6 +308,7 @@ make_new_session(
@@ -306,6 +306,7 @@ make_new_session(
/* Restore default signal handling ASAP */
bb_signals((1 << SIGCHLD) + (1 << SIGPIPE), SIG_DFL);

66
package/carl9170/Makefile Normal file
View File

@ -0,0 +1,66 @@
#
# Copyright (C) 2006 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=carl9170
PKG_VERSION:=0.9.2.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://www.kernel.org/pub/linux/kernel/people/chr/carl9170/$(PKG_VERSION)
PKG_MD5SUM:=5f0057ea651343460ea4f1fb093a4bdf
include $(INCLUDE_DIR)/package.mk
DRV_PATH:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170
define KernelPackage/carl9170
SUBMENU:=Wireless Drivers
TITLE:=Driver for Atheros AR9170 USB sticks
DEPENDS:=+kmod-mac80211 +kmod-ath
URL:=http://www.kernel.org/pub/linux/kernel/people/chr/carl9170
FILES:=$(DRV_PATH)/carl9170usb.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,60,carl9170usb)
endef
define KernelPackage/carl9170/description
This package contains a driver for Atheros AR9170 USB sticks using the free firmware
endef
define Build/Prepare
rm -rf $(PKG_BUILD_DIR)
mkdir -p $(PKG_BUILD_DIR)
$(HOST_TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_SOURCE)
$(HOST_TAR) -C $(PKG_BUILD_DIR) -xf $(PKG_BUILD_DIR)/$(PKG_VERSION)/driver/carl9170-driver-$(PKG_VERSION).tar
ln -s Makefile.standalone $(DRV_PATH)/Makefile
ln -s $(STAGING_DIR)/usr/include/mac80211/ath/*.h $(PKG_BUILD_DIR)/drivers/net/wireless/ath/
$(Build/Patch)
endef
BUILDFLAGS = \
CONFIG_MAC80211_DEBUGFS=$(CONFIG_PACKAGE_MAC80211_DEBUGFS)
EXTRA_CFLAGS = \
$(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD)
define Build/Compile
$(MAKE) -C $(LINUX_DIR) \
SUBDIRS="$(DRV_PATH)" \
ARCH="$(LINUX_KARCH)" \
CROSS_COMPILE="$(KERNEL_CROSS)" \
CC="$(TARGET_CC) -I$(STAGING_DIR)/usr/include/mac80211 $(EXTRA_CFLAGS)" \
$(BUILDFLAGS)
endef
define KernelPackage/carl9170/install
$(INSTALL_DIR) $(1)/lib/firmware
$(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_VERSION)/firmware_build/carl9170.fw $(1)/lib/firmware/
endef
$(eval $(call KernelPackage,carl9170))

View File

@ -0,0 +1,31 @@
--- a/drivers/net/wireless/ath/carl9170/usb.c
+++ b/drivers/net/wireless/ath/carl9170/usb.c
@@ -983,11 +983,28 @@ err_failed:
ar9170_usb_firmware_failed(aru);
}
+
+
static int ar9170_usb_request_firmware(struct ar9170_usb *aru)
{
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33))
+ const struct firmware *fw;
+ int ret;
+
+ ret = request_firmware(&fw,
+ ar9170_fws[aru->fw_load].files[aru->fw_files].name,
+ &aru->udev->dev);
+
+ if (ret < 0)
+ return ret;
+
+ ar9170_usb_firmware_step2(fw, aru);
+ return 0;
+#else
return request_firmware_nowait(THIS_MODULE, 1,
ar9170_fws[aru->fw_load].files[aru->fw_files].name,
&aru->udev->dev, GFP_KERNEL, aru, ar9170_usb_firmware_step2);
+#endif
}
static void ar9170_usb_disconnect(struct usb_interface *intf)

View File

@ -0,0 +1,93 @@
--- a/drivers/net/wireless/ath/carl9170/fw.c
+++ b/drivers/net/wireless/ath/carl9170/fw.c
@@ -39,7 +39,7 @@ const void *ar9170_fw_find_desc(struct a
for_each_hdr(iter, ar->fw_desc) {
if (!memcmp(iter->magic, descid, sizeof(*descid)) &&
!CHECK_HDR_VERSION(iter, compatible_revision) &&
- (iter->length >= len)) {
+ (le16_to_cpu(iter->length) >= len)) {
ret = (void *)iter;
break;
}
@@ -63,20 +63,22 @@ static int ar9170_fw_verify_descs(struct
end = (void *) head + max_len;
while (pos < end) {
- if (((unsigned long)pos + pos->length) > (unsigned long)end)
+ int pos_length = le16_to_cpu(pos->length);
+
+ if (((unsigned long)pos + pos_length) > (unsigned long)end)
return -EMSGSIZE;
- if (pos->length > max_len)
+ if (pos_length > max_len)
return -EMSGSIZE;
- if (pos->length < sizeof(struct carl9170_fw_desc_head))
+ if (pos_length < sizeof(struct carl9170_fw_desc_head))
return -EINVAL;
if (!memcmp(pos->magic, last_magic, sizeof(last_magic)))
return 0;
- pos = (void *)((unsigned long)pos + pos->length);
- max_len -= pos->length;
+ pos = (void *)((unsigned long)pos + pos_length);
+ max_len -= le16_to_cpu(pos->length);
}
return -EINVAL;
@@ -139,7 +141,7 @@ static int ar9170_fw_check(struct ar9170
if (SUPP(CARL9170_FW_CRC32_CHECKSUM_TAIL)) {
__le32 crc32;
- crc32 = crc32_le(~0, data, len - 4);
+ crc32 = cpu_to_le32(crc32_le(~0, data, len - 4));
if (!memcmp(&crc32, &data[len - 4], 4) == 0) {
dev_err(ar->pdev, "CRC32 checksum mismatch!\n");
return -EINVAL;
--- a/drivers/net/wireless/ath/carl9170/fwhdr.h
+++ b/drivers/net/wireless/ath/carl9170/fwhdr.h
@@ -196,7 +196,7 @@ struct carl9170_fw_last_desc_v1 {
#define for_each_hdr(desc, fw_desc) \
for (desc = fw_desc; \
(memcmp(desc->magic, LAST_MAGIC, 4) && desc->length); \
- desc = (void *)((unsigned long)desc + desc->length))
+ desc = (void *)((unsigned long)desc + le16_to_cpu(desc->length)))
#define CHECK_HDR_VERSION(head, _min_ver) \
(((head)->cur_ver < _min_ver) || ((head)->min_ver > _min_ver)) \
--- a/drivers/net/wireless/ath/carl9170/usb.c
+++ b/drivers/net/wireless/ath/carl9170/usb.c
@@ -640,9 +640,10 @@ static int ar9170_usb_check_firmware(str
}
if ((usb_desc->tx_descs < 16) ||
- (usb_desc->tx_frag_len < 64) || (usb_desc->tx_frag_len > 512) ||
- (usb_desc->rx_max_frame_len < 1024) ||
- (usb_desc->rx_max_frame_len > AR9170_MAX_RX_BUFFER_SIZE)) {
+ (le16_to_cpu(usb_desc->tx_frag_len) < 64) ||
+ (le16_to_cpu(usb_desc->tx_frag_len) > 512) ||
+ (le16_to_cpu(usb_desc->rx_max_frame_len) < 1024) ||
+ (le16_to_cpu(usb_desc->rx_max_frame_len) > AR9170_MAX_RX_BUFFER_SIZE)) {
dev_err(&aru->udev->dev, "usb firmware has obvious signs of "
"malicious tampering.\n");
err = -EINVAL;
@@ -650,14 +651,14 @@ static int ar9170_usb_check_firmware(str
}
if (SUPP(CARL9170_FW_USB_MINIBOOT))
- aru->fw_offset = usb_desc->miniboot_size;
+ aru->fw_offset = le16_to_cpu(usb_desc->miniboot_size);
else
aru->fw_offset = 0;
- aru->rx_size = usb_desc->rx_max_frame_len;
+ aru->rx_size = le16_to_cpu(usb_desc->rx_max_frame_len);
aru->common.mem_blocks = usb_desc->tx_descs;
atomic_set(&aru->common.mem_free_blocks, usb_desc->tx_descs);
- aru->common.mem_block_size = usb_desc->tx_frag_len;
+ aru->common.mem_block_size = le16_to_cpu(usb_desc->tx_frag_len);
return 0;
fail:

View File

@ -0,0 +1,10 @@
--- a/drivers/net/wireless/ath/carl9170/debug.c
+++ b/drivers/net/wireless/ath/carl9170/debug.c
@@ -38,6 +38,7 @@
*/
#include <linux/seq_file.h>
+#include <linux/vmalloc.h>
#include "carl9170.h"
#include "usb.h"
#include "cmd.h"

View File

@ -0,0 +1,11 @@
--- a/drivers/net/wireless/ath/carl9170/main.c
+++ b/drivers/net/wireless/ath/carl9170/main.c
@@ -50,7 +50,7 @@ static int modparam_nohwcrypt;
module_param_named(nohwcrypt, modparam_nohwcrypt, bool, S_IRUGO);
MODULE_PARM_DESC(nohwcrypt, "Disable hardware encryption.");
-int modparam_ht;
+int modparam_ht = 1;
module_param_named(ht, modparam_ht, bool, S_IRUGO);
MODULE_PARM_DESC(ht, "enable MPDU aggregation.");

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=dnsmasq
PKG_VERSION:=2.51
PKG_RELEASE:=1
PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq

View File

@ -101,78 +101,80 @@ dnsmasq() {
dhcp_subscrid_add() {
local cfg="$1"
config_get name "$cfg" name
[ -n "$name" ] || return 0
config_get networkid "$cfg" networkid
[ -n "$networkid" ] || return 0
config_get subscriberid "$cfg" subscriberid
[ -n "$subscriberid" ] || return 0
append args "--dhcp-subscrid=$name,$subscriberid"
append args "--dhcp-subscrid=$networkid,$subscriberid"
dhcp_option_add "$cfg" "$name"
dhcp_option_add "$cfg" "$networkid"
}
dhcp_remoteid_add() {
local cfg="$1"
config_get name "$cfg" name
[ -n "$name" ] || return 0
config_get networkid "$cfg" networkid
[ -n "$networkid" ] || return 0
config_get remoteid "$cfg" remoteid
[ -n "$remoteid" ] || return 0
append args "--dhcp-remoteid=$name,$remoteid"
append args "--dhcp-remoteid=$networkid,$remoteid"
dhcp_option_add "$cfg" "$name"
dhcp_option_add "$cfg" "$networkid"
}
dhcp_circuitid_add() {
local cfg="$1"
config_get name "$cfg" name
[ -n "$name" ] || return 0
config_get networkid "$cfg" networkid
[ -n "$networkid" ] || return 0
config_get circuitid "$cfg" circuitid
[ -n "$circuitid" ] || return 0
append args "--dhcp-circuitid=$name,$circuitid"
append args "--dhcp-circuitid=$networkid,$circuitid"
dhcp_option_add "$cfg" "$name"
dhcp_option_add "$cfg" "$networkid"
}
dhcp_userclass_add() {
local cfg="$1"
config_get name "$cfg" name
[ -n "$name" ] || return 0
config_get networkid "$cfg" networkid
[ -n "$networkid" ] || return 0
config_get userclass "$cfg" userclass
[ -n "$userclass" ] || return 0
append args "--dhcp-userclass=$name,$userclass"
append args "--dhcp-userclass=$networkid,$userclass"
dhcp_option_add "$cfg" "$name"
dhcp_option_add "$cfg" "$networkid"
}
dhcp_vendorclass_add() {
local cfg="$1"
config_get name "$cfg" name
[ -n "$name" ] || return 0
config_get networkid "$cfg" networkid
[ -n "$networkid" ] || return 0
config_get vendorclass "$cfg" vendorclass
[ -n "$vendorclass" ] || return 0
append args "--dhcp-vendorclass=$name,$vendorclass"
append args "--dhcp-vendorclass=$networkid,$vendorclass"
dhcp_option_add "$cfg" "$name"
dhcp_option_add "$cfg" "$networkid"
}
dhcp_host_add() {
local cfg="$1"
config_get name "$cfg" name
[ -n "$name" ] && dhcp_option_add "$cfg" "$name"
config_get networkid "$cfg" networkid
[ -n "$networkid" ] && dhcp_option_add "$cfg" "$networkid"
config_get mac "$cfg" mac
[ -n "$mac" ] || return 0
@ -180,27 +182,27 @@ dhcp_host_add() {
config_get ip "$cfg" ip
[ -n "$ip" ] || return 0
append args "--dhcp-host=$mac,$ip${name:+,$name}"
append args "--dhcp-host=$mac,${networkid:+net:$networkid,}$ip${name:+,$name}"
}
dhcp_mac_add() {
local cfg="$1"
config_get name "$cfg" name
[ -n "$name" ] || return 0
config_get networkid "$cfg" networkid
[ -n "$networkid" ] || return 0
config_get mac "$cfg" mac
[ -n "$mac" ] || return 0
append args "--dhcp-mac=$name,$mac"
append args "--dhcp-mac=$networkid,$mac"
dhcp_option_add "$cfg" "$name"
dhcp_option_add "$cfg" "$networkid"
}
dhcp_boot_add() {
local cfg="$1"
config_get name "$cfg" name
config_get networkid "$cfg" networkid
config_get filename "$cfg" filename
[ -n "$filename" ] || return 0
@ -211,9 +213,9 @@ dhcp_boot_add() {
config_get serveraddress "$cfg" serveraddress
[ -n "$serveraddress" ] || return 0
append args "--dhcp-boot=${name:+net:$name,}$filename,$servername,$serveraddress"
append args "--dhcp-boot=${networkid:+net:$networkid,}$filename,$servername,$serveraddress"
dhcp_option_add "$cfg" "$name"
dhcp_option_add "$cfg" "$networkid"
}
@ -222,8 +224,8 @@ dhcp_add() {
config_get net "$cfg" interface
[ -n "$net" ] || return 0
config_get name "$cfg" name
[ -n "$name" ] || name="$net"
config_get networkid "$cfg" networkid
[ -n "$networkid" ] || networkid="$net"
config_get ifname "$net" ifname
[ -n "$ifname" ] || return 0
@ -259,18 +261,18 @@ dhcp_add() {
limit="$((${limit:-150} + 1))"
eval "$(ipcalc.sh $ipaddr $netmask $start $limit)"
if [ "$dynamicdhcp" = "0" ]; then END="static"; fi
append args "--dhcp-range=$name,$START,$END,$NETMASK,$leasetime${options:+ $options}"
append args "--dhcp-range=$networkid,$START,$END,$NETMASK,$leasetime${options:+ $options}"
dhcp_option_add "$cfg" "$name"
dhcp_option_add "$cfg" "$networkid"
}
dhcp_option_add() {
local cfg="$1"
local name="$2"
local networkid="$2"
config_get dhcp_option "$cfg" dhcp_option
for o in $dhcp_option; do
append args "-O $name","$o"
append args "-O $networkid","$o"
done
}
@ -309,6 +311,7 @@ start() {
/usr/sbin/dnsmasq $args && {
rm -f /tmp/resolv.conf
[ -n "$DOMAIN" ] && echo "search $DOMAIN" >> /tmp/resolv.conf
DNS_SERVERS="$DNS_SERVERS 127.0.0.1"
for DNS_SERVER in $DNS_SERVERS ; do
echo "nameserver $DNS_SERVER" >> /tmp/resolv.conf

View File

@ -49,7 +49,7 @@ endef
define Package/uuidgen
$(call Package/e2fsprogs)
DEPENDS:=libuuid
DEPENDS:=+libuuid
TITLE:=Command line utility to create a new UUID value
endef
@ -86,25 +86,25 @@ endef
define Package/tune2fs
$(call Package/e2fsprogs)
TITLE:=Ext2 Filesystem tune utility
DEPENDS:=e2fsprogs
DEPENDS:= +e2fsprogs
endef
define Package/resize2fs
$(call Package/e2fsprogs)
TITLE:=Ext2 Filesystem resize utility
DEPENDS:=e2fsprogs
DEPENDS:= +e2fsprogs
endef
define Package/badblocks
$(call Package/e2fsprogs)
TITLE:=Ext2 Filesystem badblocks utility
DEPENDS:=e2fsprogs
DEPENDS:= +e2fsprogs
endef
define Package/blkid
$(call Package/e2fsprogs)
TITLE:=Command-line utility to locate/print block device attributes
DEPENDS:=libuuid libblkid
DEPENDS:=+libuuid +libblkid
endef
TARGET_CFLAGS += $(FPIC)
@ -177,7 +177,7 @@ endef
define Package/libext2fs/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libext2fs.so* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libext2fs.so.* $(1)/usr/lib/
endef
define Package/tune2fs/install

View File

@ -0,0 +1,11 @@
--- a/lib/Makefile.elf-lib
+++ b/lib/Makefile.elf-lib
@@ -45,7 +45,7 @@ install-shlibs install:: $(ELF_LIB) inst
@echo " SYMLINK $(ELF_INSTALL_DIR)/$(ELF_SONAME)"
@$(LN_S) -f $(ELF_LIB) $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_SONAME)
@echo " SYMLINK $(libdir)/$(ELF_IMAGE).so"
- @$(LN_S) -f $(ELF_INSTALL_DIR)/$(ELF_SONAME) \
+ @$(LN_S) -f $(ELF_SONAME) \
$(DESTDIR)$(libdir)/$(ELF_IMAGE).so
@echo " LDCONFIG"
@-$(LDCONFIG)

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=firewall
PKG_VERSION:=1
PKG_RELEASE:=8
PKG_RELEASE:=9
include $(INCLUDE_DIR)/package.mk
@ -18,7 +18,7 @@ define Package/firewall
CATEGORY:=Base system
URL:=http://openwrt.org/
TITLE:=OpenWrt firewall
DEPENDS:=+iptables-mod-conntrack +iptables-mod-nat
DEPENDS:=+iptables +iptables-mod-conntrack +iptables-mod-nat
PKGARCH:=all
endef

View File

@ -2,35 +2,4 @@
unset ZONE
config_get ifname $INTERFACE ifname
[ "$ifname" == "lo" ] && exit 0
load_zones() {
local name
local network
config_get name $1 name
config_get network $1 network
[ -z "$network" ] && network=$name
for n in $network; do
[ "$n" = "$INTERFACE" ] && ZONE="$ZONE $name"
done
}
config_foreach load_zones zone
[ -z "$ZONE" ] && exit 0
[ ifup = "$ACTION" ] && {
for z in $ZONE; do
local loaded
config_get loaded core loaded
[ -n "$loaded" ] && addif "$INTERFACE" "$ifname" "$z"
done
}
[ ifdown = "$ACTION" ] && {
local up
config_get up "$INTERFACE" up
for z in $ZONE; do
[ "$up" == "1" ] && delif "$INTERFACE" "$ifname" "$z"
done
}
fw_event "$ACTION" "$INTERFACE"

View File

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/sh
# Copyright (C) 2008 John Crispin <blogic@openwrt.org>
. /etc/functions.sh
@ -43,12 +43,12 @@ load_policy() {
create_zone() {
local exists
[ "$1" == "loopback" ] && return
config_get exists $ZONE_LIST $1
[ -n "$exists" ] && return
config_set $ZONE_LIST $1 1
config_set $ZONE_LIST $1 1
$IPTABLES -N zone_$1
$IPTABLES -N zone_$1_MSSFIX
@ -90,8 +90,8 @@ addif() {
$IPTABLES -I zone_${zone}_ACCEPT 1 -i "$ifname" -j ACCEPT
$IPTABLES -I zone_${zone}_DROP 1 -i "$ifname" -j DROP
$IPTABLES -I zone_${zone}_REJECT 1 -i "$ifname" -j reject
$IPTABLES -I zone_${zone}_nat 1 -t nat -o "$ifname" -j MASQUERADE
$IPTABLES -I PREROUTING 1 -t nat -i "$ifname" -j zone_${zone}_prerouting
$IPTABLES -I zone_${zone}_nat 1 -t nat -o "$ifname" -j MASQUERADE
$IPTABLES -I PREROUTING 1 -t nat -i "$ifname" -j zone_${zone}_prerouting
$IPTABLES -A forward -i "$ifname" -j zone_${zone}_forward
$IPTABLES -t raw -I PREROUTING 1 -i "$ifname" -j zone_${zone}_notrack
uci_set_state firewall core "${network}_ifname" "$ifname"
@ -113,8 +113,8 @@ delif() {
$IPTABLES -D zone_${zone}_ACCEPT -i "$ifname" -j ACCEPT
$IPTABLES -D zone_${zone}_DROP -i "$ifname" -j DROP
$IPTABLES -D zone_${zone}_REJECT -i "$ifname" -j reject
$IPTABLES -D zone_${zone}_nat -t nat -o "$ifname" -j MASQUERADE
$IPTABLES -D PREROUTING -t nat -i "$ifname" -j zone_${zone}_prerouting
$IPTABLES -D zone_${zone}_nat -t nat -o "$ifname" -j MASQUERADE
$IPTABLES -D PREROUTING -t nat -i "$ifname" -j zone_${zone}_prerouting
$IPTABLES -D forward -i "$ifname" -j zone_${zone}_forward
uci_revert_state firewall core "${network}_ifname"
uci_revert_state firewall core "${network}_zone"
@ -160,17 +160,17 @@ fw_defaults() {
load_policy "$1"
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
for f in /proc/sys/net/ipv4/conf/*/accept_redirects
for f in /proc/sys/net/ipv4/conf/*/accept_redirects
do
echo 0 > $f
done
for f in /proc/sys/net/ipv4/conf/*/accept_source_route
for f in /proc/sys/net/ipv4/conf/*/accept_source_route
do
echo 0 > $f
done
done
uci_revert_state firewall core
uci_set_state firewall core "" firewall_state
uci_set_state firewall core "" firewall_state
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
@ -197,7 +197,7 @@ fw_defaults() {
config_get syn_rate $1 syn_rate
config_get syn_burst $1 syn_burst
[ "$syn_flood" == "1" ] && load_synflood $syn_rate $syn_burst
echo "Adding custom chains"
fw_custom_chains
@ -253,7 +253,7 @@ fw_zone() {
}
fw_rule() {
local src
local src
local src_ip
local src_mac
local src_port
@ -287,7 +287,7 @@ fw_rule() {
dest_port_last=${dest_port#*-}
[ "$dest_port_first" -ne "$dest_port_last" ] && { \
dest_port="$dest_port_first:$dest_port_last"; }
ZONE=input
TARGET=$target
[ -z "$target" ] && target=DROP
@ -303,7 +303,7 @@ fw_rule() {
${src_mac:+-m mac --mac-source $src_mac} \
${dest_ip:+-d $dest_ip} \
${dest_port:+--dport $dest_port} \
-j $TARGET
-j $TARGET
}
[ "$proto" == "tcpudp" -o -z "$proto" ] && {
proto=tcp
@ -340,7 +340,7 @@ fw_redirect() {
local dest_ip
local dest_port dest_port2
local proto
config_get src $1 src
config_get src_ip $1 src_ip
config_get src_port $1 src_port
@ -351,7 +351,7 @@ fw_redirect() {
config_get proto $1 proto
[ -z "$src" -o -z "$dest_ip" ] && { \
echo "redirect needs src and dest_ip"; return ; }
src_port_first=${src_port%-*}
src_port_last=${src_port#*-}
[ "$src_port_first" -ne "$src_port_last" ] && { \
@ -362,7 +362,7 @@ fw_redirect() {
[ "$src_dport_first" -ne "$src_dport_last" ] && { \
src_dport="$src_dport_first:$src_dport_last"; }
dest_port2=$dest_port
dest_port2=${dest_port:-$src_dport}
dest_port_first=${dest_port2%-*}
dest_port_last=${dest_port2#*-}
[ "$dest_port_first" -ne "$dest_port_last" ] && { \
@ -384,7 +384,7 @@ fw_redirect() {
${src_port:+--sport $src_port} \
${dest_port2:+--dport $dest_port2} \
${src_mac:+-m mac --mac-source $src_mac} \
-j ACCEPT
-j ACCEPT
}
[ "$proto" == "tcpudp" -o -z "$proto" ] && {
proto=tcp
@ -402,13 +402,53 @@ fw_include() {
[ -e $path ] && . $path
}
get_interface_zones() {
local interface="$2"
local name
local network
config_get name $1 name
config_get network $1 network
[ -z "$network" ] && network=$name
for n in $network; do
[ "$n" = "$interface" ] && append add_zone "$name"
done
}
fw_event() {
local action="$1"
local interface="$2"
local ifname="$(sh -c ". /etc/functions.sh; include /lib/network; scan_interfaces; config_get "$interface" ifname")"
add_zone=
local up
[ -z "$ifname" ] && return 0
config_foreach get_interface_zones zone "$interface"
[ -z "$add_zone" ] && return 0
case "$action" in
ifup)
for z in $add_zone; do
local loaded
config_get loaded core loaded
[ -n "$loaded" ] && addif "$interface" "$ifname" "$z"
done
;;
ifdown)
config_get up "$interface" up
for z in $ZONE; do
[ "$up" == "1" ] && delif "$interface" "$ifname" "$z"
done
;;
esac
}
fw_addif() {
local up
local ifname
config_get up $1 up
config_get ifname $1 ifname
[ -n "$up" ] || return 0
(ACTION="ifup" INTERFACE="$1" . /etc/hotplug.d/iface/20-firewall)
fw_event ifup "$1"
}
fw_custom_chains() {
@ -418,7 +458,7 @@ fw_custom_chains() {
$IPTABLES -N forwarding_rule
$IPTABLES -N prerouting_rule -t nat
$IPTABLES -N postrouting_rule -t nat
$IPTABLES -A INPUT -j input_rule
$IPTABLES -A OUTPUT -j output_rule
$IPTABLES -A FORWARD -j forwarding_rule
@ -464,10 +504,12 @@ fw_init() {
echo "Loading zone defaults"
config_foreach fw_zone_defaults zone
uci_set_state firewall core loaded 1
config_set core loaded 1
config_foreach fw_check_notrack zone
unset CONFIG_APPEND
config_load network
config_foreach fw_addif interface
INTERFACES="$(sh -c '. /etc/functions.sh; config_load network; config_foreach echo interface')"
for interface in $INTERFACES; do
fw_addif "$interface"
done
}
fw_stop() {

View File

@ -19,7 +19,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/gdb/Default
SECTION:=utils
CATEGORY:=Utilities
DEPENDS:= @!avr32
DEPENDS:= @!(avr32||cris)
endef
define Package/gdb
@ -42,8 +42,10 @@ define Package/gdbserver/description
than the one which is running the program being debugged.
endef
# XXX: add --disable-werror to prevent build failure with arm
CONFIGURE_ARGS+= \
--with-system-readline
--with-system-readline \
--disable-werror \
CONFIGURE_VARS+= \
ac_cv_search_tgetent="$(TARGET_LDFLAGS) -lncurses -lreadline"

View File

@ -45,7 +45,7 @@ endef
define KernelPackage/hostap
$(call KernelPackage/hostap/Default)
TITLE:=Host AP support for Prism2/2.5/3
DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +!(LINUX_2_6_30||LINUX_2_6_31):kmod-ieee80211 +LINUX_2_6_30||LINUX_2_6_31:kmod-lib80211 +wireless-tools
DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +!(LINUX_2_6_30||LINUX_2_6_31||LINUX_2_6_32):kmod-ieee80211 +LINUX_2_6_30||LINUX_2_6_31||LINUX_2_6_32:kmod-lib80211 +wireless-tools
KCONFIG:=CONFIG_HOSTAP CONFIG_HOSTAP_FIRMWARE=y CONFIG_HOSTAP_FIRMWARE_NVRAM=y
PROVIDES:=kmod-hostap
endef

View File

@ -8,9 +8,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=hostapd
PKG_VERSION:=20091129
PKG_VERSION:=20100108
PKG_RELEASE:=1
PKG_REV:=be8eb8ab3ee42aa66930aea827bdcb05a2172276
PKG_REV:=d97572a40fd7ec77094e2e4ef83424a4c0f7e24d
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=git://w1.fi/srv/git/hostap.git

View File

@ -78,6 +78,7 @@ hostapd_setup_vif() {
config_get hwmode "$device" hwmode
config_get wpa_group_rekey "$vif" wpa_group_rekey
config_get ieee80211d "$vif" ieee80211d
config_get_bool hidden "$vif" hidden 0
config_get_bool wds "$vif" wds 0
[ "$wds" -gt 0 -a "$driver" = "nl80211" ] && wds="wds_sta=1" || wds=""
case "$hwmode" in
@ -119,6 +120,7 @@ EOF
;;
*)
cat >> /var/run/hostapd-$ifname.conf <<EOF
ignore_broadcast_ssid=$hidden
wmm_enabled=1
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10

View File

@ -1,27 +1,21 @@
--- a/src/drivers/driver_madwifi.c
+++ b/src/drivers/driver_madwifi.c
@@ -323,6 +323,7 @@ madwifi_set_iface_flags(void *priv, int
{
struct madwifi_driver_data *drv = priv;
struct ifreq ifr;
+ short flags;
wpa_printf(MSG_DEBUG, "%s: dev_up=%d", __func__, dev_up);
@@ -337,10 +338,14 @@ madwifi_set_iface_flags(void *priv, int
return -1;
@@ -1170,8 +1170,6 @@ madwifi_init(struct hostapd_data *hapd,
goto bad;
}
+ flags = ifr.ifr_flags;
if (dev_up)
- ifr.ifr_flags |= IFF_UP;
+ flags |= IFF_UP;
else
- ifr.ifr_flags &= ~IFF_UP;
+ flags &= ~IFF_UP;
+
+ if (flags == ifr.ifr_flags)
+ return 0;
- /* mark down during setup */
- linux_set_iface_flags(drv->ioctl_sock, drv->iface, 0);
madwifi_set_privacy(drv->iface, drv, 0); /* default to no privacy */
if (ioctl(drv->ioctl_sock, SIOCSIFFLAGS, &ifr) != 0) {
perror("ioctl[SIOCSIFFLAGS]");
madwifi_receive_probe_req(drv);
@@ -1261,8 +1259,7 @@ madwifi_set_countermeasures(void *priv,
static int
madwifi_commit(void *priv)
{
- struct madwifi_driver_data *drv = priv;
- return linux_set_iface_flags(drv->ioctl_sock, drv->iface, 1);
+ return 0;
}
#else /* HOSTAPD */

View File

@ -1,14 +1,10 @@
--- a/hostapd/hostapd.c
+++ b/hostapd/hostapd.c
@@ -1339,10 +1339,8 @@ static int setup_interface(struct hostap
if (hapd->iconf->country[0] && hapd->iconf->country[1]) {
os_memcpy(country, hapd->iconf->country, 3);
--- a/src/ap/hostapd.c
+++ b/src/ap/hostapd.c
@@ -649,7 +649,6 @@ static int setup_interface(struct hostap
country[3] = '\0';
- if (hostapd_set_country(hapd, country) < 0) {
+ if (hostapd_set_country(hapd, country) < 0)
if (hostapd_set_country(hapd, country) < 0) {
wpa_printf(MSG_ERROR, "Failed to set country code");
- return -1;
- }
}
}
if (hapd->iconf->bridge_packets != INTERNAL_BRIDGE_DO_NOT_CONTROL &&

View File

@ -0,0 +1,28 @@
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -22,6 +22,7 @@
#include <netlink/genl/genl.h>
#include <netlink/genl/family.h>
#include <netlink/genl/ctrl.h>
+#include <linux/rtnetlink.h>
#include <netpacket/packet.h>
#include <linux/filter.h>
#include "nl80211_copy.h"
--- a/src/drivers/driver_madwifi.c
+++ b/src/drivers/driver_madwifi.c
@@ -69,6 +69,7 @@
#define MADWIFI_NG
#endif /* IEEE80211_IOCTL_SETWMMPARAMS */
+#define WPA_KEY_RSC_LEN 8
#ifdef HOSTAPD
@@ -1499,7 +1500,6 @@ wpa_driver_madwifi_set_key(const char *i
wk.ik_keyix = key_idx;
wk.ik_keylen = key_len;
#ifdef WORDS_BIGENDIAN
-#define WPA_KEY_RSC_LEN 8
{
size_t i;
u8 tmp[WPA_KEY_RSC_LEN];

View File

@ -1,248 +0,0 @@
--- a/hostapd/config.c
+++ b/hostapd/config.c
@@ -1526,6 +1526,8 @@ struct hostapd_config * hostapd_config_r
line, pos);
errors++;
}
+ } else if (os_strcmp(buf, "wds_sta") == 0) {
+ bss->wds_sta = atoi(pos);
} else if (os_strcmp(buf, "ap_max_inactivity") == 0) {
bss->ap_max_inactivity = atoi(pos);
} else if (os_strcmp(buf, "country_code") == 0) {
--- a/hostapd/config.h
+++ b/hostapd/config.h
@@ -195,6 +195,7 @@ struct hostapd_bss_config {
int num_accept_mac;
struct mac_acl_entry *deny_mac;
int num_deny_mac;
+ int wds_sta;
int auth_algs; /* bitfield of allowed IEEE 802.11 authentication
* algorithms, WPA_AUTH_ALG_{OPEN,SHARED,LEAP} */
--- a/src/drivers/driver.h
+++ b/src/drivers/driver.h
@@ -1127,6 +1127,7 @@ struct wpa_driver_ops {
const char *ifname, const u8 *addr);
int (*set_sta_vlan)(void *priv, const u8 *addr, const char *ifname,
int vlan_id);
+ int (*set_wds_sta)(void *priv, const u8 *addr, int aid, int val);
/**
* commit - Optional commit changes handler
* @priv: driver private data
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -2675,7 +2675,7 @@ static void nl80211_remove_iface(struct
static int nl80211_create_iface_once(struct wpa_driver_nl80211_data *drv,
const char *ifname,
enum nl80211_iftype iftype,
- const u8 *addr)
+ const u8 *addr, int wds)
{
struct nl_msg *msg, *flags = NULL;
int ifidx;
@@ -2706,6 +2706,8 @@ static int nl80211_create_iface_once(str
if (err)
goto nla_put_failure;
+ } else if (wds) {
+ NLA_PUT_U8(msg, NL80211_ATTR_4ADDR, wds);
}
ret = send_and_recv_msgs(drv, msg, NULL, NULL);
@@ -2736,11 +2738,11 @@ static int nl80211_create_iface_once(str
}
static int nl80211_create_iface(struct wpa_driver_nl80211_data *drv,
const char *ifname, enum nl80211_iftype iftype,
- const u8 *addr)
+ const u8 *addr, int wds)
{
int ret;
- ret = nl80211_create_iface_once(drv, ifname, iftype, addr);
+ ret = nl80211_create_iface_once(drv, ifname, iftype, addr, wds);
/* if error occured and interface exists already */
if (ret == -ENFILE && if_nametoindex(ifname)) {
@@ -2750,7 +2752,7 @@ static int nl80211_create_iface(struct w
nl80211_remove_iface(drv, if_nametoindex(ifname));
/* Try to create the interface again */
- ret = nl80211_create_iface_once(drv, ifname, iftype, addr);
+ ret = nl80211_create_iface_once(drv, ifname, iftype, addr, wds);
}
return ret;
@@ -2975,7 +2977,7 @@ static struct sock_filter msock_filter_i
#if 0
/*
- * drop non-data frames, WDS frames
+ * drop non-data frames
*/
/* load the lower byte of the frame control field */
BPF_STMT(BPF_LD | BPF_B | BPF_IND, 0),
@@ -2983,13 +2985,13 @@ static struct sock_filter msock_filter_i
BPF_STMT(BPF_ALU | BPF_AND | BPF_K, 0x0c),
/* drop non-data frames */
BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 8, 0, FAIL),
+#endif
/* load the upper byte of the frame control field */
- BPF_STMT(BPF_LD | BPF_B | BPF_IND, 0),
+ BPF_STMT(BPF_LD | BPF_B | BPF_IND, 1),
/* mask off toDS/fromDS */
BPF_STMT(BPF_ALU | BPF_AND | BPF_K, 0x03),
- /* drop WDS frames */
- BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 3, FAIL, 0),
-#endif
+ /* accept WDS frames */
+ BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 3, PASS, 0),
/*
* add header length to index
@@ -3095,7 +3097,7 @@ nl80211_create_monitor_interface(struct
buf[IFNAMSIZ - 1] = '\0';
drv->monitor_ifidx =
- nl80211_create_iface(drv, buf, NL80211_IFTYPE_MONITOR, NULL);
+ nl80211_create_iface(drv, buf, NL80211_IFTYPE_MONITOR, NULL, 0);
if (drv->monitor_ifidx < 0)
return -1;
@@ -4064,7 +4066,7 @@ static int i802_bss_add(void *priv, cons
if (bss == NULL)
return -1;
- ifidx = nl80211_create_iface(priv, ifname, NL80211_IFTYPE_AP, bssid);
+ ifidx = nl80211_create_iface(priv, ifname, NL80211_IFTYPE_AP, bssid, 0);
if (ifidx < 0) {
os_free(bss);
return -1;
@@ -4162,7 +4164,7 @@ static int i802_if_add(const char *iface
enum hostapd_driver_if_type type, char *ifname,
const u8 *addr)
{
- if (nl80211_create_iface(priv, ifname, i802_if_type(type), addr) < 0)
+ if (nl80211_create_iface(priv, ifname, i802_if_type(type), addr, 0) < 0)
return -1;
return 0;
}
@@ -4208,6 +4210,22 @@ static int i802_set_sta_vlan(void *priv,
return -ENOBUFS;
}
+static int i802_set_wds_sta(void *priv, const u8 *addr, int aid, int val)
+{
+ struct wpa_driver_nl80211_data *drv = priv;
+ char name[16];
+
+ sprintf(name, "%s.sta%d", drv->ifname, aid);
+ if (val) {
+ if (nl80211_create_iface(priv, name, NL80211_IFTYPE_AP_VLAN, NULL, 1) < 0)
+ return -1;
+ hostapd_set_iface_flags(drv, name, 1);
+ return i802_set_sta_vlan(priv, addr, name, 0);
+ } else {
+ i802_set_sta_vlan(priv, addr, drv->ifname, 0);
+ return i802_if_remove(priv, HOSTAPD_IF_VLAN, name, NULL);
+ }
+}
static void handle_eapol(int sock, void *eloop_ctx, void *sock_ctx)
{
@@ -4424,5 +4442,6 @@ const struct wpa_driver_ops wpa_driver_n
.if_update = i802_if_update,
.if_remove = i802_if_remove,
.set_sta_vlan = i802_set_sta_vlan,
+ .set_wds_sta = i802_set_wds_sta,
#endif /* HOSTAPD */
};
--- a/hostapd/driver_i.h
+++ b/hostapd/driver_i.h
@@ -446,6 +446,14 @@ hostapd_set_sta_vlan(const char *ifname,
}
static inline int
+hostapd_set_wds_sta(struct hostapd_data *hapd, const u8 *addr, int aid, int val)
+{
+ if (hapd->driver == NULL || hapd->driver->set_wds_sta == NULL)
+ return 0;
+ return hapd->driver->set_wds_sta(hapd->drv_priv, addr, aid, val);
+}
+
+static inline int
hostapd_driver_commit(struct hostapd_data *hapd)
{
if (hapd->driver == NULL || hapd->driver->commit == NULL)
--- a/hostapd/drv_callbacks.c
+++ b/hostapd/drv_callbacks.c
@@ -167,6 +167,7 @@ static const u8 * get_hdr_bssid(const st
if (len < 24)
return NULL;
switch (fc & (WLAN_FC_FROMDS | WLAN_FC_TODS)) {
+ case WLAN_FC_FROMDS|WLAN_FC_TODS:
case WLAN_FC_TODS:
return hdr->addr1;
case WLAN_FC_FROMDS:
@@ -213,6 +214,7 @@ void hostapd_rx_from_unknown_sta(struct
{
struct sta_info *sta;
const u8 *addr;
+ u16 fc = le_to_host16(hdr->frame_control);
hapd = get_hapd_bssid(hapd->iface, get_hdr_bssid(hdr, len));
if (hapd == NULL || hapd == HAPD_BROADCAST)
@@ -231,6 +233,14 @@ void hostapd_rx_from_unknown_sta(struct
hostapd_sta_deauth(
hapd, addr,
WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA);
+ } else {
+ if (!sta->wds_sta) {
+ if ((fc & (WLAN_FC_TODS | WLAN_FC_FROMDS)) ==
+ (WLAN_FC_TODS | WLAN_FC_FROMDS)) {
+ sta->wds_sta = 1;
+ hostapd_set_wds_sta(hapd, addr, sta->aid, 1);
+ }
+ }
}
}
--- a/hostapd/sta_info.c
+++ b/hostapd/sta_info.c
@@ -120,6 +120,7 @@ void ap_free_sta(struct hostapd_data *ha
accounting_sta_stop(hapd, sta);
+ hostapd_set_wds_sta(hapd, sta->addr, sta->aid, 0);
if (!ap_sta_in_other_bss(hapd, sta, WLAN_STA_ASSOC) &&
!(sta->flags & WLAN_STA_PREAUTH))
hostapd_sta_remove(hapd, sta->addr);
--- a/hostapd/sta_info.h
+++ b/hostapd/sta_info.h
@@ -78,6 +78,7 @@ struct sta_info {
struct hostapd_ssid *ssid_probe; /* SSID selection based on ProbeReq */
int vlan_id;
+ int wds_sta;
#ifdef CONFIG_IEEE80211N
struct ht_cap_ie ht_capabilities; /* IEEE 802.11n capabilities */
--- a/src/common/nl80211_copy.h
+++ b/src/common/nl80211_copy.h
@@ -584,6 +584,8 @@ enum nl80211_commands {
* changed then the list changed and the dump should be repeated
* completely from scratch.
*
+ * @NL80211_ATTR_4ADDR: Use 4-address frames on a virtual interface
+ *
* @NL80211_ATTR_MAX: highest attribute number currently defined
* @__NL80211_ATTR_AFTER_LAST: internal use
*/
@@ -714,6 +716,8 @@ enum nl80211_attrs {
NL80211_ATTR_PID,
+ NL80211_ATTR_4ADDR,
+
/* add attributes here, update the policy in nl80211.c */
__NL80211_ATTR_AFTER_LAST,

View File

@ -1,10 +0,0 @@
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -23,6 +23,7 @@
#include <netlink/genl/genl.h>
#include <netlink/genl/family.h>
#include <netlink/genl/ctrl.h>
+#include <linux/rtnetlink.h>
#include "nl80211_copy.h"
#include "common.h"

View File

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=hotplug2
PKG_REV:=199
PKG_REV:=201
PKG_VERSION:=$(PKG_REV)
PKG_RELEASE:=1

View File

@ -0,0 +1,64 @@
diff -Naur a/action.c b/action.c
--- a/action.c 2009-11-18 13:15:21.000000000 +0000
+++ b/action.c 2009-11-18 13:11:19.000000000 +0000
@@ -31,6 +31,30 @@
}
/**
+ * Creates a "key=value" string from the given key and value
+ *
+ * @1 Key
+ * @2 Value
+ *
+ * Returns: Newly allocated string in "key=value" form
+ *
+ */
+static char* alloc_env(const char *key, const char *value) {
+ size_t keylen, vallen;
+ char *combined;
+
+ keylen = strlen(key);
+ vallen = strlen(value) + 1;
+
+ combined = xmalloc(keylen + vallen + 1);
+ memcpy(combined, key, keylen);
+ combined[keylen] = '=';
+ memcpy(&combined[keylen + 1], value, vallen);
+
+ return combined;
+}
+
+/**
* Choose what action should be taken according to passed settings.
*
* @1 Hotplug settings
@@ -41,16 +65,25 @@
*/
void action_perform(struct settings_t *settings, struct uevent_t *event) {
int i;
+ char **env;
+
+ env = xmalloc(sizeof(char *) * event->env_vars_c);
+
+ for (i = 0; i < event->env_vars_c; i++) {
+ env[i] = alloc_env(event->env_vars[i].key, event->env_vars[i].value);
+ putenv(env[i]);
+ }
- for (i = 0; i < event->env_vars_c; i++)
- setenv(event->env_vars[i].key, event->env_vars[i].value, 1);
-
if (settings->dumb == 0) {
ruleset_execute(&settings->rules, event, settings);
} else {
action_dumb(settings, event);
}
- for (i = 0; i < event->env_vars_c; i++)
+ for (i = 0; i < event->env_vars_c; i++) {
unsetenv(event->env_vars[i].key);
+ free(env[i]);
+ }
+
+ free(env);
}

View File

@ -1,12 +0,0 @@
--- a/hotplug2.c
+++ b/hotplug2.c
@@ -300,6 +300,9 @@ int main(int argc, char *argv[]) {
worker_ctx = settings->worker->module->init(settings);
while (process) {
size = recv(settings->netlink_socket, &buffer, sizeof(buffer), 0);
+ if (size < 0)
+ continue;
+
uevent = uevent_deserialize(buffer, size);
if (uevent == NULL)

View File

@ -1,164 +1,22 @@
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,24 @@ SOFTWARE=hotplug2
VERSION=1.0-alpha
BINS=hotplug2 hotplug2-modwrap
-SUBDIRS=parser rules workers
+SUBDIRS=parser rules
+
+hotplug2-objs := \
+ hotplug2.o netlink.o seqnum.o settings.o uevent.o xmemutils.o \
+ workers/loader.o parser/parser.o parser/buffer.o parser/token.o \
+ parser/token_queue.o parser/lexer.o rules/ruleset.o rules/rule.o \
+ rules/condition.o rules/expression.o rules/execution.o \
+ rules/command.o
+
+ifdef STATIC_WORKER
+ ifeq ($(wildcard workers/worker_$(STATIC_WORKER).c),)
+ $(error Worker source worker/worker_$(STATIC_WORKER).c not found)
+ endif
+ hotplug2-objs += action.o workers/worker_$(STATIC_WORKER).o
+else
+ SUBDIRS += workers
+endif
+
DESTDIR=
@@ -13,13 +30,16 @@ all: $(BINS)
install:
$(INSTALL_BIN) $(BINS) $(DESTDIR)/sbin/
-
-hotplug2: hotplug2.o netlink.o seqnum.o settings.o uevent.o xmemutils.o \
- workers/loader.o parser/parser.o parser/buffer.o parser/token.o \
- parser/token_queue.o parser/lexer.o rules/ruleset.o rules/rule.o \
- rules/condition.o rules/expression.o rules/execution.o \
- rules/command.o
+hotplug2: $(hotplug2-objs)
coldplug2: coldplug2.o
include common.mak
+
+ifdef STATIC_WORKER
+ CFLAGS += -DSTATIC_WORKER=1
+else
+ CFLAGS += $(FPIC)
+ LDFLAGS += -ldl
+endif
+
--- a/common.mak
+++ b/common.mak
@@ -1,7 +1,10 @@
diff -Naur a/common.mak b/common.mak
--- a/common.mak 2009-11-18 13:15:21.000000000 +0000
+++ b/common.mak 2009-11-18 13:25:18.000000000 +0000
@@ -1,7 +1,7 @@
# vim:set sw=8 nosta:
-CFLAGS=-Os -Wall -g -fPIC
COPTS=-Os -Wall -g
-LDFLAGS=-g -ldl
+COPTS=-Os -Wall -g
+LDFLAGS=-g
+
+CFLAGS=$(COPTS)
+FPIC=-fPIC
INSTALL=install -c -m 644
INSTALL_BIN=install -c -m 755
--- a/workers/loader.c
+++ b/workers/loader.c
@@ -1,5 +1,23 @@
#include "loader.h"
CFLAGS=$(COPTS)
FPIC=-fPIC
diff -Naur a/Makefile b/Makefile
--- a/Makefile 2009-11-18 13:15:21.000000000 +0000
+++ b/Makefile 2009-11-18 13:25:18.000000000 +0000
@@ -40,5 +40,6 @@
CFLAGS += -DSTATIC_WORKER=1
else
CFLAGS += $(FPIC)
+ LDFLAGS += -ldl
endif
+#ifdef STATIC_WORKER
+
+extern struct worker_module_t worker_module;
+static struct loader_ctx_t static_ctx = {
+ .module = &worker_module
+};
+
+struct loader_ctx_t *worker_load(const char *name)
+{
+ return &static_ctx;
+}
+
+void worker_free(struct loader_ctx_t *ctx)
+{
+}
+
+#else
+
struct loader_ctx_t *worker_load(const char *name) {
struct loader_ctx_t *ctx;
@@ -12,7 +30,7 @@ struct loader_ctx_t *worker_load(const c
return NULL;
}
- ctx->module = dlsym(ctx->dl_handle, "module");
+ ctx->module = dlsym(ctx->dl_handle, "worker_module");
if (ctx->module == NULL) {
fprintf(stderr, "Loader error: %s\n", dlerror());
worker_free(ctx);
@@ -31,3 +49,5 @@ void worker_free(struct loader_ctx_t *ct
free(ctx);
}
+
+#endif
--- a/hotplug2.c
+++ b/hotplug2.c
@@ -261,17 +261,21 @@ int main(int argc, char *argv[]) {
}
/* Load the worker. */
+#ifndef STATIC_WORKER
if (settings->worker_name == NULL) {
fprintf(stderr, "Missing worker name.\n");
settings_clear(settings);
exit(1);
}
+#endif
settings->worker = worker_load(settings->worker_name);
+#ifndef STATIC_WORKER
if (settings->worker == NULL) {
fprintf(stderr, "Unable to load worker: %s\n", settings->worker_name);
settings_clear(settings);
exit(1);
}
+#endif
/* Prepare a netlink connection to the kernel. */
settings->netlink_socket = netlink_init();
--- a/workers/worker_example.c
+++ b/workers/worker_example.c
@@ -62,7 +62,7 @@ static int worker_example_process(void *
return 0;
}
-struct worker_module_t module = {
+struct worker_module_t worker_module = {
"Hotplug2 example module",
worker_example_init,
worker_example_deinit,
--- a/workers/worker_fork.c
+++ b/workers/worker_fork.c
@@ -443,7 +443,7 @@ static int worker_fork_process(void *in_
return 0;
}
-struct worker_module_t module = {
+struct worker_module_t worker_module = {
"Hotplug2 forking module",
worker_fork_init,
worker_fork_deinit,
--- a/workers/worker_single.c
+++ b/workers/worker_single.c
@@ -18,7 +18,7 @@ static int worker_single_process(void *s
return 0;
}
-struct worker_module_t module = {
+struct worker_module_t worker_module = {
"Hotplug2 single process module",
worker_single_init,
worker_single_deinit,

84
package/ipset/Makefile Normal file
View File

@ -0,0 +1,84 @@
#
# Copyright (C) 2009 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=ipset
PKG_VERSION:=4.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://ipset.netfilter.org
PKG_MD5SUM:=d104007fdf5ea64fef774c22b1c0a97b
include $(INCLUDE_DIR)/package.mk
define Package/ipset/Default
DEPENDS:= @LINUX_2_6 @(!(TARGET_ps3||TARGET_pxcab)||BROKEN)
endef
define Package/ipset
$(call Package/ipset/Default)
SECTION:=net
CATEGORY:=Network
DEPENDS+= +iptables-mod-ipset +kmod-ipt-ipset
TITLE:=IPset administration utility
URL:=http://ipset.netfilter.org/
endef
include $(INCLUDE_DIR)/kernel-defaults.mk
IPSET_MAKEOPTS:= -C $(PKG_BUILD_DIR) \
$(TARGET_CONFIGURE_OPTS) \
COPT_FLAGS="$(TARGET_CFLAGS)" \
LDFLAGS="-rdynamic -static-libgcc" \
NO_EXTRA_WARN_FLAGS=yes \
KERNEL_DIR="$(LINUX_DIR)" \
PREFIX=/usr \
IPSET_MODULES:= \
ip_set \
ip_set_iphash \
ip_set_ipmap \
ip_set_ipporthash \
ip_set_ipportiphash \
ip_set_ipportnethash \
ip_set_iptree \
ip_set_iptreemap \
ip_set_macipmap \
ip_set_nethash \
ip_set_portmap \
ip_set_setlist \
ipt_set \
ipt_SET \
define Build/Compile
mkdir -p $(PKG_INSTALL_DIR)
$(MAKE) $(IPSET_MAKEOPTS) binaries
$(MAKE) $(KERNEL_MAKEOPTS) M="$(PKG_BUILD_DIR)/kernel" IP_NF_SET_MAX="256" IP_NF_SET_HASHSIZE="1024" modules
$(MAKE) $(IPSET_MAKEOPTS) DESTDIR="$(PKG_INSTALL_DIR)" binaries_install
endef
define Package/ipset/install
$(INSTALL_DIR) $(1)/usr/sbin
$(CP) $(PKG_INSTALL_DIR)/usr/sbin/ipset $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/usr/lib/ipset
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipset/libipset*.so $(1)/usr/lib/ipset/
endef
define KernelPackage/ipt-ipset
$(call Package/ipset/Default)
SUBMENU:=Netfilter Extensions
TITLE:=IPset netfilter modules
DEPENDS+= kmod-ipt-core
FILES:=$(foreach mod,$(IPSET_MODULES),$(PKG_BUILD_DIR)/kernel/$(mod).ko)
AUTOLOAD:=$(call AutoLoad,46,$(IPSET_MODULES))
endef
$(eval $(call BuildPackage,ipset))
$(eval $(call KernelPackage,ipt-ipset))

View File

@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=iptables
PKG_VERSION:=1.4.4
PKG_RELEASE:=2
PKG_RELEASE:=3
PKG_MD5SUM:=08cd9196881657ea0615d926334cb7e9
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
@ -33,7 +33,7 @@ endif
define Package/iptables/Default
SECTION:=net
CATEGORY:=Base system
CATEGORY:=Network
URL:=http://netfilter.org/
endef
@ -52,6 +52,7 @@ endef
define Package/iptables/description
IPv4 firewall administration tool.
Includes support for:
- comment
- limit
- LOG
- mac
@ -141,6 +142,18 @@ define Package/iptables-mod-ipsec/description
- libipt_policy
endef
define Package/iptables-mod-ipset
$(call Package/iptables/Module, @LINUX_2_6)
TITLE:=IPset iptables extensions
endef
define Package/iptables-mod-ipset/description
IPset iptables extensions.
Includes:
- libipt_set
- libipt_SET
endef
define Package/iptables-mod-nat
$(call Package/iptables/Module, +kmod-ipt-nat)
TITLE:=Basic NAT extensions
@ -359,6 +372,7 @@ $(eval $(call BuildPlugin,iptables-mod-filter,$(IPT_FILTER-m),$(L7_INSTALL)))
$(eval $(call BuildPlugin,iptables-mod-imq,$(IPT_IMQ-m)))
$(eval $(call BuildPlugin,iptables-mod-ipopt,$(IPT_IPOPT-m)))
$(eval $(call BuildPlugin,iptables-mod-ipsec,$(IPT_IPSEC-m)))
$(eval $(call BuildPlugin,iptables-mod-ipset,ipt_set ipt_SET))
$(eval $(call BuildPlugin,iptables-mod-nat,$(IPT_NAT-m)))
$(eval $(call BuildPlugin,iptables-mod-nat-extra,$(IPT_NAT_EXTRA-m)))
$(eval $(call BuildPlugin,iptables-mod-iprange,$(IPT_IPRANGE-m)))

View File

@ -192,22 +192,23 @@ define KernelPackage/ide-core
CONFIG_IDE_GD_ATAPI=n \
CONFIG_BLK_DEV_IDEDMA_PCI=y \
CONFIG_BLK_DEV_IDEPCI=y
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.28)),1)
FILES:= \
FILES:= \
$(LINUX_DIR)/drivers/ide/ide-core.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/drivers/ide/ide-gd_mod.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,20,ide-core) $(call AutoLoad,40,ide-gd_mod)
else
FILES:= \
$(LINUX_DIR)/drivers/ide/ide-core.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/drivers/ide/ide-disk.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,20,ide-core) $(call AutoLoad,40,ide-disk)
endif
AUTOLOAD:= \
$(call AutoLoad,20,ide-core) \
$(call AutoLoad,40,ide-gd_mod)
endef
define KernelPackage/ide-core/2.4
FILES+=$(LINUX_DIR)/drivers/ide/ide-detect.$(LINUX_KMOD_SUFFIX)
AUTOLOAD+=$(call AutoLoad,35,ide-detect)
FILES:= \
$(LINUX_DIR)/drivers/ide/ide-core.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/drivers/ide/ide-detect.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/drivers/ide/ide-disk.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:= \
$(call AutoLoad,20,ide-core) \
$(call AutoLoad,35,ide-detect) \
$(call AutoLoad,40,ide-disk)
endef
ifneq ($(CONFIG_arm)$(CONFIG_powerpc),y)
@ -233,14 +234,14 @@ define KernelPackage/ide-aec62xx
TITLE:=Acard AEC62xx IDE driver
DEPENDS:=@PCI_SUPPORT +kmod-ide-core
KCONFIG:=CONFIG_BLK_DEV_AEC62XX
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.28)),1)
FILES:=$(LINUX_DIR)/drivers/ide/aec62xx.$(LINUX_KMOD_SUFFIX)
else
FILES:=$(LINUX_DIR)/drivers/ide/pci/aec62xx.$(LINUX_KMOD_SUFFIX)
endif
AUTOLOAD:=$(call AutoLoad,30,aec62xx)
endef
define KernelPackage/ide-aec62xx/2.4
FILES:=$(LINUX_DIR)/drivers/ide/pci/aec62xx.$(LINUX_KMOD_SUFFIX)
endef
define KernelPackage/ide-aec62xx/description
Support for Acard AEC62xx (Artop ATP8xx) IDE controllers.
endef
@ -269,11 +270,7 @@ define KernelPackage/ide-pdc202xx
TITLE:=Promise PDC202xx IDE driver
DEPENDS:=+kmod-ide-core
KCONFIG:=CONFIG_BLK_DEV_PDC202XX_OLD
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.28)),1)
FILES:=$(LINUX_DIR)/drivers/ide/pdc202xx_old.$(LINUX_KMOD_SUFFIX)
else
FILES:=$(LINUX_DIR)/drivers/ide/pci/pdc202xx_old.$(LINUX_KMOD_SUFFIX)
endif
AUTOLOAD:=$(call AutoLoad,30,pdc202xx_old)
endef
@ -294,11 +291,7 @@ define KernelPackage/ide-it821x
TITLE:=ITE IT821x IDE driver
DEPENDS:=+kmod-ide-core
KCONFIG:=CONFIG_BLK_DEV_IT821X
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.28)),1)
FILES=$(LINUX_DIR)/drivers/ide/it821x.$(LINUX_KMOD_SUFFIX)
else
FILES=$(LINUX_DIR)/drivers/ide/pci/it821x.$(LINUX_KMOD_SUFFIX)
endif
AUTOLOAD:=$(call AutoLoad,30,it821x)
endef

View File

@ -14,39 +14,22 @@ CRYPTO_MENU:=Cryptographic API modules
# - sha1 > sha1_generic (2.6.24)
# - sha256 > sha256_generic (2.6.24)
# - sha512 > sha512_generic (2.6.26)
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.24)),1)
ifneq ($(CONFIG_LINUX_2_6),)
CRYPTO_GENERIC:=_generic
AES_SUFFIX:=$(CRYPTO_GENERIC)
DES_SUFFIX:=$(CRYPTO_GENERIC)
SHA1_SUFFIX:=$(CRYPTO_GENERIC)
SHA256_SUFFIX:=$(CRYPTO_GENERIC)
endif
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.25)),1)
CRYPTO_PREFIX:=crypto_
BLKCIPHER_PREFIX:=$(CRYPTO_PREFIX)
endif
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.26)),1)
SHA512_SUFFIX:=$(CRYPTO_GENERIC)
endif
AEAD_CONF:=AEAD
MANAGER_CONF:=MANAGER
BLKCIPHER_CONF:=BLKCIPHER
HASH_CONF:=HASH
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.30)),1)
CRYPTO_MODULE_PCOMPRESS:=PCOMP=pcompress
AEAD_CONF:=AEAD2
MANAGER_CONF:=MANAGER2
BLKCIPHER_CONF:=BLKCIPHER2
HASH_CONF:=HASH2
endif
CRYPTO_MODULES = \
ALGAPI=crypto_algapi \
$(AEAD_CONF)=aead \
$(CRYPTO_MODULE_PCOMPRESS) \
$(BLKCIPHER_CONF)=$(BLKCIPHER_PREFIX)blkcipher \
$(HASH_CONF)=crypto_hash \
$(MANAGER_CONF)=cryptomgr \
AEAD2=aead \
PCOMP=pcompress \
BLKCIPHER2=crypto_blkcipher \
HASH2=crypto_hash \
MANAGER2=cryptomgr \
CBC=cbc \
ECB=ecb \
DEFLATE=deflate

View File

@ -111,12 +111,6 @@ endef
$(eval $(call KernelPackage,fs-ext3))
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),lt,2.6.28)),1)
EXT4_NAME:=ext4dev
else
EXT4_NAME:=ext4
endif
define KernelPackage/fs-ext4
SUBMENU:=$(FS_MENU)
TITLE:=EXT4 filesystem support
@ -129,7 +123,7 @@ define KernelPackage/fs-ext4
CONFIG_JBD2
DEPENDS:= @LINUX_2_6 +kmod-crc16 $(if $(DUMP)$(CONFIG_FS_MBCACHE),+kmod-fs-mbcache)
FILES:= \
$(LINUX_DIR)/fs/ext4/$(EXT4_NAME).$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/fs/ext4/ext4.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/fs/jbd2/jbd2.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,30,jbd2 $(EXT4_NAME))
endef
@ -277,21 +271,18 @@ endef
$(eval $(call KernelPackage,fs-nfsd))
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.28)),1)
MSDOS_DIR:=fat
endif
MSDOS_DIR?=msdos
define KernelPackage/fs-msdos
SUBMENU:=$(FS_MENU)
TITLE:=MSDOS filesystem support
KCONFIG:=CONFIG_MSDOS_FS
FILES:=$(LINUX_DIR)/fs/$(MSDOS_DIR)/msdos.$(LINUX_KMOD_SUFFIX)
FILES:=$(LINUX_DIR)/fs/fat/msdos.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,40,msdos)
$(call KernelPackage/nls/Depends)
endef
define KernelPackage/fs-msdos/2.4
FILES:=$(LINUX_DIR)/fs/msdos/msdos.$(LINUX_KMOD_SUFFIX)
endef
define KernelPackage/fs-msdos/description
Kernel module for MSDOS filesystem support
@ -314,11 +305,6 @@ endef
$(eval $(call KernelPackage,fs-reiserfs))
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.28)),1)
VFAT_DIR:=fat
endif
VFAT_DIR?=vfat
define KernelPackage/fs-vfat
SUBMENU:=$(FS_MENU)
TITLE:=VFAT filesystem support
@ -327,11 +313,16 @@ define KernelPackage/fs-vfat
CONFIG_VFAT_FS
FILES:= \
$(LINUX_DIR)/fs/fat/fat.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/fs/$(VFAT_DIR)/vfat.$(LINUX_KMOD_SUFFIX)
$(LINUX_DIR)/fs/fat/vfat.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,30,fat vfat)
$(call KernelPackage/nls/Depends)
endef
define KernelPackage/fs-vfat/2.4
FILES:= \
$(LINUX_DIR)/fs/fat/fat.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/fs/vfat/vfat.$(LINUX_KMOD_SUFFIX)
endef
define KernelPackage/fs-vfat/description
Kernel module for VFAT filesystem support
@ -364,7 +355,7 @@ define KernelPackage/fs-btrfs
CONFIG_BTRFS_FS \
CONFIG_BTRFS_FS_POSIX_ACL=n
# for crc32c
DEPENDS:=+kmod-crypto-core @!LINUX_2_6_21&&!LINUX_2_6_25&&!LINUX_2_6_28
DEPENDS:=+kmod-crypto-core @!LINUX_2_6_21&&!LINUX_2_6_25
FILES:=\
$(LINUX_DIR)/crypto/crc32c.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/lib/libcrc32c.$(LINUX_KMOD_SUFFIX) \
@ -459,6 +450,23 @@ endef
$(eval $(call KernelPackage,nls-cp852))
define KernelPackage/nls-cp866
SUBMENU:=$(FS_MENU)
TITLE:=Codepage 866 (Cyrillic)
KCONFIG:=CONFIG_NLS_CODEPAGE_866
FILES:=$(LINUX_DIR)/fs/nls/nls_cp866.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,25,nls_cp866)
$(call KernelPackage/nls/Depends)
endef
define KernelPackage/nls-cp866/description
Kernel module for NLS Codepage 866 (Cyrillic)
endef
$(eval $(call KernelPackage,nls-cp866))
define KernelPackage/nls-cp1250
SUBMENU:=$(FS_MENU)
TITLE:=Codepage 1250 (Eastern Europe)

View File

@ -290,7 +290,7 @@ define KernelPackage/tg3
TITLE:=Broadcom Tigon3 Gigabit Ethernet
FILES:=$(LINUX_DIR)/drivers/net/tg3.$(LINUX_KMOD_SUFFIX)
KCONFIG:=CONFIG_TIGON3
DEPENDS:=@LINUX_2_6 +LINUX_2_6_28||LINUX_2_6_30||LINUX_2_6_31:kmod-libphy @!TARGET_ubicom32
DEPENDS:=@LINUX_2_6 +LINUX_2_6_30||LINUX_2_6_31:kmod-libphy @!TARGET_ubicom32
SUBMENU:=$(NETWORK_DEVICES_MENU)
AUTOLOAD:=$(call AutoLoad,50,tg3)
endef
@ -359,3 +359,19 @@ endef
$(eval $(call KernelPackage,gigaset))
define KernelPackage/macvlan
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=MAC-VLAN support
DEPENDS:=@LINUX_2_6 @!LINUX_2_6_21
KCONFIG:=CONFIG_MACVLAN
FILES:=$(LINUX_DIR)/drivers/net/macvlan.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,50,macvlan)
endef
define KernelPackage/macvlan/description
A kernel module which allows one to create virtual interfaces that
map packets to or from specific MAC addresses to a particular interface.
endef
$(eval $(call KernelPackage,macvlan))

View File

@ -286,6 +286,7 @@ $(eval $(call KernelPackage,ipt-ulog))
define KernelPackage/ipt-iprange
SUBMENU:=$(NF_MENU)
TITLE:=Module for matching ip ranges
KCONFIG:=$(KCONFIG_IPT_IPRANGE)
FILES:=$(foreach mod,$(IPT_IPRANGE-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
AUTOLOAD:=$(call AutoLoad,45,$(notdir $(IPT_IPRANGE-m)))
DEPENDS:= kmod-ipt-core

View File

@ -577,7 +577,7 @@ $(eval $(call KernelPackage,sched))
define KernelPackage/ax25
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=AX25 support
DEPENDS:=kmod-crc16
DEPENDS:= +kmod-crc16
KCONFIG:= \
CONFIG_AX25 \
CONFIG_MKISS

View File

@ -71,11 +71,7 @@ define KernelPackage/eeprom-93cx6
TITLE:=EEPROM 93CX6 support
DEPENDS:=@LINUX_2_6
KCONFIG:=CONFIG_EEPROM_93CX6
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.29)),1)
FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.$(LINUX_KMOD_SUFFIX)
else
FILES:=$(LINUX_DIR)/drivers/misc/eeprom_93cx6.$(LINUX_KMOD_SUFFIX)
endif
AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
endef
@ -305,7 +301,6 @@ define KernelPackage/bluetooth/2.6
# CONFIG_BT_BNEP \
# CONFIG_BT_HCIUSB \
# CONFIG_BT_HCIUART
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.27)),1)
FILES:= \
$(LINUX_DIR)/net/bluetooth/bluetooth.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/net/bluetooth/l2cap.$(LINUX_KMOD_SUFFIX) \
@ -316,18 +311,6 @@ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.27)),1)
$(LINUX_DIR)/drivers/bluetooth/hci_uart.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/drivers/bluetooth/btusb.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,90,bluetooth l2cap sco rfcomm bnep hidp hci_uart btusb)
else
FILES:= \
$(LINUX_DIR)/net/bluetooth/bluetooth.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/net/bluetooth/l2cap.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/net/bluetooth/sco.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/net/bluetooth/bnep/bnep.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/net/bluetooth/hidp/hidp.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/drivers/bluetooth/hci_uart.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/drivers/bluetooth/hci_usb.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,90,bluetooth l2cap sco rfcomm bnep hidp hci_uart hci_usb)
endif
endef
define KernelPackage/bluetooth/description
@ -384,10 +367,7 @@ $(eval $(call KernelPackage,mmc-at91))
ifeq ($(KERNEL),2.4)
WATCHDOG_DIR=char
endif
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.24)),1)
WATCHDOG_DIR=watchdog
endif
WATCHDOG_DIR?=char/watchdog
WATCHDOG_DIR?=watchdog
define KernelPackage/atmel-wdt
SUBMENU:=$(OTHER_MENU)
@ -425,7 +405,7 @@ define KernelPackage/rdc321x-wdt
DEPENDS:=@TARGET_rdc
KCONFIG:=CONFIG_RDC321X_WDT
FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/rdc321x_wdt.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,50,rdc321_wdt)
AUTOLOAD:=$(call AutoLoad,50,rdc321x_wdt)
endef
define KernelPackage/rdc321x-wdt/description
@ -516,6 +496,22 @@ endef
$(eval $(call KernelPackage,leds-alix))
define KernelPackage/leds-wndr3700-usb
SUBMENU:=$(OTHER_MENU)
TITLE:=WNDR3700 USB LED support
DEPENDS:= @TARGET_ar71xx
KCONFIG:=CONFIG_LEDS_WNDR3700_USB
FILES:=$(LINUX_DIR)/drivers/leds/leds-wndr3700-usb.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,60,leds-wndr3700-usb)
endef
define KernelPackage/leds-wndr3700-usb/description
Kernel module for the USB LED on the NETGWR WNDR3700 board.
endef
$(eval $(call KernelPackage,leds-wndr3700-usb))
define KernelPackage/ledtrig-netdev
SUBMENU:=$(OTHER_MENU)
TITLE:=LED NETDEV Trigger
@ -811,10 +807,10 @@ $(eval $(call KernelPackage,textsearch))
define KernelPackage/rfkill
SUBMENU:=$(OTHER_MENU)
TITLE:=RF switch subsystem support
DEPENDS:=@TARGET_x86||TARGET_olpc||TARGET_s3c24xx||TARGET_brcm47xx
DEPENDS:=@TARGET_x86||TARGET_olpc||TARGET_s3c24xx||TARGET_brcm47xx||TARGET_ar71xx
KCONFIG:= \
CONFIG_RFKILL \
CONFIG_RFKILL_INPUT \
CONFIG_RFKILL_INPUT=y \
CONFIG_RFKILL_LEDS=y
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.31)),1)
FILES:= \

View File

@ -10,7 +10,7 @@ SOUND_MENU:=Sound Support
define KernelPackage/sound-core
SUBMENU:=$(SOUND_MENU)
TITLE:=Sound support
DEPENDS:=@PCI_SUPPORT||USB_SUPPORT
DEPENDS:=@PCI_SUPPORT||USB_SUPPORT||TARGET_uml
KCONFIG:= \
CONFIG_SOUND \
CONFIG_SND \
@ -63,7 +63,7 @@ define KernelPackage/sound-core/2.6
AUTOLOAD:=$(call AutoLoad,30,$(SOUNDCORE_LOAD))
endef
define KernelPackage/sound-core/uml-2.6
define KernelPackage/sound-core/uml
FILES:= \
$(LINUX_DIR)/sound/soundcore.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/arch/um/drivers/hostaudio.$(LINUX_KMOD_SUFFIX)
@ -79,7 +79,7 @@ $(eval $(call KernelPackage,sound-core))
define KernelPackage/sound-i8x0
SUBMENU:=$(SOUND_MENU)
TITLE:=Intel/SiS/nVidia/AMD/ALi AC97 Controller
DEPENDS:=kmod-sound-core
DEPENDS:=kmod-sound-core @!TARGET_uml
KCONFIG:=CONFIG_SND_INTEL8X0
FILES:=$(LINUX_DIR)/sound/pci/snd-intel8x0.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,35,snd-i8x0)
@ -96,7 +96,7 @@ $(eval $(call KernelPackage,sound-i8x0))
define KernelPackage/sound-ps3
SUBMENU:=$(SOUND_MENU)
TITLE:=PS3 Audio
DEPENDS:=kmod-sound-core @TARGET_ps3
DEPENDS:=kmod-sound-core @TARGET_ps3||@TARGET_ps3chk
KCONFIG:=CONFIG_SND_PS3 \
CONFIG_SND_PPC=y \
CONFIG_SND_PS3_DEFAULT_START_DELAY=2000
@ -113,7 +113,7 @@ $(eval $(call KernelPackage,sound-ps3))
define KernelPackage/sound-cs5535audio
SUBMENU:=$(SOUND_MENU)
TITLE:=CS5535 PCI Controller
DEPENDS:=kmod-sound-core
DEPENDS:=kmod-sound-core @!TARGET_uml
KCONFIG:=CONFIG_SND_CS5535AUDIO
FILES:=$(LINUX_DIR)/sound/pci/cs5535audio/snd-cs5535audio.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/sound/ac97_bus.$(LINUX_KMOD_SUFFIX) \

View File

@ -81,7 +81,7 @@ define KernelPackage/spi-dev
CONFIG_SPI=y \
CONFIG_SPI_MASTER=y
FILES:=$(LINUX_DIR)/drivers/spi/spidev.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,91,spidev)
AUTOLOAD:=$(call AutoLoad,93,spidev)
endef
define KernelPackage/spi-dev/description

View File

@ -301,7 +301,7 @@ $(eval $(call KernelPackage,usb-serial-belkin))
define KernelPackage/usb-serial-ch341
$(call usbdep,kmod-usb-serial @LINUX_2_6&&@!LINUX_2_6_23)
$(call usbdep,kmod-usb-serial @LINUX_2_6)
TITLE:=Support for CH341 devices
KCONFIG:=CONFIG_USB_SERIAL_CH341
FILES:=$(LINUX_DIR)/drivers/usb/serial/ch341.$(LINUX_KMOD_SUFFIX)
@ -514,7 +514,7 @@ define KernelPackage/usb-video
TITLE:=Support for USB video devices
KCONFIG:=CONFIG_VIDEO_USBVIDEO
FILES:=$(LINUX_DIR)/drivers/media/video/usbvideo/usbvideo.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,60,usbvideo)
AUTOLOAD:=$(call AutoLoad,61,usbvideo)
endef
define KernelPackage/usb-video/description
@ -621,7 +621,7 @@ $(eval $(call KernelPackage,usb-net-asix))
define KernelPackage/usb-net-hso
$(call usbdep,kmod-usb-net @LINUX_2_6 @!LINUX_2_6_21 @!LINUX_2_6_23 @!LINUX_2_6_24 @!LINUX_2_6_25 +!TARGET_rb532||!TARGET_avr32||!TARGET_brcm47xx||!TARGET_s3c24xx||!TARGET_ifxmips||!TARGET_atheros||!TARGET_adm5120||!TARGET_ar7||!TARGET_ppc40x||!TARGET_ixp4xx||!TARGET_rdc:kmod-rfkill)
$(call usbdep,kmod-usb-net @LINUX_2_6 @!LINUX_2_6_21 @!LINUX_2_6_25 +!TARGET_rb532||!TARGET_avr32||!TARGET_brcm47xx||!TARGET_s3c24xx||!TARGET_ifxmips||!TARGET_atheros||!TARGET_adm5120||!TARGET_ar7||!TARGET_ppc40x||!TARGET_ixp4xx||!TARGET_rdc:kmod-rfkill)
TITLE:=Kernel module for Option USB High Speed Mobile Devices
KCONFIG:=CONFIG_USB_HSO
FILES:= \

View File

@ -16,6 +16,7 @@ define KernelPackage/video-core
CONFIG_MEDIA_SUPPORT=m \
CONFIG_VIDEO_DEV \
CONFIG_VIDEO_V4L1=y \
CONFIG_VIDEO_ALLOW_V4L1=y \
CONFIG_VIDEO_CAPTURE_DRIVERS=y \
CONFIG_V4L_USB_DRIVERS=y
endef
@ -25,7 +26,6 @@ define KernelPackage/video-core/2.4
AUTOLOAD:=$(call AutoLoad,60,videodev)
endef
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.29)),1)
define KernelPackage/video-core/2.6
FILES:= \
$(LINUX_DIR)/drivers/media/video/v4l2-common.$(LINUX_KMOD_SUFFIX) \
@ -37,21 +37,6 @@ define KernelPackage/video-core/2.6
v4l2-common \
)
endef
else
define KernelPackage/video-core/2.6
FILES:= \
$(LINUX_DIR)/drivers/media/video/v4l2-common.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/drivers/media/video/v4l1-compat.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/drivers/media/video/compat_ioctl32.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/drivers/media/video/videodev.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,60, \
v4l1-compat \
videodev \
v4l2-common \
compat_ioctl32 \
)
endef
endif
define KernelPackage/video-core/description
Kernel modules for Video4Linux support
@ -167,7 +152,7 @@ $(eval $(call KernelPackage,video-pwc))
define KernelPackage/video-uvc
SUBMENU:=$(VIDEO_MENU)
TITLE:=USB Video Class (UVC) support
DEPENDS:=@LINUX_2_6 @!LINUX_2_6_25 @!LINUX_2_6_24 @!LINUX_2_6_23 @USB_SUPPORT +kmod-usb-core +kmod-video-core
DEPENDS:=@LINUX_2_6 @!LINUX_2_6_25 @USB_SUPPORT +kmod-usb-core +kmod-video-core
KCONFIG:= CONFIG_USB_VIDEO_CLASS
FILES:=$(LINUX_DIR)/drivers/media/video/uvc/uvcvideo.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,90,uvcvideo)
@ -266,7 +251,7 @@ $(eval $(call KernelPackage,video-gspca-mars))
define KernelPackage/video-gspca-mr97310a
SUBMENU:=$(VIDEO_MENU)
TITLE:=mr97310a webcam support
DEPENDS:=kmod-video-gspca-core @!LINUX_2_6_28
DEPENDS:=kmod-video-gspca-core
KCONFIG:=CONFIG_USB_GSPCA_MR97310A
FILES:=$(LINUX_DIR)/drivers/media/video/gspca/gspca_mr97310a.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,75,gspca_mr97310a)
@ -298,7 +283,7 @@ $(eval $(call KernelPackage,video-gspca-ov519))
define KernelPackage/video-gspca-ov534
SUBMENU:=$(VIDEO_MENU)
TITLE:=ov534 webcam support
DEPENDS:=kmod-video-gspca-core @!LINUX_2_6_28
DEPENDS:=kmod-video-gspca-core
KCONFIG:=CONFIG_USB_GSPCA_OV534
FILES:=$(LINUX_DIR)/drivers/media/video/gspca/gspca_ov534.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,75,gspca_ov534)
@ -474,7 +459,7 @@ $(eval $(call KernelPackage,video-gspca-spca561))
define KernelPackage/video-gspca-sq905
SUBMENU:=$(VIDEO_MENU)
TITLE:=sq905 webcam support
DEPENDS:=kmod-video-gspca-core @!LINUX_2_6_28
DEPENDS:=kmod-video-gspca-core
KCONFIG:=CONFIG_USB_GSPCA_SQ905
FILES:=$(LINUX_DIR)/drivers/media/video/gspca/gspca_sq905.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,75,gspca_sq905)
@ -490,7 +475,7 @@ $(eval $(call KernelPackage,video-gspca-sq905))
define KernelPackage/video-gspca-sq905c
SUBMENU:=$(VIDEO_MENU)
TITLE:=sq905c webcam support
DEPENDS:=kmod-video-gspca-core @!LINUX_2_6_28
DEPENDS:=kmod-video-gspca-core
KCONFIG:=CONFIG_USB_GSPCA_SQ905C
FILES:=$(LINUX_DIR)/drivers/media/video/gspca/gspca_sq905c.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,75,gspca_sq905c)
@ -618,7 +603,7 @@ $(eval $(call KernelPackage,video-gspca-m5602))
define KernelPackage/video-gspca-stv06xx
SUBMENU:=$(VIDEO_MENU)
TITLE:=stv06xx webcam support
DEPENDS:=kmod-video-gspca-core @!LINUX_2_6_28
DEPENDS:=kmod-video-gspca-core
KCONFIG:=CONFIG_USB_STV06XX
FILES:=$(LINUX_DIR)/drivers/media/video/gspca/stv06xx/gspca_stv06xx.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,75,gspca_stv06xx)

View File

@ -12,7 +12,7 @@ WIRELESS_MENU:=Wireless Drivers
define KernelPackage/ieee80211
SUBMENU:=$(WIRELESS_MENU)
TITLE:=802.11 Networking stack
DEPENDS:=+kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic @LINUX_2_4||@LINUX_2_6_21||LINUX_2_6_23||LINUX_2_6_24||LINUX_2_6_25||LINUX_2_6_26||LINUX_2_6_28
DEPENDS:=+kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic @LINUX_2_4||@LINUX_2_6_21||LINUX_2_6_25
KCONFIG:= \
CONFIG_IEEE80211 \
CONFIG_IEEE80211_CRYPT_WEP \
@ -49,7 +49,7 @@ $(eval $(call KernelPackage,ieee80211))
define KernelPackage/lib80211
SUBMENU:=$(WIRELESS_MENU)
TITLE:=802.11 Networking stack
DEPENDS:=@LINUX_2_6_30||LINUX_2_6_31
DEPENDS:=@LINUX_2_6_30||LINUX_2_6_31||LINUX_2_6_32
KCONFIG:= \
CONFIG_LIB80211 \
CONFIG_LIB80211_CRYPT_WEP \
@ -80,16 +80,12 @@ endef
$(eval $(call KernelPackage,lib80211))
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.29)),1)
IPW_DIR:=ipw2x00/
endif
define KernelPackage/net-libipw
SUBMENU:=$(WIRELESS_MENU)
TITLE:=libipw for ipw2100 and ipw2200
DEPENDS:=@PCI_SUPPORT +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 @LINUX_2_6_30||LINUX_2_6_31
DEPENDS:=@PCI_SUPPORT +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 @LINUX_2_6_30||LINUX_2_6_31||LINUX_2_6_32
KCONFIG:=CONFIG_LIBIPW
FILES:=$(LINUX_DIR)/drivers/net/wireless/$(IPW_DIR)libipw.$(LINUX_KMOD_SUFFIX)
FILES:=$(LINUX_DIR)/drivers/net/wireless/ipw2x00/libipw.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,49,libipw)
endef
@ -105,7 +101,7 @@ define KernelPackage/net-ipw2100
TITLE:=Intel IPW2100 driver
DEPENDS:=@PCI_SUPPORT +!(LINUX_2_6_30||LINUX_2_6_31):kmod-ieee80211 +LINUX_2_6_30||LINUX_2_6_31:kmod-net-libipw
KCONFIG:=CONFIG_IPW2100
FILES:=$(LINUX_DIR)/drivers/net/wireless/$(IPW_DIR)ipw2100.$(LINUX_KMOD_SUFFIX)
FILES:=$(LINUX_DIR)/drivers/net/wireless/ipw2x00/ipw2100.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,50,ipw2100)
endef
@ -123,7 +119,7 @@ define KernelPackage/net-ipw2200
TITLE:=Intel IPW2200 driver
DEPENDS:=@PCI_SUPPORT +!(LINUX_2_6_30||LINUX_2_6_31):kmod-ieee80211 +LINUX_2_6_30||LINUX_2_6_31:kmod-net-libipw
KCONFIG:=CONFIG_IPW2200
FILES:=$(LINUX_DIR)/drivers/net/wireless/$(IPW_DIR)ipw2200.$(LINUX_KMOD_SUFFIX)
FILES:=$(LINUX_DIR)/drivers/net/wireless/ipw2x00/ipw2200.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,50,ipw2200)
endef
@ -152,34 +148,15 @@ endef
$(eval $(call KernelPackage,net-airo))
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.29)),1)
ORINOCO_DIR:=orinoco/
endif
define KernelPackage/net-hermes
SUBMENU:=$(WIRELESS_MENU)
TITLE:=Hermes 802.11b chipset support
DEPENDS:=@LINUX_2_6 @PCI_SUPPORT||PCMCIA_SUPPORT
KCONFIG:=CONFIG_HERMES \
CONFIG_HERMES_CACHE_FW_ON_INIT=n
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.30)),1)
FILES:= \
$(LINUX_DIR)/drivers/net/wireless/$(ORINOCO_DIR)orinoco.$(LINUX_KMOD_SUFFIX)
$(LINUX_DIR)/drivers/net/wireless/orinoco/orinoco.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,50,orinoco)
else
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.28)),1)
FILES:= \
$(LINUX_DIR)/drivers/net/wireless/$(ORINOCO_DIR)hermes.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/drivers/net/wireless/$(ORINOCO_DIR)orinoco.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/drivers/net/wireless/$(ORINOCO_DIR)hermes_dld.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,50,hermes hermes_dld orinoco)
else
FILES:= \
$(LINUX_DIR)/drivers/net/wireless/hermes.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/drivers/net/wireless/orinoco.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,50,hermes orinoco)
endif
endif
endef
define KernelPackage/net-hermes/description
@ -194,7 +171,7 @@ define KernelPackage/net-hermes-pci
TITLE:=Intersil Prism 2.5 PCI support
DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
KCONFIG:=CONFIG_PCI_HERMES
FILES:=$(LINUX_DIR)/drivers/net/wireless/$(ORINOCO_DIR)orinoco_pci.$(LINUX_KMOD_SUFFIX)
FILES:=$(LINUX_DIR)/drivers/net/wireless/orinoco/orinoco_pci.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
endef
@ -210,7 +187,7 @@ define KernelPackage/net-hermes-plx
TITLE:=PLX9052 based PCI adaptor
DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
KCONFIG:=CONFIG_PLX_HERMES
FILES:=$(LINUX_DIR)/drivers/net/wireless/$(ORINOCO_DIR)orinoco_plx.$(LINUX_KMOD_SUFFIX)
FILES:=$(LINUX_DIR)/drivers/net/wireless/orinoco/orinoco_plx.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
endef

View File

@ -1,21 +1,17 @@
use strict;
my @fields = (
[ "_avg", "FLOAT", " - Average" ],
[ "_stdev", "FLOAT", " - Standard deviation" ],
[ "_n", "UINT", " - Number of samples" ]
[ "_n", "UINT", " - Number of samples", 4 ],
[ "_s", "UINT", " - Sum of samples", 8 ],
[ "_ss", "UINT", " - Sum of squared samples", 8 ],
);
my $file = $ARGV[0] or die "Syntax: $0 <file>\n";
my $file = $ARGV[0] or die "Syntax: $0 <file> <start>\n";
-f $file or die "File not found\n";
my $last_ie = 0;
my $line;
open IES, "<$file" or die "Can't open file";
while ($line = <IES>) {
$line =~ /^(\d+)\s*,/ and $last_ie = $1;
}
close IES;
while (<STDIN>) {
my $start = $ARGV[1];
$start =~ /^\d+$/ or die "Invalid start number";
open FILE, "<$file" or die "Can't open file";
while (<FILE>) {
/^(%?)(\w+),\s*(\w+),\s*(.+)$/ and do {
my $counter = $1;
my $rfield = $2;
@ -23,18 +19,20 @@ while (<STDIN>) {
my $descr = $4;
my @f;
if ($counter) {
@f = [ "", "UINT", "" ];
@f = [ "", "UINT", "", 4];
} else {
@f = @fields;
}
foreach my $f (@f) {
my $nr = ++$last_ie;
my $nr = $start++;
my $n = $f->[0];
my $N = uc $n;
my $ftype = $f->[1];
my $fdesc = $f->[2];
print "$nr, IPFIX_FT_WPROBE_$rfield$N, 4, IPFIX_CODING_$ftype, \"$nfield$n\", \"$descr$fdesc\"\n";
my $size = $f->[3];
print "$nr, IPFIX_FT_WPROBE_$rfield$N, $size, IPFIX_CODING_$ftype, \"$nfield$n\", \"$descr$fdesc\"\n";
}
};
}
close FILE;

View File

@ -329,7 +329,16 @@
/** exporter funcs
--- a/lib/ipfix_col.c
+++ b/lib/ipfix_col.c
@@ -907,7 +907,7 @@ int ipfix_decode_datarecord( ipfixt_node
@@ -897,6 +897,8 @@ int ipfix_decode_datarecord( ipfixt_node
return -1;
}
+ n->ipfixt->fields[i].elem->decode(p,p,len);
+
data->lens[i] = len;
data->addrs[i] = p;
@@ -907,7 +909,7 @@ int ipfix_decode_datarecord( ipfixt_node
return 0;
}
@ -338,7 +347,7 @@
{
if ( data ) {
if ( data->addrs )
@@ -925,6 +925,7 @@ int ipfix_parse_msg( ipfix_input_t *inpu
@@ -925,6 +927,7 @@ int ipfix_parse_msg( ipfix_input_t *inpu
ipfix_hdr_t hdr; /* ipfix packet header */
ipfixs_node_t *s;
ipfix_datarecord_t data = { NULL, NULL, 0 };
@ -346,7 +355,7 @@
uint8_t *buf; /* ipfix payload */
uint16_t setid, setlen; /* set id, set lenght */
int i, nread, offset; /* counter */
@@ -1042,6 +1043,12 @@ int ipfix_parse_msg( ipfix_input_t *inpu
@@ -1042,6 +1045,12 @@ int ipfix_parse_msg( ipfix_input_t *inpu
err_flag = 1;
}
else {
@ -359,7 +368,7 @@
/** read data records
*/
for ( offset=nread, bytesleft=setlen; bytesleft>4; ) {
@@ -1076,11 +1083,11 @@ int ipfix_parse_msg( ipfix_input_t *inpu
@@ -1076,11 +1085,11 @@ int ipfix_parse_msg( ipfix_input_t *inpu
goto errend;
end:
@ -373,7 +382,7 @@
return -1;
}
@@ -1093,7 +1100,7 @@ void process_client_tcp( int fd, int mas
@@ -1093,7 +1102,7 @@ void process_client_tcp( int fd, int mas
tcp_conn_t *tcon = (tcp_conn_t*)data;
char *func = "process_client_tcp";
@ -403,3 +412,63 @@
if ( (access( s->fname, R_OK ) <0 )
&& (mkdir( s->fname, S_IRWXU ) <0) ) {
mlogf( 0, "[%s] cannot access dir '%s': %s\n",
--- a/lib/ipfix_FOKUS_IEs.txt
+++ b/lib/ipfix_FOKUS_IEs.txt
@@ -24,6 +24,8 @@
196, IPFIX_FT_PKTID, 4, IPFIX_CODING_UINT, "pktId", "FOKUS packet id"
197, IPFIX_FT_STARTTIME, 4, IPFIX_CODING_INT, "startTime", "FOKUS interval start"
198, IPFIX_FT_ENDTIME, 4, IPFIX_CODING_INT, "endTime", "FOKUS interval end"
+199, IPFIX_FT_RTT_USEC, 8, IPFIX_CODING_UINT, "rtt_usec", "FOKUS rtt in us"
+
300, IPFIX_FT_FLOWCREATIONTIMEUSEC, 4, IPFIX_CODING_INT, "flowCreationTimeUsec", "FOKUS flow start usec fraction"
301, IPFIX_FT_FLOWENDTIMEUSEC, 4, IPFIX_CODING_INT, "flowEndTimeUsec", "FOKUS flow end usec fraction"
303, IPFIX_FT_TC_PACKETS, 4, IPFIX_CODING_UINT, "tcPackets", "DAIDALOS Packets seen"
@@ -39,3 +41,48 @@
313, IPFIX_FT_OWDVARMIN_NSEC, 4, IPFIX_CODING_INT, "owdvarmin_nsec", "FOKUS minimum owd variance in ns"
314, IPFIX_FT_OWDVARMAX_NSEC, 4, IPFIX_CODING_INT, "owdvarmax_nsec", "FOKUS maximum ow variance in ns"
+# Project INTERSECTION
+315, IPFIX_FT_SOURCEIPV4FANOUT, 4, IPFIX_CODING_UINT,"sourceIPv4FanOut", "FOKUS IPv4 fanout"
+316, IPFIX_FT_DESTINATIONIPV4FANIN, 4, IPFIX_CODING_UINT,"destinationIPv4FanIn", "FOKUS IPv4 fanin"
+
+# Project PRISM
+
+330, IPFIX_FT_PR_SESSIONID, 4, IPFIX_CODING_UINT, "sessionId", "PRISM Session ID"
+331, IPFIX_FT_PR_TRANSACTIONID, 4, IPFIX_CODING_UINT, "transactionId", "PRISM Transaction ID"
+332, IPFIX_FT_PR_ENCRYPTEDDATA, 65535, IPFIX_CODING_STRING, "encryptedData", "PRISM encrypted data"
+333, IPFIX_FT_PR_DECRYPTIONKEY, 65535, IPFIX_CODING_STRING, "decryptionKey", "PRISM decryption key"
+334, IPFIX_FT_PR_KEYSHARE, 65535, IPFIX_CODING_STRING, "keyShare", "PRISM key share"
+335, IPFIX_FT_PR_KEYSHAREADP, 65535, IPFIX_CODING_STRING, "keyShareAdp", "PRISM key share ADP"
+336, IPFIX_FT_PR_INITVECTOR, 65535, IPFIX_CODING_STRING, "cryptoInitVector", "PRISM crypto init vector"
+
+
+# these information elements have been defined by FOKUS for the Oracle project
+
+402, IPFIX_FT_ORsignalBandwidth, 4, IPFIX_CODING_UINT, "ORsignalBandwidth", "signal bandwidth"
+403, IPFIX_FT_ORsignalPower, 2, IPFIX_CODING_UINT, "ORsignalPower", "ERIP"
+404, IPFIX_FT_ORmodulationType, 2, IPFIX_CODING_UINT, "ORmodulationType", "AM/FM,.."
+405, IPFIX_FT_ORsymbolRate, 2, IPFIX_CODING_UINT, "ORsymbolRate", "symbol rate"
+406, IPFIX_FT_ORmodulationOrder, 1, IPFIX_CODING_UINT, "ORmodulationOrder", "number of levels"
+407, IPFIX_FT_ORrolloffFactor, 2, IPFIX_CODING_UINT, "ORrolloffFactor", "roll of factor"
+408, IPFIX_FT_ORgeopositionLon, 4, IPFIX_CODING_UINT, "ORgeopositionLon", "GPS coordinate, resolution 1 cm"
+409, IPFIX_FT_ORgeopositionLat, 4, IPFIX_CODING_UINT, "ORgeopositionLat", "GPS coordinate, resolution 1 cm"
+410, IPFIX_FT_ORgeopositionElev, 4, IPFIX_CODING_UINT, "ORgeopositionElev", "GPS coordinate, resolution 1 cm"
+411, IPFIX_FT_ORpolicyRecord, 65535, IPFIX_CODING_STRING, "ORpolicyRecord", "policy record has variable length, First 8 bits in data describe the length (in bytes) of the field"
+420, IPFIX_FT_channel_status, 1, IPFIX_CODING_UINT, "channel_status", vacancy of the scanned channel (1: channel busy, 0: channel idle)"
+421, IPFIX_FT_sensing_value, 2, IPFIX_CODING_UINT, "sensing_value", "Cost function output"
+422, IPFIX_FT_sensing_threshold, 2, IPFIX_CODING_UINT, "sensing_threshold", "Decision threshold"
+423, IPFIX_FT_OR_terminal_id, 1, IPFIX_CODING_UINT, "OR_terminal_id", "terminal identifier"
+424, IPFIX_FT_OR_terminal_id_list, 65535, IPFIX_CODING_STRING, "OR_terminal_id_list", "terminal identifier list"
+425, IPFIX_FT_Infrastructure_network_id, 1, IPFIX_CODING_UINT, "Infrastructure_network_id", "network identifier"
+426, IPFIX_FT_Infrastructure_network_type, 1, IPFIX_CODING_UINT, "Infrastructure_network_type", "network type (GSM - 1, UMTS - 2, WiMAX - 3, WiFi - 4)"
+427, IPFIX_FT_Battery_lifetime_min, 1, IPFIX_CODING_UINT, "Battery_lifetime_min", "expected battery lifetime to provide requested services or functionalities, in minutes"
+428, IPFIX_FT_Battery_lifetime_h, 1, IPFIX_CODING_UINT, "Battery_lifetime_h", "expected battery lifetime to provide requested services or functionalities, in hours"
+429, IPFIX_FT_Battery_status, 1, IPFIX_CODING_UINT, "Battery_status", "expected battery lifetime to provide requested services or functionalities, 1 bit status flag, values 1 or 0"
+430, IPFIX_FT_Cell_id_number, 4, IPFIX_CODING_UINT, "Cell_id_number", "16-32 bit cell id number, identifier"
+431, IPFIX_FT_Spectral_allocation_vector, 1, IPFIX_CODING_UINT, "Spectral_allocation_vector", "binary vector to indicate whether a band is free 1 bit 0 or not 1 bit 1"
+432, IPFIX_FT_Spectral_allocation_profile, 2, IPFIX_CODING_UINT, "Spectral_allocation_profile", "received power spectral density vs. frequency to indicate spectral activity in the band of interest (8-16 bits per discrete frequency value)"
+433, IPFIX_FT_Center_frequency, 2, IPFIX_CODING_UINT, "Center_frequency", "Center frequency of the sensed band"
+434, IPFIX_FT_Bandwidth_of_CAP, 2, IPFIX_CODING_UINT, "Bandwidth_of_CAP", "Bandwidth of the spectral allocation profile"
+435, IPFIX_FT_ORmodulation, 1, IPFIX_CODING_UINT, "ORmodulation", "CREST factor"
+436, IPFIX_FT_ORprofileRecord, 65535, IPFIX_CODING_STRING, "ORprofileRecord", "profile record has variable length, First 8 bits in data describe the length (in bytes) of the field"
+

View File

@ -1,44 +1,44 @@
--- a/lib/ipfix_FOKUS_IEs.txt
+++ b/lib/ipfix_FOKUS_IEs.txt
@@ -39,3 +39,41 @@
313, IPFIX_FT_OWDVARMIN_NSEC, 4, IPFIX_CODING_INT, "owdvarmin_nsec", "FOKUS minimum owd variance in ns"
314, IPFIX_FT_OWDVARMAX_NSEC, 4, IPFIX_CODING_INT, "owdvarmax_nsec", "FOKUS maximum ow variance in ns"
@@ -86,3 +86,41 @@
435, IPFIX_FT_ORmodulation, 1, IPFIX_CODING_UINT, "ORmodulation", "CREST factor"
436, IPFIX_FT_ORprofileRecord, 65535, IPFIX_CODING_STRING, "ORprofileRecord", "profile record has variable length, First 8 bits in data describe the length (in bytes) of the field"
+315, IPFIX_FT_WPROBE_NOISE_AVG, 4, IPFIX_CODING_FLOAT, "global_noise_avg", "wprobe global noice floor - Average"
+316, IPFIX_FT_WPROBE_NOISE_STDEV, 4, IPFIX_CODING_FLOAT, "global_noise_stdev", "wprobe global noice floor - Standard deviation"
+317, IPFIX_FT_WPROBE_NOISE_N, 4, IPFIX_CODING_UINT, "global_noise_n", "wprobe global noice floor - Number of samples"
+318, IPFIX_FT_WPROBE_PHY_BUSY_AVG, 4, IPFIX_CODING_FLOAT, "global_phy_busy_avg", "wprobe global airtime total - Average"
+319, IPFIX_FT_WPROBE_PHY_BUSY_STDEV, 4, IPFIX_CODING_FLOAT, "global_phy_busy_stdev", "wprobe global airtime total - Standard deviation"
+320, IPFIX_FT_WPROBE_PHY_BUSY_N, 4, IPFIX_CODING_UINT, "global_phy_busy_n", "wprobe global airtime total - Number of samples"
+321, IPFIX_FT_WPROBE_PHY_RX_AVG, 4, IPFIX_CODING_FLOAT, "global_phy_rx_avg", "wprobe global airtime total from rx-frame - Average"
+322, IPFIX_FT_WPROBE_PHY_RX_STDEV, 4, IPFIX_CODING_FLOAT, "global_phy_rx_stdev", "wprobe global airtime total from rx-frame - Standard deviation"
+323, IPFIX_FT_WPROBE_PHY_RX_N, 4, IPFIX_CODING_UINT, "global_phy_rx_n", "wprobe global airtime total from rx-frame - Number of samples"
+324, IPFIX_FT_WPROBE_PHY_TX_AVG, 4, IPFIX_CODING_FLOAT, "global_phy_tx_avg", "wprobe global airtime total from tx-frame - Average"
+325, IPFIX_FT_WPROBE_PHY_TX_STDEV, 4, IPFIX_CODING_FLOAT, "global_phy_tx_stdev", "wprobe global airtime total from tx-frame - Standard deviation"
+326, IPFIX_FT_WPROBE_PHY_TX_N, 4, IPFIX_CODING_UINT, "global_phy_tx_n", "wprobe global airtime total from tx-frame - Number of samples"
+327, IPFIX_FT_WPROBE_RSSI_AVG, 4, IPFIX_CODING_FLOAT, "link_rssi_avg", "wprobe link received signal strength indication - Average"
+328, IPFIX_FT_WPROBE_RSSI_STDEV, 4, IPFIX_CODING_FLOAT, "link_rssi_stdev", "wprobe link received signal strength indication - Standard deviation"
+329, IPFIX_FT_WPROBE_RSSI_N, 4, IPFIX_CODING_UINT, "link_rssi_n", "wprobe link received signal strength indication - Number of samples"
+330, IPFIX_FT_WPROBE_SIGNAL_AVG, 4, IPFIX_CODING_FLOAT, "link_signal_avg", "wprobe link signal strength in dB - Average"
+331, IPFIX_FT_WPROBE_SIGNAL_STDEV, 4, IPFIX_CODING_FLOAT, "link_signal_stdev", "wprobe link signal strength in dB - Standard deviation"
+332, IPFIX_FT_WPROBE_SIGNAL_N, 4, IPFIX_CODING_UINT, "link_signal_n", "wprobe link signal strength in dB - Number of samples"
+333, IPFIX_FT_WPROBE_IEEE_RX_RATE_AVG, 4, IPFIX_CODING_FLOAT, "link_ieee_rx_rate_avg", "wprobe link IEEE 802.11 RX data rate - Average"
+334, IPFIX_FT_WPROBE_IEEE_RX_RATE_STDEV, 4, IPFIX_CODING_FLOAT, "link_ieee_rx_rate_stdev", "wprobe link IEEE 802.11 RX data rate - Standard deviation"
+335, IPFIX_FT_WPROBE_IEEE_RX_RATE_N, 4, IPFIX_CODING_UINT, "link_ieee_rx_rate_n", "wprobe link IEEE 802.11 RX data rate - Number of samples"
+336, IPFIX_FT_WPROBE_IEEE_TX_RATE_AVG, 4, IPFIX_CODING_FLOAT, "link_ieee_tx_rate_avg", "wprobe link IEEE 802.11 TX data rate - Average"
+337, IPFIX_FT_WPROBE_IEEE_TX_RATE_STDEV, 4, IPFIX_CODING_FLOAT, "link_ieee_tx_rate_stdev", "wprobe link IEEE 802.11 TX data rate - Standard deviation"
+338, IPFIX_FT_WPROBE_IEEE_TX_RATE_N, 4, IPFIX_CODING_UINT, "link_ieee_tx_rate_n", "wprobe link IEEE 802.11 TX data rate - Number of samples"
+339, IPFIX_FT_WPROBE_RETRANSMIT_200_AVG, 4, IPFIX_CODING_FLOAT, "link_retransmit_200_avg", "wprobe link total retransmissions per packet - <200 bytes - Average"
+340, IPFIX_FT_WPROBE_RETRANSMIT_200_STDEV, 4, IPFIX_CODING_FLOAT, "link_retransmit_200_stdev", "wprobe link total retransmissions per packet - <200 bytes - Standard deviation"
+341, IPFIX_FT_WPROBE_RETRANSMIT_200_N, 4, IPFIX_CODING_UINT, "link_retransmit_200_n", "wprobe link total retransmissions per packet - <200 bytes - Number of samples"
+342, IPFIX_FT_WPROBE_RETRANSMIT_400_AVG, 4, IPFIX_CODING_FLOAT, "link_retransmit_400_avg", "wprobe link total retransmissions per packet - <400 bytes - Average"
+343, IPFIX_FT_WPROBE_RETRANSMIT_400_STDEV, 4, IPFIX_CODING_FLOAT, "link_retransmit_400_stdev", "wprobe link total retransmissions per packet - <400 bytes - Standard deviation"
+344, IPFIX_FT_WPROBE_RETRANSMIT_400_N, 4, IPFIX_CODING_UINT, "link_retransmit_400_n", "wprobe link total retransmissions per packet - <400 bytes - Number of samples"
+345, IPFIX_FT_WPROBE_RETRANSMIT_800_AVG, 4, IPFIX_CODING_FLOAT, "link_retransmit_800_avg", "wprobe link total retransmissions per packet - <800 bytes - Average"
+346, IPFIX_FT_WPROBE_RETRANSMIT_800_STDEV, 4, IPFIX_CODING_FLOAT, "link_retransmit_800_stdev", "wprobe link total retransmissions per packet - <800 bytes - Standard deviation"
+347, IPFIX_FT_WPROBE_RETRANSMIT_800_N, 4, IPFIX_CODING_UINT, "link_retransmit_800_n", "wprobe link total retransmissions per packet - <800 bytes - Number of samples"
+348, IPFIX_FT_WPROBE_RETRANSMIT_1600_AVG, 4, IPFIX_CODING_FLOAT, "link_retransmit_1600_avg", "wprobe link total retransmissions per packet - >800 bytes - Average"
+349, IPFIX_FT_WPROBE_RETRANSMIT_1600_STDEV, 4, IPFIX_CODING_FLOAT, "link_retransmit_1600_stdev", "wprobe link total retransmissions per packet - >800 bytes - Standard deviation"
+350, IPFIX_FT_WPROBE_RETRANSMIT_1600_N, 4, IPFIX_CODING_UINT, "link_retransmit_1600_n", "wprobe link total retransmissions per packet - >800 bytes - Number of samples"
+351, IPFIX_FT_WPROBE_FRAMES, 4, IPFIX_CODING_UINT, "global_frames", "wprobe global number of 802.11 frames seen"
+352, IPFIX_FT_WPROBE_PROBEREQ, 4, IPFIX_CODING_UINT, "global_probereq", "wprobe global number of 802.11 probe requests seen"
+500, IPFIX_FT_WPROBE_NOISE_N, 4, IPFIX_CODING_UINT, "global_noise_n", "wprobe global noice floor - Number of samples"
+501, IPFIX_FT_WPROBE_NOISE_S, 8, IPFIX_CODING_UINT, "global_noise_s", "wprobe global noice floor - Sum of samples"
+502, IPFIX_FT_WPROBE_NOISE_SS, 8, IPFIX_CODING_UINT, "global_noise_ss", "wprobe global noice floor - Sum of squared samples"
+503, IPFIX_FT_WPROBE_PHY_BUSY_N, 4, IPFIX_CODING_UINT, "global_phy_busy_n", "wprobe global airtime total - Number of samples"
+504, IPFIX_FT_WPROBE_PHY_BUSY_S, 8, IPFIX_CODING_UINT, "global_phy_busy_s", "wprobe global airtime total - Sum of samples"
+505, IPFIX_FT_WPROBE_PHY_BUSY_SS, 8, IPFIX_CODING_UINT, "global_phy_busy_ss", "wprobe global airtime total - Sum of squared samples"
+506, IPFIX_FT_WPROBE_PHY_RX_N, 4, IPFIX_CODING_UINT, "global_phy_rx_n", "wprobe global airtime total from rx-frame - Number of samples"
+507, IPFIX_FT_WPROBE_PHY_RX_S, 8, IPFIX_CODING_UINT, "global_phy_rx_s", "wprobe global airtime total from rx-frame - Sum of samples"
+508, IPFIX_FT_WPROBE_PHY_RX_SS, 8, IPFIX_CODING_UINT, "global_phy_rx_ss", "wprobe global airtime total from rx-frame - Sum of squared samples"
+509, IPFIX_FT_WPROBE_PHY_TX_N, 4, IPFIX_CODING_UINT, "global_phy_tx_n", "wprobe global airtime total from tx-frame - Number of samples"
+510, IPFIX_FT_WPROBE_PHY_TX_S, 8, IPFIX_CODING_UINT, "global_phy_tx_s", "wprobe global airtime total from tx-frame - Sum of samples"
+511, IPFIX_FT_WPROBE_PHY_TX_SS, 8, IPFIX_CODING_UINT, "global_phy_tx_ss", "wprobe global airtime total from tx-frame - Sum of squared samples"
+512, IPFIX_FT_WPROBE_RSSI_N, 4, IPFIX_CODING_UINT, "link_rssi_n", "wprobe link received signal strength indication - Number of samples"
+513, IPFIX_FT_WPROBE_RSSI_S, 8, IPFIX_CODING_UINT, "link_rssi_s", "wprobe link received signal strength indication - Sum of samples"
+514, IPFIX_FT_WPROBE_RSSI_SS, 8, IPFIX_CODING_UINT, "link_rssi_ss", "wprobe link received signal strength indication - Sum of squared samples"
+515, IPFIX_FT_WPROBE_SIGNAL_N, 4, IPFIX_CODING_UINT, "link_signal_n", "wprobe link signal strength in dB - Number of samples"
+516, IPFIX_FT_WPROBE_SIGNAL_S, 8, IPFIX_CODING_UINT, "link_signal_s", "wprobe link signal strength in dB - Sum of samples"
+517, IPFIX_FT_WPROBE_SIGNAL_SS, 8, IPFIX_CODING_UINT, "link_signal_ss", "wprobe link signal strength in dB - Sum of squared samples"
+518, IPFIX_FT_WPROBE_IEEE_RX_RATE_N, 4, IPFIX_CODING_UINT, "link_ieee_rx_rate_n", "wprobe link IEEE 802.11 RX data rate - Number of samples"
+519, IPFIX_FT_WPROBE_IEEE_RX_RATE_S, 8, IPFIX_CODING_UINT, "link_ieee_rx_rate_s", "wprobe link IEEE 802.11 RX data rate - Sum of samples"
+520, IPFIX_FT_WPROBE_IEEE_RX_RATE_SS, 8, IPFIX_CODING_UINT, "link_ieee_rx_rate_ss", "wprobe link IEEE 802.11 RX data rate - Sum of squared samples"
+521, IPFIX_FT_WPROBE_IEEE_TX_RATE_N, 4, IPFIX_CODING_UINT, "link_ieee_tx_rate_n", "wprobe link IEEE 802.11 TX data rate - Number of samples"
+522, IPFIX_FT_WPROBE_IEEE_TX_RATE_S, 8, IPFIX_CODING_UINT, "link_ieee_tx_rate_s", "wprobe link IEEE 802.11 TX data rate - Sum of samples"
+523, IPFIX_FT_WPROBE_IEEE_TX_RATE_SS, 8, IPFIX_CODING_UINT, "link_ieee_tx_rate_ss", "wprobe link IEEE 802.11 TX data rate - Sum of squared samples"
+524, IPFIX_FT_WPROBE_RETRANSMIT_200_N, 4, IPFIX_CODING_UINT, "link_retransmit_200_n", "wprobe link total retransmissions per packet - <200 bytes - Number of samples"
+525, IPFIX_FT_WPROBE_RETRANSMIT_200_S, 8, IPFIX_CODING_UINT, "link_retransmit_200_s", "wprobe link total retransmissions per packet - <200 bytes - Sum of samples"
+526, IPFIX_FT_WPROBE_RETRANSMIT_200_SS, 8, IPFIX_CODING_UINT, "link_retransmit_200_ss", "wprobe link total retransmissions per packet - <200 bytes - Sum of squared samples"
+527, IPFIX_FT_WPROBE_RETRANSMIT_400_N, 4, IPFIX_CODING_UINT, "link_retransmit_400_n", "wprobe link total retransmissions per packet - <400 bytes - Number of samples"
+528, IPFIX_FT_WPROBE_RETRANSMIT_400_S, 8, IPFIX_CODING_UINT, "link_retransmit_400_s", "wprobe link total retransmissions per packet - <400 bytes - Sum of samples"
+529, IPFIX_FT_WPROBE_RETRANSMIT_400_SS, 8, IPFIX_CODING_UINT, "link_retransmit_400_ss", "wprobe link total retransmissions per packet - <400 bytes - Sum of squared samples"
+530, IPFIX_FT_WPROBE_RETRANSMIT_800_N, 4, IPFIX_CODING_UINT, "link_retransmit_800_n", "wprobe link total retransmissions per packet - <800 bytes - Number of samples"
+531, IPFIX_FT_WPROBE_RETRANSMIT_800_S, 8, IPFIX_CODING_UINT, "link_retransmit_800_s", "wprobe link total retransmissions per packet - <800 bytes - Sum of samples"
+532, IPFIX_FT_WPROBE_RETRANSMIT_800_SS, 8, IPFIX_CODING_UINT, "link_retransmit_800_ss", "wprobe link total retransmissions per packet - <800 bytes - Sum of squared samples"
+533, IPFIX_FT_WPROBE_RETRANSMIT_1600_N, 4, IPFIX_CODING_UINT, "link_retransmit_1600_n", "wprobe link total retransmissions per packet - >800 bytes - Number of samples"
+534, IPFIX_FT_WPROBE_RETRANSMIT_1600_S, 8, IPFIX_CODING_UINT, "link_retransmit_1600_s", "wprobe link total retransmissions per packet - >800 bytes - Sum of samples"
+535, IPFIX_FT_WPROBE_RETRANSMIT_1600_SS, 8, IPFIX_CODING_UINT, "link_retransmit_1600_ss", "wprobe link total retransmissions per packet - >800 bytes - Sum of squared samples"
+536, IPFIX_FT_WPROBE_FRAMES, 4, IPFIX_CODING_UINT, "global_frames", "wprobe global number of 802.11 frames seen"
+537, IPFIX_FT_WPROBE_PROBEREQ, 4, IPFIX_CODING_UINT, "global_probereq", "wprobe global number of 802.11 probe requests seen"

View File

@ -3,7 +3,7 @@
choice
prompt "b43 firmware version"
depends on PACKAGE_kmod-b43
default B43_STABLE
default B43_EXPERIMENTAL
help
This option allows you to select the version of the b43 firmware.
@ -41,20 +41,18 @@ endchoice
config B43_FW_SQUASH
bool "Remove unnecessary firmware files"
depends on PACKAGE_kmod-b43 && !B43_OPENFIRMWARE
default y
help
This options allows you to remove unnecessary b43 firmware files
from the final rootfs image. This can reduce the rootfs size by
up to 200k.
Do _NOT_ use this option, if you don't know the core revision
and/or PHY type of your wireless chip.
If unsure, say N.
If unsure, say Y.
config B43_FW_SQUASH_COREREVS
string "Core revisions to include"
depends on PACKAGE_kmod-b43 && B43_FW_SQUASH
default "5,6,7,8,9,10"
default "5,6,7,8,9,10,13,14,15"
help
This is a comma seperated list of core revision numbers.
Example (keep files for rev5 only):
@ -65,7 +63,7 @@ config B43_FW_SQUASH_COREREVS
config B43_FW_SQUASH_PHYTYPES
string "PHY types to include"
depends on PACKAGE_kmod-b43 && B43_FW_SQUASH
default "G,LP,N"
default "G,LP"
help
This is a comma seperated list of PHY types:
A => A-PHY

Some files were not shown because too many files have changed in this diff Show More