Преглед изворни кода

uhttpd: don't process ubus_* and lua_* options if corresponding plugin is not installed (#14618)

SVN-Revision: 39057
Jo-Philipp Wich пре 12 година
родитељ
комит
e444eb0bbd
1 измењених фајлова са 8 додато и 4 уклоњено
  1. 8 4
      package/network/services/uhttpd/files/uhttpd.init

+ 8 - 4
package/network/services/uhttpd/files/uhttpd.init

@@ -67,10 +67,14 @@ start_instance()
 	append_arg "$cfg" realm "-r" "${realm:-OpenWrt}"
 	append_arg "$cfg" config "-c"
 	append_arg "$cfg" cgi_prefix "-x"
-	append_arg "$cfg" lua_prefix "-l"
-	append_arg "$cfg" lua_handler "-L"
-	append_arg "$cfg" ubus_prefix "-u"
-	append_arg "$cfg" ubus_socket "-U"
+	[ -f /usr/lib/uhttpd_lua.so ] && {
+		append_arg "$cfg" lua_prefix "-l"
+		append_arg "$cfg" lua_handler "-L"
+	}
+	[ -f /usr/lib/uhttpd_ubus.so ] && {
+		append_arg "$cfg" ubus_prefix "-u"
+		append_arg "$cfg" ubus_socket "-U"
+	}
 	append_arg "$cfg" script_timeout "-t"
 	append_arg "$cfg" network_timeout "-T"
 	append_arg "$cfg" http_keepalive "-k"