luci-proto-pppossh: move pppossh to own package
authorFlorian Eckert <redacted>
Thu, 15 Mar 2018 14:28:18 +0000 (15:28 +0100)
committerYousong Zhou <redacted>
Sun, 30 Sep 2018 09:49:09 +0000 (17:49 +0800)
This is a special proto which should go into a separate package.

Signed-off-by: Florian Eckert <redacted>
protocols/luci-proto-ppp/luasrc/model/network/proto_ppp.lua
protocols/luci-proto-pppossh/Makefile [new file with mode: 0644]
protocols/luci-proto-pppossh/luasrc/model/cbi/admin_network/proto_pppossh.lua [moved from protocols/luci-proto-ppp/luasrc/model/cbi/admin_network/proto_pppossh.lua with 100% similarity]
protocols/luci-proto-pppossh/luasrc/model/network/proto_pppossh.lua [new file with mode: 0644]

index 3afb7de4f58fda0581fde075ba134c8237aab15a..f87b30fcc176237fb5670ae08edbe4c1ce3692bc 100644 (file)
@@ -4,7 +4,7 @@
 local netmod = luci.model.network
 
 local _, p
-for _, p in ipairs({"ppp", "pptp", "pppoe", "pppoa", "l2tp", "pppossh"}) do
+for _, p in ipairs({"ppp", "pptp", "pppoe", "pppoa", "l2tp"}) do
 
        local proto = netmod:register_protocol(p)
 
@@ -19,8 +19,6 @@ for _, p in ipairs({"ppp", "pptp", "pppoe", "pppoa", "l2tp", "pppossh"}) do
                        return luci.i18n.translate("PPPoATM")
                elseif p == "l2tp" then
                        return luci.i18n.translate("L2TP")
-               elseif p == "pppossh" then
-                       return luci.i18n.translate("PPPoSSH")
                end
        end
 
@@ -39,8 +37,6 @@ for _, p in ipairs({"ppp", "pptp", "pppoe", "pppoa", "l2tp", "pppossh"}) do
                        return "ppp-mod-pppoa"
                elseif p == "l2tp" then
                        return "xl2tpd"
-               elseif p == "pppossh" then
-                       return "pppossh"
                end
        end
 
@@ -53,8 +49,6 @@ for _, p in ipairs({"ppp", "pptp", "pppoe", "pppoa", "l2tp", "pppossh"}) do
                        return (nixio.fs.glob("/usr/lib/pppd/*/pptp.so")() ~= nil)
                elseif p == "l2tp" then
                        return nixio.fs.access("/lib/netifd/proto/l2tp.sh")
-               elseif p == "pppossh" then
-                       return nixio.fs.access("/lib/netifd/proto/pppossh.sh")
                else
                        return nixio.fs.access("/lib/netifd/proto/ppp.sh")
                end
diff --git a/protocols/luci-proto-pppossh/Makefile b/protocols/luci-proto-pppossh/Makefile
new file mode 100644 (file)
index 0000000..1c0a63b
--- /dev/null
@@ -0,0 +1,17 @@
+#
+# Copyright (C) 2018 Florian Eckert <fe@dev.tdt.de>
+#
+# This is free software, licensed under the Apache License, Version 2.0 .
+#
+
+include $(TOPDIR)/rules.mk
+
+LUCI_TITLE:=Support for pppossh
+LUCI_DEPENDS:=+pppossh
+
+PKG_LICENSE:=Apache-2.0
+PKG_MAINTAINER:=Yousong Zhou <yszhou4tech@gmail.com>
+
+include ../../luci.mk
+
+# call BuildPackage - OpenWrt buildroot signature
diff --git a/protocols/luci-proto-pppossh/luasrc/model/network/proto_pppossh.lua b/protocols/luci-proto-pppossh/luasrc/model/network/proto_pppossh.lua
new file mode 100644 (file)
index 0000000..a0e2a51
--- /dev/null
@@ -0,0 +1,40 @@
+-- Copyright 2018 Florian Eckert <fe@dev.tdt.de>
+-- Licensed to the public under the Apache License 2.0.
+
+local netmod = luci.model.network
+
+local proto = netmod:register_protocol("pppossh")
+
+function proto.get_i18n(self)
+       return luci.i18n.translate("PPPoSSH")
+end
+
+function proto.ifname(self)
+       return "pppossh-" .. self.sid
+end
+
+function proto.opkg_package(self)
+       return "pppossh"
+end
+
+function proto.is_installed(self)
+       return nixio.fs.access("/lib/netifd/proto/pppossh.sh")
+end
+
+function proto.is_floating(self)
+       return true
+end
+
+function proto.is_virtual(self)
+       return true
+end
+
+function proto.get_interfaces(self)
+       return nil
+end
+
+function proto.contains_interface(self, ifc)
+       return (netmod:ifnameof(ifc) == self:ifname())
+end
+
+netmod:register_pattern_virtual("^pppossh%-%w")
git clone https://git.99rst.org/PROJECT