diff --git a/docs/porting.md b/docs/porting.md index 196fbb6..86e61cd 100644 --- a/docs/porting.md +++ b/docs/porting.md @@ -34,4 +34,8 @@ UBus的监听地址跟官方Openwrt不一样, 官方的是普通命名方式(/va len = SUN_LEN(&addr); // 计算长度 addr.sun_path[0] = 0; // 设置成抽象 unix 域套接字地址 ``` -... \ No newline at end of file +... + +NFSD 不能导出 /mnt, 可以导出其中的挂载点 +VSFTPD 可以导出 /mnt, 不能导出其中的挂载点, 但可以访问 +SAMBA4 可以导出 /mnt, 也能导出其中的挂载点, 但是客户端挂载 /mnt 访问不了其中的挂载点 diff --git a/root/etc/config/ucitrack b/root/etc/config/ucitrack index 01c2626..c484195 100644 --- a/root/etc/config/ucitrack +++ b/root/etc/config/ucitrack @@ -56,6 +56,7 @@ config tinyproxy option init tinyproxy config minidlna 'minidlna' + option init 'minidlna' config transmission option init 'transmission' diff --git a/root/etc/init.d/afpd b/root/etc/init.d/afpd index 71b6376..33263d3 100755 --- a/root/etc/init.d/afpd +++ b/root/etc/init.d/afpd @@ -13,7 +13,6 @@ config_instance() local hostname local path - config_get enabled $1 enabled config_get hostname $1 hostname config_get path $1 path @@ -22,8 +21,14 @@ config_instance() } start_service() { + local enabled config_load afpd - config_foreach config_instance afpd + + config_get_bool enabled config 'enabled' '0' + + [ "$enabled" -gt 0 ] || return 1 + + config_foreach config_instance netatalk mkdir -p /var/netatalk/CNID/files @@ -39,3 +44,8 @@ start_service() { procd_close_instance } +service_triggers() { + PROCD_RELOAD_DELAY=2000 + + procd_add_reload_trigger "afpd" +} \ No newline at end of file diff --git a/root/etc/rc.d/K10afpd b/root/etc/rc.d/K10afpd new file mode 120000 index 0000000..48f5fec --- /dev/null +++ b/root/etc/rc.d/K10afpd @@ -0,0 +1 @@ +../init.d/afpd \ No newline at end of file diff --git a/root/etc/rc.d/S80afpd b/root/etc/rc.d/S80afpd new file mode 120000 index 0000000..48f5fec --- /dev/null +++ b/root/etc/rc.d/S80afpd @@ -0,0 +1 @@ +../init.d/afpd \ No newline at end of file diff --git a/root/etc/uci-defaults/luci-afpd b/root/etc/uci-defaults/luci-afpd index 5a49e34..3a36c7c 100755 --- a/root/etc/uci-defaults/luci-afpd +++ b/root/etc/uci-defaults/luci-afpd @@ -15,11 +15,6 @@ if [ "`uci get afpd.config.enabled`" == "1" ] ; then /etc/init.d/afpd enable -else - /etc/init.d/afpd enabled && { - /etc/init.d/afpd stop - /etc/init.d/afpd disable - } fi uci -q batch <<-EOF >/dev/null @@ -29,5 +24,4 @@ uci -q batch <<-EOF >/dev/null commit ucitrack EOF -rm -f /tmp/luci-indexcache exit 0 diff --git a/root/etc/uci-defaults/luci-forked-daapd b/root/etc/uci-defaults/luci-forked-daapd index 2d2aff7..f917db5 100755 --- a/root/etc/uci-defaults/luci-forked-daapd +++ b/root/etc/uci-defaults/luci-forked-daapd @@ -12,5 +12,4 @@ uci -q batch <<-EOF >/dev/null commit ucitrack EOF -rm -f /tmp/luci-indexcache exit 0 diff --git a/root/etc/uci-defaults/luci-nfsd b/root/etc/uci-defaults/luci-nfsd index 746b3b3..abedf84 100755 --- a/root/etc/uci-defaults/luci-nfsd +++ b/root/etc/uci-defaults/luci-nfsd @@ -7,5 +7,4 @@ uci -q batch <<-EOF >/dev/null commit ucitrack EOF -rm -f /tmp/luci-indexcache exit 0 diff --git a/root/etc/uci-defaults/luci-vsftpd b/root/etc/uci-defaults/luci-vsftpd index 0787e9c..d87b972 100755 --- a/root/etc/uci-defaults/luci-vsftpd +++ b/root/etc/uci-defaults/luci-vsftpd @@ -1,9 +1,8 @@ #!/bin/sh -/etc/init.d/vsftpd enabled && { - /etc/init.d/vsftpd stop - /etc/init.d/vsftpd disable -} +if [ "`uci get vsftpd.config.enabled`" == "1" ] ; then + /etc/init.d/vsftpd enable +fi uci -q batch <<-EOF >/dev/null delete ucitrack.vsftpd @@ -12,5 +11,4 @@ uci -q batch <<-EOF >/dev/null commit ucitrack EOF -rm -f /tmp/luci-indexcache exit 0 diff --git a/root/etc/uci-defaults/minidlna b/root/etc/uci-defaults/minidlna new file mode 100755 index 0000000..6a7aa81 --- /dev/null +++ b/root/etc/uci-defaults/minidlna @@ -0,0 +1,14 @@ +#!/bin/sh + +if [ "`uci get minidlna.config.enabled`" == "1" ] ; then + /etc/init.d/minidlna enable +fi + +uci -q batch <<-EOF >/dev/null + delete ucitrack.minidlna + set ucitrack.minidlna=minidlna + set ucitrack.minidlna.init=minidlna + commit ucitrack +EOF + +exit 0 diff --git a/root/usr/lib/lua/luci/model/cbi/forked_daapd.lua b/root/usr/lib/lua/luci/model/cbi/forked_daapd.lua index 6b152a0..bcd8369 100644 --- a/root/usr/lib/lua/luci/model/cbi/forked_daapd.lua +++ b/root/usr/lib/lua/luci/model/cbi/forked_daapd.lua @@ -11,21 +11,6 @@ s.anonymous = true o = s:option(Flag, "enabled", translate("Enable")) o.rmempty = false -function o.cfgvalue(self, section) - return luci.sys.init.enabled("forked-daapd") and self.enabled or self.disabled -end - -function o.write(self, section, value) - if value == "1" then - luci.sys.init.enable("forked-daapd") - luci.sys.call("/etc/init.d/forked-daapd restart >/dev/null") - else - luci.sys.call("/etc/init.d/forked-daapd stop >/dev/null") - luci.sys.init.disable("forked-daapd") - end - return Flag.write(self, section, value) -end - servername = s:option(Value, "name", translate("Server Name")) servername.rmempty = true function servername.cfgvalue(self, section) diff --git a/root/usr/lib/lua/luci/model/cbi/minidlna.lua b/root/usr/lib/lua/luci/model/cbi/minidlna.lua index 9dcc527..ffa4a50 100644 --- a/root/usr/lib/lua/luci/model/cbi/minidlna.lua +++ b/root/usr/lib/lua/luci/model/cbi/minidlna.lua @@ -18,22 +18,6 @@ s:tab("advanced", translate("Advanced Settings")) o = s:taboption("general", Flag, "enabled", translate("Enable")) o.rmempty = false -function o.cfgvalue(self, section) - return luci.sys.init.enabled("minidlna") and self.enabled or self.disabled -end - -function o.write(self, section, value) - if value == "1" then - luci.sys.init.enable("minidlna") - luci.sys.call("/etc/init.d/minidlna start >/dev/null") - else - luci.sys.call("/etc/init.d/minidlna stop >/dev/null") - luci.sys.init.disable("minidlna") - end - - return Flag.write(self, section, value) -end - o = s:taboption("general", Value, "port", translate("Port"), translate("Port for HTTP (descriptions, SOAP, media transfer) traffic.")) o.datatype = "port" diff --git a/root/usr/lib/lua/luci/model/cbi/netatalk.lua b/root/usr/lib/lua/luci/model/cbi/netatalk.lua index f8f4a67..a7e8184 100644 --- a/root/usr/lib/lua/luci/model/cbi/netatalk.lua +++ b/root/usr/lib/lua/luci/model/cbi/netatalk.lua @@ -11,21 +11,6 @@ s.anonymous = true o = s:option(Flag, "enabled", translate("Enable")) o.rmempty = false -function o.cfgvalue(self, section) - return luci.sys.init.enabled("afpd") and self.enabled or self.disabled -end - -function o.write(self, section, value) - if value == "1" then - luci.sys.init.enable("afpd") - luci.sys.call("/etc/init.d/afpd start >/dev/null") - else - luci.sys.call("/etc/init.d/afpd stop >/dev/null") - luci.sys.init.disable("afpd") - end - return Flag.write(self, section, value) -end - servername = s:option(Value, "hostname", translate("Server Name")) servername.rmempty = true function servername.cfgvalue(self, section) @@ -70,8 +55,4 @@ function path.write(self, section, value) return Flag.write(self, section, value) end -function m.on_commit(self,map) - require("luci.sys").call('/sbin/reload_config') -end - return m diff --git a/root/usr/lib/lua/luci/model/cbi/vsftpd.lua b/root/usr/lib/lua/luci/model/cbi/vsftpd.lua index 2588d55..47c6289 100644 --- a/root/usr/lib/lua/luci/model/cbi/vsftpd.lua +++ b/root/usr/lib/lua/luci/model/cbi/vsftpd.lua @@ -33,26 +33,9 @@ s:tab("anonymous",translate("Anonymous")) s:tab("userlist",translate("User List")) s:tab("template",translate("Template")) - - enable=s:taboption("general",Flag,"enabled",translate("Enabled")) enable.rmempty=false -function enable.cfgvalue(self,section) - return luci.sys.init.enabled("vsftpd") and self.enabled or self.disabled -end -function enable.write(self,section,value) - if value == "1" then - if running then - luci.sys.call("/etc/init.d/vsftpd stop >/dev/null") - end - luci.sys.call("/etc/init.d/vsftpd enable >/dev/null") - luci.sys.call("/etc/init.d/vsftpd start >/dev/null") - else - luci.sys.call("/etc/init.d/vsftpd stop >/dev/null") - luci.sys.call("/etc/init.d/vsftpd disable >/dev/null") - end - return Flag.write(self, section, value) -end + listen_ipv6=s:taboption("general",Flag,"listen_ipv6",translate("Allow IPv6")) listen_ipv6.rmempty=false banner=s:taboption("general",Value,"ftpd_banner",translate("FTP banner")) diff --git a/root/usr/local/sbin/nas-service b/root/usr/local/sbin/nas-service index c7e6403..5df2ab8 100755 --- a/root/usr/local/sbin/nas-service +++ b/root/usr/local/sbin/nas-service @@ -16,8 +16,7 @@ if echo "$SERVICES" | grep -q $1; then enable) /sbin/uci set $SERVICENAME.config.enabled=1 /sbin/uci commit $SERVICENAME - /etc/init.d/$SERVICENAME start - /etc/init.d/$SERVICENAME enable + /etc/init.d/$SERVICENAME restart exit 0 ;; @@ -25,7 +24,6 @@ if echo "$SERVICES" | grep -q $1; then /sbin/uci set $SERVICENAME.config.enabled=0 /sbin/uci commit $SERVICENAME /etc/init.d/$SERVICENAME stop - /etc/init.d/$SERVICENAME disable exit 0 ;;