Commit Graph

761 Commits (6aa75472521111be772ffe67343d41c4be211376)

Author SHA1 Message Date
John Crispin 60759662cb uci-defaults: add ucidef_set_led_mmc
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44446 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-14 20:47:58 +00:00
John Crispin 60552298d7 base-files: default_postinst() fix variable colision
The name variable contains at first the package name,
and after the last group name.
This patch fixes /etc/rc.d symlink creation (at least).

Change name in pkgname, change the other name in ugname
(user group name), and id in ugid (user group id)

Signed-off-by: Etienne CHAMPETIER <champetier.etienne@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44253 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-04 06:10:06 +00:00
John Crispin dda181d82c base-files: fix led script to skip missing triggers
this is based on http://patchwork.ozlabs.org/patch/424451/

Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44087 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-23 12:33:04 +00:00
John Crispin 20ff050890 base-files: Use 200ms LED timing as before for the new phase preinit_regular.
This restores normal pre-r43715 200ms blink-period for the System LED we're all accustomed to see while our OpenWrt routers are booting.

Failsafe possibility will now be signalled with a new 100ms blinking, which is easily recognizable from the normal 200ms booting.

So no existing user will be scared by a new 500ms LED pattern, since such a slow pattern could easily be mistaken for something wrong... I was like "ok why my router is collapsing now, is this a bad flash, a kernel panic, or what else" when I've seen it for the first time ;)

Sorry for not having explained myself better in v1 of this patch.

Original:
Preinit, failsafe is possible: 200ms
Preinit, failsafe not possible anymore, booting normally: 200ms
Failsafe entered: 50ms

Now (after preinit_regular has been introduced):
Preinit, failsafe is possible: 200ms
Preinit, failsafe not possible anymore, booting normally: 500ms *here is the "offending" change*
Failsafe entered: 50ms

