diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-02-26 20:04:04 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-02-26 20:04:04 +0000 |
commit | 79386b5db780fee3d1469941e640c2cbe2598a5c (patch) | |
tree | acecda110ad48b648a8f3a3666786581034f00e2 /package/base-files/files/bin/uci | |
parent | ddc24aa87ea2f11859e9e56a64210d5a268dbee8 (diff) |
Integrate basic UCI config file validation support
Needs more testing and validation is not enforced yet
Code contributed by Fraunhofer Fokus
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6391 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files/files/bin/uci')
-rwxr-xr-x | package/base-files/files/bin/uci | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/package/base-files/files/bin/uci b/package/base-files/files/bin/uci index 9b50380df..f8e08f874 100755 --- a/package/base-files/files/bin/uci +++ b/package/base-files/files/bin/uci @@ -1,8 +1,8 @@ #!/bin/sh # Shell script for interacting with config files # -# Copyright (C) 2006 by Fokus Fraunhofer <carsten.tittel@fokus.fraunhofer.de> -# Copyright (C) 2006 by Felix Fietkau <nbd@openwrt.org> +# Copyright (C) 2006 Fokus Fraunhofer <carsten.tittel@fokus.fraunhofer.de> +# Copyright (C) 2006,2007 Felix Fietkau <nbd@openwrt.org> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,8 +18,8 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -. /etc/functions.sh -include /lib/config +. $UCI_ROOT/etc/functions.sh +include $UCI_ROOT/lib/config SEP="[^0-9A-Za-z_]" @@ -101,7 +101,7 @@ do_show() { exit 1 } - for package in ${PACKAGE:-$(cd /etc/config; ls)}; do + for package in ${PACKAGE:-$(cd $UCI_ROOT/etc/config; ls)}; do SECTION="" config_cb() { @@ -136,6 +136,14 @@ do_show() { done } +do_validate() { + [ "$#" -ne 1 ] && { + uci_usage validate + exit 1 + } + uci_validate "$1" || exit "$?" +} + uci_usage() { case "$1" in show) echo "$0 show [<package>[.<config>]]";; @@ -144,6 +152,7 @@ uci_usage() { del) echo "$0 del <package>.<config>[.<option>]";; rename) echo "$0 rename <package> <config> <name>";; commit) echo "$0 commit [<package> ... ]";; + validate) echo "$0 validate <package>";; *) echo "Syntax: $0 <command> <arguments...>" echo @@ -153,6 +162,7 @@ uci_usage() { uci_usage del uci_usage rename uci_usage commit + uci_usage validate echo exit 1 ;; @@ -164,7 +174,7 @@ if [ $# -eq 0 ] ; then exit 0 fi -local CMD="$1" +CMD="$1" shift case "$CMD" in set) do_set "$@";; @@ -173,6 +183,7 @@ case "$CMD" in get) do_get "$@";; show) do_show "$@";; commit) do_commit "$@";; + validate) do_validate "$@";; *) uci_usage;; esac exit 0 |