summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rwxr-xr-xexamples/proto/ppp.sh4
-rwxr-xr-xexamples/proto/pptp.sh4
-rwxr-xr-xscripts/netifd-proto.sh31
-rw-r--r--scripts/utils.sh33
4 files changed, 44 insertions, 28 deletions
diff --git a/examples/proto/ppp.sh b/examples/proto/ppp.sh
index f0d0ca3..4750f40 100755
--- a/examples/proto/ppp.sh
+++ b/examples/proto/ppp.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-DUMMY=1
-. ../../scripts/netifd-proto.sh
+NETIFD_MAIN_DIR=../../scripts
+. $NETIFD_MAIN_DIR/netifd-proto.sh
init_proto "$@"
diff --git a/examples/proto/pptp.sh b/examples/proto/pptp.sh
index 5189e95..7c8a13d 100755
--- a/examples/proto/pptp.sh
+++ b/examples/proto/pptp.sh
@@ -1,5 +1,7 @@
#!/bin/sh
-. ../../scripts/netifd-proto.sh
+NETIFD_MAIN_DIR=../../scripts
+. $NETIFD_MAIN_DIR/netifd-proto.sh
+
init_proto "$@"
proto_pptp_init_config() {
diff --git a/scripts/netifd-proto.sh b/scripts/netifd-proto.sh
index 6f20de9..76dcd8d 100755
--- a/scripts/netifd-proto.sh
+++ b/scripts/netifd-proto.sh
@@ -1,37 +1,18 @@
-. /usr/share/libubox/jshn.sh
-
-append() {
- local var="$1"
- local value="$2"
- local sep="${3:- }"
-
- eval "export -- \"$var=\${$var:+\${$var}\${value:+\$sep}}\$value\""
-}
+NETIFD_MAIN_DIR="${NETIFD_MAIN_DIR:-/lib/netifd}"
-proto_config_add_generic() {
- json_add_array ""
- json_add_string "" "$1"
- json_add_int "" "$2"
- json_close_array
-}
+. /usr/share/libubox/jshn.sh
+. $NETIFD_MAIN_DIR/utils.sh
proto_config_add_int() {
- proto_config_add_generic "$1" 5
+ _config_add_generic "$1" 5
}
proto_config_add_string() {
- proto_config_add_generic "$1" 3
+ _config_add_generic "$1" 3
}
proto_config_add_boolean() {
- proto_config_add_generic "$1" 7
-}
-
-add_default_handler() {
- case "$(type $1 2>/dev/null)" in
- *function*) return;;
- *) eval "$1() { return; }"
- esac
+ _config_add_generic "$1" 7
}
_proto_do_teardown() {
diff --git a/scripts/utils.sh b/scripts/utils.sh
new file mode 100644
index 0000000..6a137c0
--- /dev/null
+++ b/scripts/utils.sh
@@ -0,0 +1,33 @@
+append() {
+ local var="$1"
+ local value="$2"
+ local sep="${3:- }"
+
+ eval "export -- \"$var=\${$var:+\${$var}\${value:+\$sep}}\$value\""
+}
+
+add_default_handler() {
+ case "$(type $1 2>/dev/null)" in
+ *function*) return;;
+ *) eval "$1() { return; }"
+ esac
+}
+
+_config_add_generic() {
+ json_add_array ""
+ json_add_string "" "$1"
+ json_add_int "" "$2"
+ json_close_array
+}
+
+config_add_int() {
+ _config_add_generic "$1" 5
+}
+
+config_add_string() {
+ _config_add_generic "$1" 3
+}
+
+config_add_boolean() {
+ _config_add_generic "$1" 7
+}