With my proposed patch:
Preinit, failsafe is possible: 100ms *indicate this condition with a new timing, that prompts the user to press the key if they want to start failsafe*
Preinit, failsafe not possible anymore, booting normally: 200ms *keep this as before*
Failsafe entered: 50ms

Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44056 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-20 06:54:53 +00:00
John Crispin 1f0e7b1205 base-files: Add ucidef_set_led_timer to uci-defaults.sh
Signed-off-by: Gerald Kerma <dreagle@doukki.net>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44000 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-17 13:58:14 +00:00
John Crispin 0db74510c0 base-files: Fix switch settings for uci-defaults-new.sh.
The enable and reset settings need to be added even when they're false. This is true at least for 'enable', that seems to default to true otherwise.

Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43887 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-08 20:26:52 +00:00
John Crispin ff1614a661 add "preinit_regular" diag.sh set_state argument
This new argument is used right after starting regular preinit (which
happens if failsafe wasn't triggered). The main purpose of "preinit"
argument is to indicate that failsafe can be triggered, however we were
missing a way to inform user that we don't wait for a trigger anymore.
With this change it's clear when failsafe mode can be triggered.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43715 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-15 10:37:00 +00:00
John Crispin c53e189dfb packages: fix typo in OpenWrt name
Signed-off-by: Cezary Jackiewicz <cezary.jackiewicz@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43542 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-07 16:53:30 +00:00
John Crispin 894af53f00 base-files: default_postinst() - create user:group first (resend)
create user:group before running postinst-pkg. the postinst hook might require
the user:group to already exist.

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43472 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-01 16:15:13 +00:00
Imre Kaloz cfa0c5b27f [base-files]: fix sysupgrade on overlayfs v23+
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>



git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43365 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-11-24 15:55:52 +00:00
Jonas Gorski a83eac388f base-files: supress errors from ldd
ldd might be called for shell scrips during sysupgrade, causing it to
complain that they are not a dynamic executables.

This is a harmless error, so supress it to avoid confusing about them
being serious ones.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43315 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-11-19 12:17:37 +00:00
Jonas Gorski ac9840c22d base-files: properly fix copying ld*.so with eglibc
r36107 ("base-files: sysupgrade fail with eglibc") tried to fix
sysupgrade by changing the ld-soname to what is expected, but only
fixed MIPS while breaking ARM.

The underlying issue is that the ld.so name varies widely across
different architectures for eglibc:

eglibc-2.19-r25243$ grep -r "ld-soname :=" . | awk '{ print $3 }' | sort -u
ld64.so.1
ld64.so.2
ld-linux-aarch64_be.so.1
ld-linux-aarch64.so.1
ld-linux-armhf.so.3
ld-linux-mipsn8.so.1
ld-linux.so.2
ld-linux.so.3
ld-linux-x32.so.2
ld-linux-x86-64.so.2
ld.so.1

Instead of adding each different soname to check for and copy it,
replace the awk script with a sed script to extract it properly and
drop the hardcoded so-name.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43295 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-11-18 15:19:46 +00:00
John Crispin edeaa79757 base-files: config_generate did not handle setups with more than 1 switch properly
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43088 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-27 15:51:17 +00:00
Felix Fietkau 29835cb287 base-files: add /etc/shadow to list of essential files to keep in sysupgrade (bug 18206)
Based on bug #18206 sysupgrade can lead to loss of password information in
certain situations. Most likely all users who will upgrade from versions
r43017-43040, will lose their current passwords. :-(
https://dev.openwrt.org/ticket/18206

Currently /etc/shadow is defined as a conffile in base-files:
https://dev.openwrt.org/browser/trunk/package/base-files/Makefile#L37

But it is not defined in the default list of essential files to keep in
sysupgrade:
https://dev.openwrt.org/browser/trunk/package/base-files/files/lib/upgrade/keep.d/base-files-essential

If exporting conffiles info fails, /etc/shadow can get lost.

Shadow passwords are now the default, so saying that preserving /etc/passwd
is essential while /etc/shadow is not, makes no sense.

The attached patch adds /etc/shadow to the list of essential files.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43061 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-25 17:22:46 +00:00
Felix Fietkau 6ae004207b base-files: fix telnet login on musl
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43006 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-20 15:07:19 +00:00
John Crispin c23daabb8c failsafe-mode: print short help on commandline
[base-files] failsafe-mode: print short help on commandline

Like mentioned in ticket https://dev.openwrt.org/ticket/11911
this should make the IRC much quieter. Failsafe is somehow
special and even experienced users are helpless, because they
are not used to this seldom situation. Also: likely you have
no internet access in this mode, so you cannot use the wiki.

a failsafe-session now looks like this:
first we see from 'package/base-files/files/bin/login.sh' the hint:

 === IMPORTANT ============================
  Use 'passwd' to set your login password
  this will disable telnet and enable SSH
 ------------------------------------------

after this the /etc/banner ("OpenWrt - wireless freedom")
and then the new text:

================= FAILSAFE MODE active ================
special commands:
* firstboot          reset settings to factory defaults
* mount_root     mount root-partition with config files

after mount_root:
* passwd                         change root's password
* /etc/config               directory with config files

for more help see:
http://wiki.openwrt.org/doc/howto/generic.failsafe
=======================================================

this supersedes the old patches:
http://patchwork.openwrt.org/patch/3337/
http://patchwork.openwrt.org/patch/3553/

Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42985 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-20 06:29:05 +00:00
Felix Fietkau 069e264caa base-files: fix ldd definition if /usr/bin/ldd exists
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42976 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-19 21:46:08 +00:00
John Crispin 9f53cd1006 default_postinst() fix wrong call of group_add
[base-files] default_postinst() fix wrong call of group_add
after 12bae65d07d29854204715cebc1ef1eae237fd9b group_add is
always called. shell scripting can be tricky...

wrong call:
[ -n "$gid" ] && group_exists $name || group_add $name $gid

this leads to a call of 'group_add' when $gid is emtpy, proof:

root@box:~ functionA() { echo A; }
root@box:~ functionB() { echo B; }
root@box:~ VAR=
root@box:~ [ -n "$VAR" ] && functionA || functionB
B
root@box:~ # functionB was called, but VAR is not filled
root@box:~ VAR=filled
root@box:~ [ -n "$VAR" ] && functionA || functionB
A

Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42926 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-15 17:55:13 +00:00
John Crispin 19246191d3 base-files: default_postinst() force clear luci-indexcache
Inside every LuCI package you need to clear luci-indexcache and
sometimes when installing non LuCI pacakges it's also needed to clear
it. Easier put it into default_postinst().

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42923 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-14 19:01:30 +00:00
John Crispin 2897186939 base-files: the USERID code path did not check for duplicate groups
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42919 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-14 19:01:05 +00:00
John Crispin 81d9f2d585 scripts: fix wrong usage of '==' operator
[base-files] shell-scripting: fix wrong usage of '==' operator

normally the '==' is used for invoking a regex parser and is a bashism.
all of the fixes just want to compare a string. the used busybox-ash
will silently "ignore" this mistake, but make it portable/clean at least.

this patch does not change the behavior/logic of the scripts.

Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42911 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-14 12:21:11 +00:00
Steven Barth c9ab6f3a67 base-files: add network_get_ipaddrs_all()
Return all IPv4 and IPv6 addresses.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42856 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-09 07:16:29 +00:00
Steven Barth 3823e9634d network: Unbind DHCPv6 from underlying interfaces
This allows IPv6 to set up without IPv4 being up thus
IPv6-only or IPv6+DS-Lite working with the default config.

Signed-off-by: Steven Barth <steven@midlink.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42848 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-08 13:08:05 +00:00
John Crispin f9cddd1fd9 base-files: extend USERID:=syntax
it is now possible to inlie the uid and gid in the syntax

USERID:=username=uid:group=gid:group2=gid2:...

Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42838 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-08 08:01:28 +00:00
John Crispin fef66999f8 base-files: make postinst script run inside a subshell
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42800 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-06 05:55:35 +00:00
John Crispin 37a33d7e8d sysupgrade: preserve symlinks in backups
Signed-off-by: Catalin Patulea <catalinp@google.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42783 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-06 04:51:56 +00:00
Steven Barth 956a14a1b2 base-files: remove a 'not found' error message during system boot
During boot, a not found message is displayed for systems which do
not have uci 'network.globals.ula_prefix' defined in
/etc/config/network. The error message itself is not used and can
be ignored.

Signed-off-by: Michel Stam <m.stam@fugro.nl>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42755 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-03 10:56:43 +00:00
Florian Fainelli ccd5dae4f1 base-files: add a protocol argument to ucidef_set_interface_raw
Add a third argument to ucidef_set_interface_raw, which is specifying
the protocol.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42665 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-25 19:08:56 +00:00
John Crispin a0bbe0d6ce postinst trigger: the new postinst trigger broke IB
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42571 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-16 11:56:19 +00:00
Luka Perkov 38c2d876ab base-files: whitespace fixes
Signed-off-by: Luka Perkov <luka@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42542 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-14 23:15:00 +00:00
John Crispin 3caa9395b5 ipkg: add a default postinst/prerm script
the postinst script enables/starts the init.d scripts upon package installation
and installs the users required by the package.

the prerm script stops and disables the init.d scripts.

Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42470 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-11 12:27:49 +00:00
John Crispin e723b7928a package/*: remove useless explicit set of function returncode
somebody started to set a function returncode in the validation
stuff and everybody copies it, e.g.

myfunction()
{
	fire_command

	return $?
}

a function automatically returns with the last returncode,
so we can safely remove the command 'return $?'. reference:

http://tldp.org/LDP/abs/html/exit-status.html
"The last command executed in the function or script determines the exit status."

Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42278 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-25 06:35:50 +00:00
John Crispin 75653caad1 base-files: properly generate the ula
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42261 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-22 14:19:07 +00:00
Steven Barth e5a925bd47 base-files: increase igmp_max_memberships to improve multicast-proxy handling
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42227 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-20 10:18:40 +00:00
John Crispin fede953fc2 base-files: fix inverse logic in board_detect script
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42220 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-19 09:59:39 +00:00
John Crispin 0ffbe9abd5 base-files: wan6 should reference wan intead of referencing itself.
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42199 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-18 13:16:35 +00:00
John Crispin d5a9dd2b58 base-files: add a hardware detection layer
this allows targets to use the new uci-default helper which will generate
a file called /etc/board.json. a tool called /bin/config_generate can then
be used to generate the default uci settings.

Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42185 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-18 13:09:17 +00:00
Jo-Philipp Wich 369b4791ce base-files: /lib/functions/network.sh: fix network_get_ipaddr6
When looking for the first ipaddr also consider the current prefix just
like network_get_ipaddrs6 does. If ipv6-address was empty the function
did not return the first ipaddr even if the list was non-empty.

fixes commit 83e9122f88a002871d5cdf421cf6aa6052b7e006

Signed-off-by: Henning Schild <henning@hennsch.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42139 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-11 18:15:18 +00:00
Felix Fietkau bc60d604b8 base-files: enable option to skip the netfilter "filter" table for established connection packets by default
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42048 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-07 19:30:36 +00:00
Felix Fietkau 02627475b9 base-files: properly escape strings for version info
Make sure they don't break the sed command, and also make device_info
and openwrt_release more robust for parsing by scripts

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41885 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-29 13:30:23 +00:00
Felix Fietkau 5198a23da8 base-files: add extra version configuration options for OEM manufacturer info
Creates /etc/device_info which will be used to fill in information for
WPS and other protocols that need manufacturer/device information

This helps with creating OpenWrt firmware for OEM or rebranded devices.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41884 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-29 13:30:12 +00:00
Imre Kaloz 8ac4123cfb BB is branched, get ready for Chaos Calmer
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>



git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41870 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-29 08:24:57 +00:00
John Crispin 88178fb2e9 base-files: Remove stale calls to start() in initscripts.
based on http://patchwork.openwrt.org/patch/5969/

Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41840 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-26 20:36:15 +00:00
Gabor Juhos 59f759b8a5 base-files: strip quotes from the MAC address in macaddr_canonicalize()
Extracted from http://patchwork.openwrt.org/patch/5716/

Signed-off-by: Forest Crossman <cyrozap@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41639 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-14 10:25:49 +00:00
Felix Fietkau 8b62e7b22d base-files: adjust the default netfilter tcp established connection timeout as per RFC 5382 (#17098)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41599 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-13 10:24:34 +00:00
John Crispin 0126e7505e sysupgrade: Enable killing of all processes under upgraded
If the sysupgrade scripts is called under upgraded, it will not kill all
other processes as it should to avoid interference by locked filesystem.
This patch checks the parent and if it is upgraded, it kills all.

Signed-off-by: André Valentin <avalentin@marcant.net>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41563 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-10 19:16:27 +00:00
Felix Fietkau 3c5ac3fecb rc.common: when reloading a service using procd, fall back to calling start instead of restart
This avoids unnecessary service restarts

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41490 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-03 06:21:49 +00:00
John Crispin b174e169b7 base-files: fix ramfs / nand upgrade
/lib/{imx6,lantiq,...}.sh are needed in the ramfs for sysupgrade to work.

Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41440 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-01 10:26:14 +00:00
Luka Perkov ba967cd842 base-files: define yes/no as valid boolean options
ubox validate_data defines yes/no as valid boolean options, do the same in
config_get_bool too.

Signed-off-by: Luka Perkov <luka@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41405 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-06-29 23:05:05 +00:00
John Crispin 284bbce081 base-files: add enabled config option for ntp service
Signed-off-by: Luka Perkov <luka@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41354 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-06-27 07:52:06 +00:00