* Mördercommit ;-)
authorSteven Barth <redacted>
Thu, 8 May 2008 15:37:41 +0000 (15:37 +0000)
committerSteven Barth <redacted>
Thu, 8 May 2008 15:37:41 +0000 (15:37 +0000)
* Major Repository Reorganisation
* API 0.4 Softfreeze to come

159 files changed:
INSTALL
Makefile [new file with mode: 0644]
README [deleted file]
applications/community-leipzig/Makefile [new file with mode: 0644]
applications/community-leipzig/root/etc/uci-defaults/ffluci-community-leipzig [new file with mode: 0644]
applications/luci-fw/Makefile [new file with mode: 0644]
applications/luci-fw/root/etc/config/luci_fw [moved from module/admin-core/contrib/uci/luci_fw with 100% similarity]
applications/luci-fw/root/etc/init.d/luci_fw [moved from module/admin-core/contrib/init.d/luci_fw with 100% similarity]
applications/luci-fw/src/model/cbi/admin_network/firewall.lua [moved from module/admin-core/src/model/cbi/admin_network/firewall.lua with 100% similarity]
applications/luci-fw/src/model/cbi/admin_network/portfw.lua [moved from module/admin-core/src/model/cbi/admin_network/portfw.lua with 100% similarity]
applications/luci-fw/src/model/menu/50luci-fw.lua [new file with mode: 0644]
applications/luci-splash/Makefile [new file with mode: 0644]
applications/luci-splash/root/etc/config/luci_splash [moved from contrib/package/ffluci-splash/src/luci_splash.uci with 100% similarity]
applications/luci-splash/root/etc/cron.minutely/luci_splash [moved from contrib/package/ffluci-splash/src/luci_splash.cron with 100% similarity]
applications/luci-splash/root/etc/init.d/luci_splash [moved from contrib/package/ffluci-splash/src/luci_splash.init with 100% similarity]
applications/luci-splash/root/etc/luci_splash_httpd.conf [moved from contrib/package/ffluci-splash/src/luci_splash_httpd.conf with 100% similarity]
applications/luci-splash/root/usr/lib/luci-splash/htdocs/cgi-bin/index.cgi [moved from contrib/package/ffluci-splash/src/luci-splash/htdocs/cgi-bin/index.cgi with 100% similarity]
applications/luci-splash/root/usr/lib/luci-splash/htdocs/index.html [moved from contrib/package/ffluci-splash/src/luci-splash/htdocs/index.html with 100% similarity]
applications/luci-splash/root/www/cgi-bin/luci_splash.cgi [moved from module/admin-core/contrib/luci-splash with 100% similarity]
applications/luci-splash/src/controller/controller.lua [moved from module/admin-core/src/controller/splash/splash.lua with 100% similarity]
applications/luci-splash/src/model/cbi/admin_services/splash.lua [moved from module/admin-core/src/model/cbi/admin_services/splash.lua with 100% similarity]
applications/luci-splash/src/model/menu/50luci-splash.lua [new file with mode: 0644]
applications/luci-splash/src/model/view/splash/splash.htm [moved from module/admin-core/src/view/splash/splash.htm with 100% similarity]
applications/luci-splash/src/model/view/splash_splash/index.htm [moved from module/admin-core/src/view/splash_splash/index.htm with 100% similarity]
applications/luci-splash/src/model/view/splash_splash/splash.htm [moved from module/admin-core/src/view/splash_splash/splash.htm with 100% similarity]
applications/sgi-haserl/Makefile [new file with mode: 0644]
applications/sgi-haserl/root/www/cgi-bin/ffluci [moved from core/contrib/ffluci with 100% similarity]
applications/sgi-haserl/root/www/cgi-bin/ffluci-upload [moved from core/contrib/ffluci-upload with 100% similarity]
applications/sgi-haserl/root/www/cgi-bin/index.cgi [moved from core/contrib/index.cgi with 100% similarity]
applications/sgi-haserl/root/www/index.html [moved from core/contrib/index.html with 100% similarity]
applications/sgi-haserl/src/sgi/haserl.lua [moved from core/src/ffluci/sgi/haserl.lua with 97% similarity]
applications/sgi-webuci/Makefile [new file with mode: 0644]
applications/sgi-webuci/root/lib/webuci/main.lua [moved from core/contrib/webuci_bootstrap.lua with 100% similarity]
applications/sgi-webuci/src/sgi/webuci.lua [moved from core/src/ffluci/sgi/webuci.lua with 97% similarity]
build/config.mk [new file with mode: 0644]
build/module.mk [new file with mode: 0644]
contrib/package/ffluci-splash/Makefile [deleted file]
contrib/package/ffluci-splash/ipkg/conffiles [deleted file]
contrib/package/ffluci-splash/src/luci-splash.lua [deleted file]
contrib/package/ffluci-system-addons/Makefile [deleted file]
contrib/package/ffluci/Makefile
contrib/package/ffluci/ipkg/conffiles [deleted file]
contrib/package/ffluci/ipkg/ffluci-community-leipzig.postinst [new file with mode: 0755]
contrib/package/ffluci/ipkg/ffluci-sgi-haserl.postinst [moved from contrib/package/ffluci/ipkg/ffluci.postinst with 100% similarity]
contrib/package/luci-addons/Makefile [new file with mode: 0644]
contrib/package/luci-addons/dist/etc/crontabs/root [moved from contrib/package/ffluci-system-addons/src/root.crontab with 100% similarity]
contrib/package/luci-addons/dist/etc/hotplug.d/iface/20-aliases [moved from contrib/package/ffluci-system-addons/src/hotplug.d-20-aliases with 100% similarity]
contrib/package/luci-addons/dist/sbin/ffluci-flash [moved from module/admin-core/contrib/ffluci-flash with 100% similarity]
contrib/package/luci-addons/dist/usr/bin/run-parts [moved from contrib/package/ffluci-system-addons/src/run-parts with 100% similarity]
core/Makefile
core/contrib/uci/freifunk [deleted file]
core/root/etc/config/luci [moved from core/contrib/uci/luci with 100% similarity]
core/src/bits.lua [moved from core/src/ffluci/bits.lua with 100% similarity]
core/src/cbi.lua [moved from core/src/ffluci/cbi.lua with 100% similarity]
core/src/config.lua [moved from core/src/ffluci/config.lua with 100% similarity]
core/src/debug.lua [moved from core/src/ffluci/debug.lua with 100% similarity]
core/src/dispatcher.lua [moved from core/src/ffluci/dispatcher.lua with 100% similarity]
core/src/fs.lua [moved from core/src/ffluci/fs.lua with 100% similarity]
core/src/http.lua [moved from core/src/ffluci/http.lua with 100% similarity]
core/src/i18n.lua [moved from core/src/ffluci/i18n.lua with 100% similarity]
core/src/i18n/cbi.en [moved from core/src/ffluci/i18n/cbi.en with 100% similarity]
core/src/i18n/default.en [moved from core/src/ffluci/i18n/default.en with 100% similarity]
core/src/init.lua [moved from core/src/ffluci/init.lua with 100% similarity]
core/src/menu.lua [moved from core/src/ffluci/menu.lua with 100% similarity]
core/src/model/ipkg.lua [moved from core/src/ffluci/model/ipkg.lua with 100% similarity]
core/src/model/uci.lua [moved from core/src/ffluci/model/uci.lua with 100% similarity]
core/src/model/uci/libuci.lua [moved from core/src/ffluci/model/uci/libuci.lua with 100% similarity]
core/src/model/uci/wrapper.lua [moved from core/src/ffluci/model/uci/wrapper.lua with 100% similarity]
core/src/sys.lua [moved from core/src/ffluci/sys.lua with 100% similarity]
core/src/template.lua [moved from core/src/ffluci/template.lua with 100% similarity]
core/src/util.lua [moved from core/src/ffluci/util.lua with 100% similarity]
core/src/view/cbi/dvalue.htm [moved from core/src/ffluci/view/cbi/dvalue.htm with 100% similarity]
core/src/view/cbi/footer.htm [moved from core/src/ffluci/view/cbi/footer.htm with 100% similarity]
core/src/view/cbi/fvalue.htm [moved from core/src/ffluci/view/cbi/fvalue.htm with 100% similarity]
core/src/view/cbi/header.htm [moved from core/src/ffluci/view/cbi/header.htm with 100% similarity]
core/src/view/cbi/lvalue.htm [moved from core/src/ffluci/view/cbi/lvalue.htm with 100% similarity]
core/src/view/cbi/map.htm [moved from core/src/ffluci/view/cbi/map.htm with 100% similarity]
core/src/view/cbi/mvalue.htm [moved from core/src/ffluci/view/cbi/mvalue.htm with 100% similarity]
core/src/view/cbi/nsection.htm [moved from core/src/ffluci/view/cbi/nsection.htm with 100% similarity]
core/src/view/cbi/tsection.htm [moved from core/src/ffluci/view/cbi/tsection.htm with 100% similarity]
core/src/view/cbi/ucisection.htm [moved from core/src/ffluci/view/cbi/ucisection.htm with 100% similarity]
core/src/view/cbi/value.htm [moved from core/src/ffluci/view/cbi/value.htm with 100% similarity]
core/src/view/cbi/valuefooter.htm [moved from core/src/ffluci/view/cbi/valuefooter.htm with 100% similarity]
core/src/view/cbi/valueheader.htm [moved from core/src/ffluci/view/cbi/valueheader.htm with 100% similarity]
core/src/view/error404.htm [moved from core/src/ffluci/view/error404.htm with 100% similarity]
core/src/view/error500.htm [moved from core/src/ffluci/view/error500.htm with 100% similarity]
core/src/view/footer.htm [moved from core/src/ffluci/view/footer.htm with 100% similarity]
core/src/view/header.htm [moved from core/src/ffluci/view/header.htm with 100% similarity]
module/admin-core/Makefile [deleted file]
module/admin-core/contrib/init.d/luci_freifunk [deleted file]
module/admin-core/src/controller/admin/index.lua [deleted file]
module/admin-core/src/model/cbi/admin_index/contact.lua [deleted file]
module/admin-core/src/model/cbi/admin_index/freifunk.lua [deleted file]
module/public-core/Makefile [deleted file]
module/public-core/src/controller/public/index.lua [deleted file]
module/public-core/src/controller/public/olsr.lua [deleted file]
module/public-core/src/controller/public/status.lua [deleted file]
module/public-core/src/controller/sudo/status.lua [deleted file]
module/public-core/src/model/menu/00public.lua [deleted file]
module/public-core/src/view/public_index/contact.htm [deleted file]
module/public-core/src/view/public_index/index.htm [deleted file]
module/public-core/src/view/public_olsr/error_olsr.htm [deleted file]
module/public-core/src/view/public_olsr/hna.htm [deleted file]
module/public-core/src/view/public_olsr/index.htm [deleted file]
module/public-core/src/view/public_olsr/mid.htm [deleted file]
module/public-core/src/view/public_olsr/routes.htm [deleted file]
module/public-core/src/view/public_olsr/topology.htm [deleted file]
module/public-core/src/view/public_status/index.htm [deleted file]
module/public-core/src/view/public_status/iwscan.htm [deleted file]
module/public-core/src/view/public_status/routes.htm [deleted file]
module/public-core/src/view/sudo_status/iwconfig.htm [deleted file]
module/public-core/src/view/sudo_status/iwscan.htm [deleted file]
module/rpc-core/Makefile [deleted file]
module/rpc-core/src/controller/rpc/luciinfo.lua [deleted file]
modules/admin-core/Makefile [new file with mode: 0644]
modules/admin-core/src/controller/admin/index.lua [new file with mode: 0644]
modules/admin-core/src/controller/admin/network.lua [moved from module/admin-core/src/controller/admin/network.lua with 100% similarity]
modules/admin-core/src/controller/admin/services.lua [moved from module/admin-core/src/controller/admin/services.lua with 100% similarity]
modules/admin-core/src/controller/admin/system.lua [moved from module/admin-core/src/controller/admin/system.lua with 100% similarity]
modules/admin-core/src/controller/admin/uci.lua [moved from module/admin-core/src/controller/admin/uci.lua with 100% similarity]
modules/admin-core/src/controller/admin/wifi.lua [moved from module/admin-core/src/controller/admin/wifi.lua with 100% similarity]
modules/admin-core/src/i18n/admin_index.en [moved from module/admin-core/src/i18n/admin_index.en with 69% similarity]
modules/admin-core/src/i18n/admin_uci.en [moved from module/admin-core/src/i18n/admin_uci.en with 100% similarity]
modules/admin-core/src/model/cbi/admin_index/luci.lua [moved from module/admin-core/src/model/cbi/admin_index/luci.lua with 100% similarity]
modules/admin-core/src/model/cbi/admin_network/dhcp.lua [moved from module/admin-core/src/model/cbi/admin_network/dhcp.lua with 100% similarity]
modules/admin-core/src/model/cbi/admin_network/ifaces.lua [moved from module/admin-core/src/model/cbi/admin_network/ifaces.lua with 100% similarity]
modules/admin-core/src/model/cbi/admin_network/ptp.lua [moved from module/admin-core/src/model/cbi/admin_network/ptp.lua with 100% similarity]
modules/admin-core/src/model/cbi/admin_network/qos.lua [moved from module/admin-core/src/model/cbi/admin_network/qos.lua with 100% similarity]
modules/admin-core/src/model/cbi/admin_network/routes.lua [moved from module/admin-core/src/model/cbi/admin_network/routes.lua with 100% similarity]
modules/admin-core/src/model/cbi/admin_network/vlan.lua [moved from module/admin-core/src/model/cbi/admin_network/vlan.lua with 100% similarity]
modules/admin-core/src/model/cbi/admin_services/dnsmasq.lua [moved from module/admin-core/src/model/cbi/admin_services/dnsmasq.lua with 100% similarity]
modules/admin-core/src/model/cbi/admin_services/dropbear.lua [moved from module/admin-core/src/model/cbi/admin_services/dropbear.lua with 100% similarity]
modules/admin-core/src/model/cbi/admin_services/httpd.lua [moved from module/admin-core/src/model/cbi/admin_services/httpd.lua with 100% similarity]
modules/admin-core/src/model/cbi/admin_services/olsrd.lua [moved from module/admin-core/src/model/cbi/admin_services/olsrd.lua with 100% similarity]
modules/admin-core/src/model/cbi/admin_system/fstab.lua [moved from module/admin-core/src/model/cbi/admin_system/fstab.lua with 100% similarity]
modules/admin-core/src/model/cbi/admin_system/hostname.lua [moved from module/admin-core/src/model/cbi/admin_system/hostname.lua with 100% similarity]
modules/admin-core/src/model/cbi/admin_wifi/devices.lua [moved from module/admin-core/src/model/cbi/admin_wifi/devices.lua with 100% similarity]
modules/admin-core/src/model/cbi/admin_wifi/networks.lua [moved from module/admin-core/src/model/cbi/admin_wifi/networks.lua with 100% similarity]
modules/admin-core/src/model/menu/00admin.lua [moved from module/admin-core/src/model/menu/00admin.lua with 76% similarity]
modules/admin-core/src/view/admin_index/index.htm [moved from module/admin-core/src/view/admin_index/index.htm with 100% similarity]
modules/admin-core/src/view/admin_index/wizard.htm [moved from module/admin-core/src/view/admin_index/wizard.htm with 100% similarity]
modules/admin-core/src/view/admin_network/index.htm [moved from module/admin-core/src/view/admin_network/index.htm with 100% similarity]
modules/admin-core/src/view/admin_services/index.htm [moved from module/admin-core/src/view/admin_services/index.htm with 100% similarity]
modules/admin-core/src/view/admin_system/editor.htm [moved from module/admin-core/src/view/admin_system/editor.htm with 100% similarity]
modules/admin-core/src/view/admin_system/index.htm [moved from module/admin-core/src/view/admin_system/index.htm with 100% similarity]
modules/admin-core/src/view/admin_system/ipkg.htm [moved from module/admin-core/src/view/admin_system/ipkg.htm with 100% similarity]
modules/admin-core/src/view/admin_system/packages.htm [moved from module/admin-core/src/view/admin_system/packages.htm with 100% similarity]
modules/admin-core/src/view/admin_system/passwd.htm [moved from module/admin-core/src/view/admin_system/passwd.htm with 100% similarity]
modules/admin-core/src/view/admin_system/reboot.htm [moved from module/admin-core/src/view/admin_system/reboot.htm with 100% similarity]
modules/admin-core/src/view/admin_system/sshkeys.htm [moved from module/admin-core/src/view/admin_system/sshkeys.htm with 100% similarity]
modules/admin-core/src/view/admin_system/upgrade.htm [moved from module/admin-core/src/view/admin_system/upgrade.htm with 100% similarity]
modules/admin-core/src/view/admin_uci/apply.htm [moved from module/admin-core/src/view/admin_uci/apply.htm with 100% similarity]
modules/admin-core/src/view/admin_uci/changes.htm [moved from module/admin-core/src/view/admin_uci/changes.htm with 100% similarity]
modules/admin-core/src/view/admin_uci/revert.htm [moved from module/admin-core/src/view/admin_uci/revert.htm with 100% similarity]
modules/admin-core/src/view/admin_wifi/index.htm [moved from module/admin-core/src/view/admin_wifi/index.htm with 100% similarity]
themes/fledermaus/Makefile [new file with mode: 0644]
themes/fledermaus/root/www/ffluci/media/cascade.css [moved from themes/fledermaus/contrib/media/cascade.css with 100% similarity]
themes/fledermaus/root/www/ffluci/media/cbi.js [moved from themes/fledermaus/contrib/media/cbi.js with 100% similarity]
themes/fledermaus/root/www/ffluci/media/logo.png [moved from themes/fledermaus/contrib/media/logo.png with 100% similarity]

diff --git a/INSTALL b/INSTALL
index 8c3bbe8d7a026b0ddea575f519f652fd16d37b4a..062054411671a916e2188cccc31250385e6e8bd8 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -13,7 +13,7 @@ TOC:
                
        3. Run ./scripts/feeds update
        
-       4. Run ./scripts/feeds install ffluci
+       4. Run ./scripts/feeds install ffluci-meta
        
        5. Type make menuconfig and you will find ffluci in the menu "Administration"
        
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..a57acf4
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,22 @@
+include build/config.mk
+
+MODULES = applications/* core modules/* themes/*
+LUA_TARGET = source
+
+
+.PHONY: all build clean host hostclean
+
+all: build
+
+build:
+       for i in $(MODULES); do make -C$$i $(LUA_TARGET); done
+
+clean:
+       for i in $(MODULES); do make -C$$i clean; done
+
+host: build
+       mkdir -p host/ffluci
+       for i in $(MODULES); do cp $$i/dist$(LUCI_INSTALLDIR) host/ffluci -R; done
+       
+hostclean:
+       rm host -rf
\ No newline at end of file
diff --git a/README b/README
deleted file mode 100644 (file)
index 422eddf..0000000
--- a/README
+++ /dev/null
@@ -1,50 +0,0 @@
-FFLuCI - Freifunk Lua Configuration Interface
-
-This is a leightweight MVC-Webframework for small embedded devices.
-It uses the the Lua programming language and relies on Haserl.
-
-It consists of several parts:
-
-MVC Dispatcher
-       Simple PATH_INFO based dispatching mechanism using Lua modules
-
-
-Template engine
-       Support for plain and compiled templates, on-demand compiling support
-       Short markups:
-               <% Lua-Code %> 
-               <%= Lua-Code with return value %>
-               <%:i18nkey default translation%>
-               <%+template-to-be-included%>
-               <%~uci.short.cut%>
-
-       Predefined variables for controller dir and media dir
-       
-
-Configuration Bind Interface (CBI)
-       Generates and validates XHTML-Forms out of an UCI model description
-       Makes it very easy to create webinterface pages that manipulate UCI files
-
-
-i18n Translation support
-       Simple multi-language per-module internationalization support
-
-
-UCI wrapper support
-       Lua UCI-Wrapper adapting the CLI of the uci binary
-
-
-Menu Building support
-       Supports menu building for modules and exported actions
-
-
-HTTP-Abstraction and Formvalue validation support
-       HTTP-Redirect, Statuscode, Content-Type abstraction
-       Dynamic formvalue validation support including varaible type and
-       value range validation
-
-       
-Known issues:
-       There is a bug in older versions of busybox-httpd (as those in Kamikaze 7.09)
-       that do not handle Status-headers correctly making valid HTTP-Redirects impossible.
-       Using a newer version of Kamikaze should fix this.
\ No newline at end of file
diff --git a/applications/community-leipzig/Makefile b/applications/community-leipzig/Makefile
new file mode 100644 (file)
index 0000000..81a96f6
--- /dev/null
@@ -0,0 +1,2 @@
+include ../../build/config.mk
+include ../../build/module.mk
\ No newline at end of file
diff --git a/applications/community-leipzig/root/etc/uci-defaults/ffluci-community-leipzig b/applications/community-leipzig/root/etc/uci-defaults/ffluci-community-leipzig
new file mode 100644 (file)
index 0000000..e73ff91
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/sh
+uci batch <<-EOF
+        set freifunk.community.name='Freifunk Leipzig'
+        set freifunk.community.homepage=http://leipzig.freifunk.net
+        set freifunk.community.essid=leipzig.freifunk.net
+        set freifunk.community.bssid=02:CA:FF:EE:BA:BE
+        set freifunk.community.realm=db.leipzig.freifunk.net
+        set freifunk.community.channel=1
+        set freifunk.community.net=104.0.0.0
+        set freifunk.community.mask=255.0.0.0
+        set freifunk.community.dhcp=10.0.0.0
+        set freifunk.community.dhcpmask=255.255.255.0
+        set freifunk.community.dns='88.198.178.18 141.54.1.1 212.204.49.83 208.67.220.220 208.67.222.222'
+EOF
+       
\ No newline at end of file
diff --git a/applications/luci-fw/Makefile b/applications/luci-fw/Makefile
new file mode 100644 (file)
index 0000000..81a96f6
--- /dev/null
@@ -0,0 +1,2 @@
+include ../../build/config.mk
+include ../../build/module.mk
\ No newline at end of file
diff --git a/applications/luci-fw/src/model/menu/50luci-fw.lua b/applications/luci-fw/src/model/menu/50luci-fw.lua
new file mode 100644 (file)
index 0000000..93aba2f
--- /dev/null
@@ -0,0 +1,3 @@
+sel("admin", "network")
+act("portfw", "Portweiterleitung")
+act("firewall", "Firewall")
\ No newline at end of file
diff --git a/applications/luci-splash/Makefile b/applications/luci-splash/Makefile
new file mode 100644 (file)
index 0000000..81a96f6
--- /dev/null
@@ -0,0 +1,2 @@
+include ../../build/config.mk
+include ../../build/module.mk
\ No newline at end of file
diff --git a/applications/luci-splash/src/model/menu/50luci-splash.lua b/applications/luci-splash/src/model/menu/50luci-splash.lua
new file mode 100644 (file)
index 0000000..99f7caa
--- /dev/null
@@ -0,0 +1,2 @@
+sel("admin", "services")
+act("splash", "Client-Splash")
\ No newline at end of file
diff --git a/applications/sgi-haserl/Makefile b/applications/sgi-haserl/Makefile
new file mode 100644 (file)
index 0000000..81a96f6
--- /dev/null
@@ -0,0 +1,2 @@
+include ../../build/config.mk
+include ../../build/module.mk
\ No newline at end of file
similarity index 97%
rename from core/src/ffluci/sgi/haserl.lua
rename to applications/sgi-haserl/src/sgi/haserl.lua
index 7e9854d7d38505868a93b92bfa675488a520eb13..027697e2e4e48ec20afea99b7ba5f2661b06da62 100644 (file)
@@ -5,7 +5,7 @@ Description:
 Server Gateway Interface for Haserl
 
 FileId:
-$Id$
+$Id: haserl.lua 2027 2008-05-07 21:16:35Z Cyrus $
 
 License:
 Copyright 2008 Steven Barth <steven@midlink.org>
diff --git a/applications/sgi-webuci/Makefile b/applications/sgi-webuci/Makefile
new file mode 100644 (file)
index 0000000..81a96f6
--- /dev/null
@@ -0,0 +1,2 @@
+include ../../build/config.mk
+include ../../build/module.mk
\ No newline at end of file
similarity index 97%
rename from core/src/ffluci/sgi/webuci.lua
rename to applications/sgi-webuci/src/sgi/webuci.lua
index 5e17ab7935607a092593e613f67669cd58166a16..bc1c7be7a235b33ddf231a43a3cb6038bd139d22 100644 (file)
@@ -5,7 +5,7 @@ Description:
 Server Gateway Interface for Haserl
 
 FileId:
-$Id$
+$Id: webuci.lua 2027 2008-05-07 21:16:35Z Cyrus $
 
 License:
 Copyright 2008 Steven Barth <steven@midlink.org>
diff --git a/build/config.mk b/build/config.mk
new file mode 100644 (file)
index 0000000..af0b443
--- /dev/null
@@ -0,0 +1,3 @@
+LUAC = luac
+LUAC_OPTIONS = -s
+LUCI_INSTALLDIR = /usr/lib/lua/ffluci
\ No newline at end of file
diff --git a/build/module.mk b/build/module.mk
new file mode 100644 (file)
index 0000000..2869274
--- /dev/null
@@ -0,0 +1,15 @@
+.PHONY: all compile source clean
+
+all: compile
+
+source:
+       mkdir -p dist$(LUCI_INSTALLDIR)
+       cp root dist -R
+       cp src dist$(LUCI_INSTALLDIR) -R
+       for i in $$(find dist -name .svn); do rm $$i -rf; done  
+       
+compile: source
+       for i in $$(find dist -name *.lua); do $(LUAC) $(LUAC_OPTIONS) -o $$i $$i; done
+       
+clean:
+       rm dist -rf
\ No newline at end of file
diff --git a/contrib/package/ffluci-splash/Makefile b/contrib/package/ffluci-splash/Makefile
deleted file mode 100644 (file)
index 3ea123f..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=ffluci-splash
-PKG_VERSION:=0.1
-PKG_RELEASE:=1
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
-PKG_BUILD_DEPENDS:=lua-luci
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/ffluci-splash
-  SECTION:=admin
-  CATEGORY:=Administration
-  SUBMENU:=FFLuCI
-  DEPENDS:=+ffluci +iptables-mod-nat +lua-luci
-  TITLE:=FFLuCI DHCP-Splash
-endef
-
-define Build/Compile
-endef
-
-define Package/ffluci-splash/install
-       $(INSTALL_DIR) $(1)/usr/lib/luci-splash/htdocs/cgi-bin
-       $(INSTALL_DIR) $(1)/etc/config
-       $(INSTALL_DIR) $(1)/etc/cron.minutely
-       $(INSTALL_DIR) $(1)/etc/init.d
-       $(INSTALL_DIR) $(1)/usr/sbin
-       
-       $(CP) -a ./src/luci-splash/* $(1)/usr/lib/luci-splash/ -R
-       $(INSTALL_BIN) ./src/luci-splash/htdocs/cgi-bin/index.cgi $(1)/usr/lib/luci-splash/htdocs/cgi-bin
-       $(INSTALL_BIN) ./src/luci_splash.init $(1)/etc/init.d/luci_splash
-       $(INSTALL_BIN) ./src/luci-splash.lua $(1)/usr/sbin/luci-splash
-       
-       $(INSTALL_BIN) ./src/luci_splash.cron $(1)/etc/cron.minutely/luci-splash
-       $(CP) -a ./src/luci_splash.uci $(1)/etc/config/luci_splash
-       $(CP) -a ./src/luci_splash_httpd.conf $(1)/etc/
-       
-       $(CP) -a ./ipkg/conffiles $(1)/CONTROL/conffiles
-endef
-
-$(eval $(call BuildPackage,ffluci-splash))
diff --git a/contrib/package/ffluci-splash/ipkg/conffiles b/contrib/package/ffluci-splash/ipkg/conffiles
deleted file mode 100644 (file)
index dcbe1ad..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/config/luci_splash
\ No newline at end of file
diff --git a/contrib/package/ffluci-splash/src/luci-splash.lua b/contrib/package/ffluci-splash/src/luci-splash.lua
deleted file mode 100644 (file)
index 2fa6bdd..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-#!/usr/bin/lua
-package.path  = "/usr/lib/lua/?.lua;/usr/lib/lua/?/init.lua;" .. package.path
-package.cpath = "/usr/lib/lua/?.so;" .. package.cpath
-
-require("ffluci.http")
-require("ffluci.sys")
-require("ffluci.model.uci")
-
--- Init state session
-uci = ffluci.model.uci.StateSession()
-
-
-function main(argv)
-       local cmd = argv[1]
-       local arg = argv[2]
-       
-       if cmd == "status" then
-               if not arg then
-                       os.exit(1)
-               end
-               
-               if iswhitelisted(arg) then
-                       print("whitelisted")
-                       os.exit(0)
-               end
-               
-               if haslease(arg) then
-                       print("lease")
-                       os.exit(0)
-               end             
-               
-               print("unknown")
-               os.exit(0)
-       elseif cmd == "add" then
-               if not arg then
-                       os.exit(1)
-               end
-               
-               if not haslease(arg) then
-                       add_lease(arg)
-               else
-                       print("already leased!")
-                       os.exit(2)
-               end
-               os.exit(0)
-       elseif cmd == "remove" then
-               if not arg then
-                       os.exit(1)
-               end
-               
-               remove_lease(arg)
-               os.exit(0)              
-       elseif cmd == "sync" then
-               sync()
-               os.exit(0)
-       else
-               print("Usage: " .. argv[0] .. " <status|add|remove|sync> [MAC]")
-               os.exit(1)      
-       end
-end
-
--- Add a lease to state and invoke add_rule
-function add_lease(mac)
-       local key = uci:add("luci_splash", "lease")
-       uci:set("luci_splash", key, "mac", mac)
-       uci:set("luci_splash", key, "start", os.time())
-       add_rule(mac)
-end
-
-
--- Remove a lease from state and invoke remove_rule
-function remove_lease(mac)
-       mac = mac:lower()
-
-       for k, v in pairs(uci:sections("luci_splash")) do
-               if v[".type"] == "lease" and v.mac:lower() == mac then
-                       remove_rule(mac)
-                       uci:del("luci_splash", k)
-               end
-       end
-end
-
-
--- Add an iptables rule
-function add_rule(mac)
-       return os.execute("iptables -t nat -I luci_splash_leases -m mac --mac-source '"..mac.."' -j RETURN")
-end
-
-
--- Remove an iptables rule
-function remove_rule(mac)
-       return os.execute("iptables -t nat -D luci_splash_leases -m mac --mac-source '"..mac.."' -j RETURN")
-end
-
-
--- Check whether a MAC-Address is listed in the lease state list
-function haslease(mac)
-       mac = mac:lower()
-       
-       for k, v in pairs(uci:sections("luci_splash")) do
-               if v[".type"] == "lease" and v.mac and v.mac:lower() == mac then
-                       return true
-               end
-       end
-       
-       return false
-end
-
-
--- Check whether a MAC-Address is whitelisted
-function iswhitelisted(mac)
-       mac = mac:lower()
-       
-       for k, v in pairs(uci:sections("luci_splash")) do
-               if v[".type"] == "whitelist" and v.mac and v.mac:lower() == mac then
-                       return true
-               end
-       end
-       
-       return false
-end
-
-
--- Returns a list of MAC-Addresses for which a rule is existing
-function listrules()
-       local cmd = "iptables -t nat -L luci_splash_leases | grep RETURN |"
-       cmd = cmd .. "egrep -io [0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+"
-       return ffluci.util.split(ffluci.sys.exec(cmd))
-end
-
-
--- Synchronise leases, remove abandoned rules
-function sync()
-       local written = {}
-       local time = os.time()
-       
-       uci:t_load("luci_splash")
-       
-       -- Current leases in state files
-       local leases = uci:t_sections("luci_splash")
-       
-       -- Convert leasetime to seconds
-       local leasetime = tonumber(uci:t_get("luci_splash", "general", "leasetime")) * 3600
-       
-       -- Clean state file
-       uci:t_revert("luci_splash")
-       
-       
-       -- For all leases
-       for k, v in pairs(leases) do
-               if v[".type"] == "lease" then
-                       if os.difftime(time, tonumber(v.start)) > leasetime then
-                               -- Remove expired
-                               remove_rule(v.mac)
-                       else
-                               -- Rewrite state
-                               local n = uci:t_add("luci_splash", "lease")
-                               uci:t_set("luci_splash", n, "mac", v.mac)
-                               uci:t_set("luci_splash", n, "start", v.start)
-                               written[v.mac:lower()] = 1
-                       end
-               end
-       end
-       
-       
-       -- Delete rules without state
-       for i, r in ipairs(listrules()) do
-               if #r > 0 and not written[r:lower()] then
-                       remove_rule(r)
-               end
-       end
-       
-       uci:t_save("luci_splash")
-end
-
-main(arg)
\ No newline at end of file
diff --git a/contrib/package/ffluci-system-addons/Makefile b/contrib/package/ffluci-system-addons/Makefile
deleted file mode 100644 (file)
index 622871f..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=ffluci-system-addons
-PKG_VERSION:=0.1
-PKG_RELEASE:=1
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/ffluci-system-addons
-  SECTION:=admin
-  CATEGORY:=Administration
-  SUBMENU:=FFLuCI
-  TITLE:=FFLuCI System Addons for Kamikaze
-endef
-
-define Build/Compile
-endef
-
-define Package/ffluci-system-addons/install
-       $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_DIR) $(1)/etc/crontabs
-       $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
-
-       $(INSTALL_BIN) ./src/run-parts $(1)/usr/bin
-       $(CP) ./src/root.crontab $(1)/etc/crontabs/root
-       $(CP) ./src/hotplug.d-20-aliases $(1)/etc/hotplug.d/iface/20-aliases
-endef
-
-$(eval $(call BuildPackage,ffluci-system-addons))
index 1b0f80e6b6b946ccf00abb445c8d10f9641f0dec..32d82b500b7000e837ba42fa6f87180b96deb695 100644 (file)
 include $(TOPDIR)/rules.mk
 
+PKG_BRANCH:=trunk
+PKG_SOURCE_URL:=https://dev.leipzig.freifunk.net/svn/ff-luci/$(PKG_BRANCH)
+PKG_REV:=$(shell LC_ALL=C svn info ${PKG_SOURCE_URL} | sed -ne's/^Last Changed Rev: //p')
+
 PKG_NAME:=ffluci
-PKG_REV:=HEAD
-PKG_VERSION:=0.3+svn$(PKG_REV)
+PKG_VERSION:=0.4+svn$(PKG_REV)
 PKG_RELEASE:=1
-PKG_BRANCH:=trunk
 
+PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
 PKG_SOURCE_PROTO:=svn
 PKG_SOURCE_VERSION:=$(PKG_REV)
-PKG_SOURCE_URL:=https://dev.leipzig.freifunk.net/svn/ff-luci/$(PKG_BRANCH)
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
+
+PKG_BUILD_DEPENDS:=lua-luci
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
 
-PKG_BUILD_DEPENDS:=lua-luci
+# LUA_TARGET:=compile LUAC=$(BUILD_DIR_HOST)/lua-luci/luac
+LUA_TARGET:=source
 
-# MAKE_ACTION:=compile LUAC=$(BUILD_DIR_HOST)/lua-luci/luac
-MAKE_ACTION:=source
 
 include $(INCLUDE_DIR)/package.mk
 
-define Package/ffluci
+define Build/Configure
+endef
+
+define Build/Compile
+       $(MAKE) -C$(PKG_BUILD_DIR) build LUA_TARGET=$(LUA_TARGET)
+endef
+
+
+define Package/ffluci/template
   SECTION:=admin
   CATEGORY:=Administration
-  TITLE:=FFLuCI
-  SUBMENU:=FFLuCI
-  DEPENDS:=+luaposix +haserl-lua +ffluci-system-addons
+  TITLE:=FFLuCI - Freifunk Lua Configuration Interface
+  URL:=http://luci.freifunk-halle.net/
   MAINTAINER:=Steven Barth <steven-at-midlink-dot-org>
 endef
 
-define Build/Configure
+define Package/ffluci/install/template
+  $(CP) $(PKG_BUILD_DIR)/$(2)/dist/* $(1)/ -R
+  
+  for i in $(PKG_BUILD_DIR)/$(2)/dist/usr/bin/*; do $(INSTALL_BIN) $$i $(1)/usr/bin/; done
+  for i in $(PKG_BUILD_DIR)/$(2)/dist/usr/sbin/*; do $(INSTALL_BIN) $$i $(1)/usr/sbin/; done
+  for i in $(PKG_BUILD_DIR)/$(2)/dist/bin/*; do $(INSTALL_BIN) $$i $(1)/bin/; done
+  for i in $(PKG_BUILD_DIR)/$(2)/dist/sbin/*; do $(INSTALL_BIN) $$i $(1)/sbin/; done
 endef
 
-define Build/Compile
-       $(MAKE) -C $(PKG_BUILD_DIR)/core $(MAKE_ACTION)
-       $(MAKE) -C $(PKG_BUILD_DIR)/module/admin-core $(MAKE_ACTION)
-       $(MAKE) -C $(PKG_BUILD_DIR)/module/public-core $(MAKE_ACTION)
-       $(MAKE) -C $(PKG_BUILD_DIR)/module/rpc-core $(MAKE_ACTION)
+
+define Package/ffluci
+  $(call Package/ffluci/template)
+  MENU:=1
+  DEPENDS:=+lua-luci +luaposix +luci-addons
+endef
+
+define Package/ffluci/conffiles
+/etc/config/luci
 endef
 
 define Package/ffluci/install          
-       $(INSTALL_DIR) $(1)/usr/lib/lua/ffluci
-       $(INSTALL_DIR) $(1)/www/cgi-bin
-       $(INSTALL_DIR) $(1)/www/ffluci
-       $(INSTALL_DIR) $(1)/etc/config
-       $(INSTALL_DIR) $(1)/etc/init.d
-       $(INSTALL_DIR) $(1)/sbin
-       $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
-       
-       $(CP) $(PKG_BUILD_DIR)/core/dist/* $(1)/usr/lib/lua/ -R
-       $(CP) $(PKG_BUILD_DIR)/core/contrib/uci/* $(1)/etc/config/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/core/contrib/ffluci $(1)/www/cgi-bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/core/contrib/ffluci-upload $(1)/www/cgi-bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/core/contrib/index.cgi $(1)/www/cgi-bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/core/contrib/index.html $(1)/www
-       
-       $(CP) $(PKG_BUILD_DIR)/themes/fledermaus/contrib/media $(1)/www/ffluci/ -R
-               
-       $(CP) $(PKG_BUILD_DIR)/module/admin-core/dist/* $(1)/usr/lib/lua/ffluci/ -R
-       $(CP) $(PKG_BUILD_DIR)/module/admin-core/contrib/uci/luci_fw $(1)/etc/config/luci_fw
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/module/admin-core/contrib/init.d/luci_fw $(1)/etc/init.d/luci_fw
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/module/admin-core/contrib/init.d/luci_freifunk $(1)/etc/init.d/luci_freifunk
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/module/admin-core/contrib/ffluci-flash $(1)/sbin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/module/admin-core/contrib/luci-splash $(1)/www/cgi-bin
-       
-       $(CP) $(PKG_BUILD_DIR)/module/public-core/dist/* $(1)/usr/lib/lua/ffluci/ -R
-       $(CP) $(PKG_BUILD_DIR)/module/public-core/contrib/media $(1)/www/ffluci/ -R
-       
-       $(CP) $(PKG_BUILD_DIR)/module/rpc-core/dist/* $(1)/usr/lib/lua/ffluci/ -R
-       
-       $(CP) -a ./ipkg/ffluci.postinst $(1)/CONTROL/postinst
-       $(CP) -a ./ipkg/conffiles $(1)/CONTROL/conffiles
-       rm $(DL_DIR)/$(PKG_SOURCE)
-endef
-
-$(eval $(call BuildPackage,ffluci))
\ No newline at end of file
+  $(call Package/ffluci/install/template,$(1),core)
+  $(call Package/ffluci/install/template,$(1),themes/fledermaus)
+endef
+
+
+
+### Meta Packages ###
+
+define Package/ffluci-freifunk-meta
+  $(call Package/ffluci/template)
+  DEPENDS:=+ffluci +ffluci-sgi-haserl +ffluci-freifunk +ffluci-firewall +ffluci-splash
+  TITLE:=Freifunk Meta-Package
+endef
+
+define Package/ffluci-meta/install
+endef
+
+
+define Package/ffluci-freifunk-halle
+  $(call Package/ffluci/template)
+  DEPENDS:=+ffluci-freifunk-meta +kmod-tun
+  TITLE:=Community Meta-Package Halle
+endef
+
+define Package/ffluci-freifunk-halle/install
+endef
+
+
+define Package/ffluci-freifunk-leipzig
+  $(call Package/ffluci/template)
+  DEPENDS:=+ffluci-freifunk-meta +kmod-tun
+  TITLE:=Community Meta-Package Leipzig
+endef
+
+define Package/ffluci-freifunk-leipzig/install
+  $(call Package/ffluci/install/template,$(1),applications/community-leipzig)
+endef
+
+
+
+### Modules ###
+
+define Package/ffluci-module-admin-core
+  $(call Package/ffluci/template)
+  DEPENDS:=+ffluci
+  TITLE:=Core Administrative pages for FFLuCI
+endef
+
+define Package/ffluci-module-admin-core/install
+  $(call Package/ffluci/install/template,$(1),modules/admin-core)
+endef
+
+
+define Package/ffluci-module-freifunk
+  $(call Package/ffluci/template)
+  DEPENDS:=+ffluci +ffluci-module-admin-core
+  TITLE:=Freifunk public and configuration pages
+endef
+
+define Package/ffluci-module-freifunk/conffiles
+/etc/config/freifunk
+endef
+
+define Package/ffluci-module-freifunk/install
+  $(call Package/ffluci/install/template,$(1),modules/freifunk)
+endef
+
+
+
+### Applications ###
+
+define Package/ffluci-firewall
+  $(call Package/ffluci/template)
+  DEPENDS:=+ffluci +ffluci-module-admin-core
+  TITLE:=Firewall and Portforwarding module
+endef
+
+define Package/ffluci-firewall/conffiles
+/etc/config/luci_fw
+endef
+
+define Package/ffluci-firewall/install
+  $(call Package/ffluci/install/template,$(1),applications/luci-fw)
+endef
+
+
+define Package/ffluci-splash
+  $(call Package/ffluci/template)
+  DEPENDS:=+ffluci +ffluci-freifunk +ffluci-sgi-haserl +iptables-mod-nat
+  TITLE:=Freifunk DHCP-Splash
+endef
+
+define Package/ffluci-splash/conffiles
+/etc/config/luci_splash
+endef
+
+define Package/ffluci-splash/install
+  $(call Package/ffluci/install/template,$(1),applications/luci-splash)
+endef
+
+
+
+### Server Gateway Interfaces ###
+
+define Package/ffluci-sgi-haserl
+  $(call Package/ffluci/template)
+  DEPENDS:=+ffluci +haserl-lua
+  TITLE:=SGI for Haserl on top of Busybox httpd
+endef
+
+define Package/ffluci-sgi-haserl/install
+  $(call Package/ffluci/install/template,$(1),applications/sgi-haserl)
+endef
+
+
+define Package/ffluci-sgi-webuci
+  $(call Package/ffluci/template)
+  DEPENDS:=+ffluci
+  TITLE:=SGI for Webuci
+endef
+
+define Package/ffluci-sgi-webuci/install
+  $(call Package/ffluci/install/template,$(1),applications/sgi-webuci)
+endef
+
+
+
+
+$(eval $(call BuildPackage,ffluci))
+
+$(eval $(call BuildPackage,ffluci-freifunk-meta))
+$(eval $(call BuildPackage,ffluci-freifunk-halle))
+$(eval $(call BuildPackage,ffluci-freifunk-leipzig))
+
+$(eval $(call BuildPackage,ffluci-module-admin-core))
+$(eval $(call BuildPackage,ffluci-module-freifunk))
+
+$(eval $(call BuildPackage,ffluci-firewall))
+$(eval $(call BuildPackage,ffluci-splash))
+
+$(eval $(call BuildPackage,ffluci-sgi-haserl))
+$(eval $(call BuildPackage,ffluci-sgi-webuci))
\ No newline at end of file
diff --git a/contrib/package/ffluci/ipkg/conffiles b/contrib/package/ffluci/ipkg/conffiles
deleted file mode 100644 (file)
index 098dbf9..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-/etc/config/luci
-/etc/config/luci_fw
\ No newline at end of file
diff --git a/contrib/package/ffluci/ipkg/ffluci-community-leipzig.postinst b/contrib/package/ffluci/ipkg/ffluci-community-leipzig.postinst
new file mode 100755 (executable)
index 0000000..26eace9
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+[ -n "${IPKG_INSTROOT}" ] || {
+       ( . /etc/uci-defaults/ffluci-community-leipzig ) &&     rm -f /etc/uci-defaults/ffluci-community-leipzig
+}
diff --git a/contrib/package/luci-addons/Makefile b/contrib/package/luci-addons/Makefile
new file mode 100644 (file)
index 0000000..0456225
--- /dev/null
@@ -0,0 +1,37 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=luci-addons
+PKG_VERSION:=0.2
+PKG_RELEASE:=1
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(INCLUDE_DIR)/package.mk
+
+
+define Build/Compile
+endef
+
+
+define Package/luci-addons
+  SECTION:=utils
+  CATEGORY:=Utilities
+  TITLE:=FFLuCI System Addons for Kamikaze
+  URL:=http://luci.freifunk-halle.net
+endef
+
+define Package/luci-addons/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_DIR) $(1)/sbin
+       $(INSTALL_DIR) $(1)/etc/crontabs
+       $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
+
+       $(INSTALL_BIN) ./dist/usr/bin/run-parts $(1)/usr/bin
+       $(INSTALL_BIN) ./dist/sbin/ffluci-flash $(1)/sbin
+       
+       $(CP) ./dist/etc/crontabs/root $(1)/etc/crontabs/root
+       $(CP) ./dist/etc/hotplug.d/iface/20-aliases $(1)/etc/hotplug.d/iface/20-aliases
+endef
+
+$(eval $(call BuildPackage,luci-addons))
\ No newline at end of file
index dbebb52d9ee53cb3b85e027d193b5abd29047d82..5e64bcd1f02dc60e8c9760d7130f08e4ab8aaa55 100644 (file)
@@ -1,39 +1,2 @@
-LUAC = luac
-LUAC_OPTIONS = -s
-
-FILES = ffluci/debug.lua ffluci/view/*.htm ffluci/view/cbi/*.htm ffluci/i18n/*
-
-CFILES = ffluci/bits.lua ffluci/util.lua \
-ffluci/sgi/haserl.lua ffluci/sgi/webuci.lua \
-ffluci/http.lua ffluci/fs.lua ffluci/sys.lua \
-ffluci/model/uci/wrapper.lua ffluci/model/uci/libuci.lua ffluci/model/uci.lua \
-ffluci/model/ipkg.lua ffluci/config.lua ffluci/i18n.lua ffluci/template.lua \
-ffluci/cbi.lua ffluci/dispatcher.lua ffluci/menu.lua ffluci/init.lua 
-
-DIRECTORIES = ffluci/model/cbi ffluci/model/menu ffluci/controller ffluci/i18n ffluci/view/cbi ffluci/model/uci ffluci/sgi
-
-OUTDIRS = $(DIRECTORIES:%=dist/%)
-INFILES = $(CFILES:%=src/%)
-OUTFILE = ffluci/init.lua
-CPFILES = $(FILES:%=src/%)
-
-.PHONY: all compile source depends clean
-
-all: compile
-
-depends:
-       mkdir -p $(OUTDIRS)
-       for i in $(CPFILES); do if [ -f "$$i" ]; then i=$$(echo $$i | cut -d/ -f2-); \
-               mkdir -p dist/$$(dirname $$i); cp src/$$i dist/$$i; fi; done
-
-compile: depends
-       $(LUAC) $(LUAC_OPTIONS) -o dist/$(OUTFILE) $(INFILES)
-       for i in $(CFILES); do [ -f dist/$$i ] || ln -s `dirname $$i | cut -s -d / -f 2- | sed -e 's/[^/]*\/*/..\//g'``basename $(OUTFILE)` dist/$$i; done
-       
-
-source: depends
-       for i in $(CFILES); do cp src/$$i dist/$$i; done
-       
-       
-clean:
-       rm dist -rf
+include ../build/config.mk
+include ../build/module.mk
\ No newline at end of file
diff --git a/core/contrib/uci/freifunk b/core/contrib/uci/freifunk
deleted file mode 100644 (file)
index aba12e6..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-config public contact
-               option nickname
-               option name
-               option mail
-               option phone
-               option location
-               option geo
-               option note
-               
-config public community
-               option name             "Freifunk Halle"
-               option homepage http://halle.freifunk.net
-               option essid    halle.freifunk.net
-               option bssid    02:CA:FF:EE:BA:BE
-               option realm    netz.freifunk-halle.net
-               option channel  1
-               option net              104.0.0.0
-               option mask             255.0.0.0
-               option dhcp             10.0.0.0
-               option dhcpmask 255.255.255.0
-               option dns              "88.198.178.18 141.54.1.1 212.204.49.83 208.67.220.220 208.67.222.222"
-               
-config settings routing
-               option internal 0
-               option internet 0
-               
\ No newline at end of file
similarity index 100%
rename from core/src/ffluci/bits.lua
rename to core/src/bits.lua
similarity index 100%
rename from core/src/ffluci/cbi.lua
rename to core/src/cbi.lua
similarity index 100%
rename from core/src/ffluci/debug.lua
rename to core/src/debug.lua
similarity index 100%
rename from core/src/ffluci/fs.lua
rename to core/src/fs.lua
similarity index 100%
rename from core/src/ffluci/http.lua
rename to core/src/http.lua
similarity index 100%
rename from core/src/ffluci/i18n.lua
rename to core/src/i18n.lua
similarity index 100%
rename from core/src/ffluci/init.lua
rename to core/src/init.lua
similarity index 100%
rename from core/src/ffluci/menu.lua
rename to core/src/menu.lua
similarity index 100%
rename from core/src/ffluci/sys.lua
rename to core/src/sys.lua
similarity index 100%
rename from core/src/ffluci/util.lua
rename to core/src/util.lua
diff --git a/module/admin-core/Makefile b/module/admin-core/Makefile
deleted file mode 100644 (file)
index 708c1c2..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-LUAC = luac
-LUAC_OPTIONS = -s
-
-FILES = i18n/* view/*/*.htm
-
-CFILES = controller/*/*.lua model/cbi/*/*.lua model/menu/*.lua 
-
-DIRECTORIES = model/cbi model/menu controller i18n view
-
-
-INFILES = $(CFILES:%=src/%)
-OUTDIRS = $(DIRECTORIES:%=dist/%)
-CPFILES = $(FILES:%=src/%)
-
-.PHONY: all compile source clean depends
-
-all: compile
-
-depends:
-       mkdir -p $(OUTDIRS)
-       for i in $(CPFILES); do if [ -f "$$i" ]; then i=$$(echo $$i | cut -d/ -f2-); \
-               mkdir -p dist/$$(dirname $$i); cp src/$$i dist/$$i; fi; done
-
-compile: depends
-       for i in $(INFILES); do if [ -f "$$i" ]; then i=$$(echo $$i | cut -d/ -f2-); \
-               mkdir -p dist/$$(dirname $$i); $(LUAC) $(LUAC_OPTIONS) -o dist/$$i src/$$i; fi; done
-       
-source: depends
-       for i in $(INFILES); do if [ -f "$$i" ]; then i=$$(echo $$i | cut -d/ -f2-); \
-               mkdir -p dist/$$(dirname $$i); cp src/$$i dist/$$i; fi; done
-       
-       
-clean:
-       rm dist -rf
diff --git a/module/admin-core/contrib/init.d/luci_freifunk b/module/admin-core/contrib/init.d/luci_freifunk
deleted file mode 100644 (file)
index 38779cb..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/bin/sh /etc/rc.common
-START=70
-
-start() {
-       include /lib/network
-       scan_interfaces
-       
-       
-       ### Read interface names
-       config_get wanif wan ifname
-       config_get lanif lan ifname
-       config_get ffif  ff  ifname
-       config_get ffdif ffdhcp  ifname
-       
-       config_get lanip   lan ipaddr
-       config_get lanmask lan netmask
-       
-       config_get ffip    ff ipaddr
-       config_get ffmask  ff netmask
-       
-       config_get ffdip   ffdhcp ipaddr
-       config_get ffdmask ffdhcp netmask
-       
-       [ -n "$ffif" ] || return 0
-       
-       
-       ### Creating chains
-       iptables -N luci_freifunk_forwarding
-       iptables -t nat -N luci_freifunk_postrouting
-               
-       
-       ### Read from config
-       config_load freifunk
-       
-       config_get_bool internal routing internal
-       [ -n "$wanif" ] && config_get_bool internet routing internet
-       
-       
-       ### Freifunk to Freifunk
-       [ "$internal" -gt 0 ] && {
-               iptables -A luci_freifunk_forwarding -i "$ffif" -o "$ffif" -j ACCEPT
-       }
-       
-       ### Freifunk DHCP to Freifunk
-       [ "$internal" -gt 0 -a -n "$ffdif" ] && {
-               eval "$(ipcalc.sh $ffdip $ffdmask)"
-               
-               iptables -t nat -A luci_freifunk_postrouting -s "$NETWORK/$PREFIX" -o "$ffif" -j MASQUERADE
-       }
-       
-       ### Lan to Freifunk     
-       [ -n "$lanif" ] && {
-               eval "$(ipcalc.sh $lanip $lanmask)"
-               
-               iptables -A luci_freifunk_forwarding -i "$lanif" -o "$ffif" -j ACCEPT
-               iptables -t nat -A luci_freifunk_postrouting -s "$NETWORK/$PREFIX" -o "$ffif" -j MASQUERADE
-       }
-       
-       ### Freifunk to Wan
-       [ "$internet" -gt 0 ] && {              
-               eval "$(ipcalc.sh $ffip $ffmask)"               
-               
-               iptables -A luci_freifunk_forwarding -i "$ffif" -o "$wanif" -j ACCEPT
-               iptables -t nat -A luci_freifunk_postrouting -s "$NETWORK/$PREFIX" -o "$wanif" -j MASQUERADE
-       }
-       
-       ### Freifunk DHCP to Wan
-       [ "$internet" -gt 0 -a -n "$ffdif" ] && {               
-               eval "$(ipcalc.sh $ffdip $ffdmask)"             
-               
-               iptables -t nat -A luci_freifunk_postrouting -s "$NETWORK/$PREFIX" -o "$wanif" -j MASQUERADE
-       }
-       
-       ### Hook in the chains
-       iptables -A forwarding_rule -j luci_freifunk_forwarding
-       iptables -t nat -A postrouting_rule -j luci_freifunk_postrouting
-}
-
-stop() {
-       ### Hook out the chains
-       iptables -D forwarding_rule -j luci_freifunk_forwarding
-       iptables -t nat -D postrouting_rule -j luci_freifunk_postrouting
-       
-       ### Clear the chains
-       iptables -F luci_freifunk_forwarding
-       iptables -t nat -F luci_freifunk_postrouting
-       
-       ### Delete chains
-       iptables -X luci_freifunk_forwarding
-       iptables -t nat -X luci_freifunk_postrouting
-}
diff --git a/module/admin-core/src/controller/admin/index.lua b/module/admin-core/src/controller/admin/index.lua
deleted file mode 100644 (file)
index edca572..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-module("ffluci.controller.admin.index", package.seeall)
-
-function action_wizard()
-       if ffluci.http.formvalue("ip") then
-               return configure_freifunk()
-       end
-       
-       local ifaces = {}
-       local wldevs = ffluci.model.uci.sections("wireless")
-       
-       if wldevs then
-               for k, v in pairs(wldevs) do
-                       if v[".type"] == "wifi-device" then
-                               table.insert(ifaces, k)
-                       end
-               end
-       end
-       
-       ffluci.template.render("admin_index/wizard", {ifaces=ifaces})
-end
-
-function configure_freifunk()
-       local ip  = ffluci.http.formvalue("ip")
-       local uci = ffluci.model.uci.Session()
-       
-       -- Load UCI
-       uci:t_load("network")
-       uci:t_load("dhcp")
-       uci:t_load("freifunk")
-       uci:t_load("luci_splash")
-       uci:t_load("olsr")
-       uci:t_load("wireless")
-       
-       
-       -- Configure FF-Interface
-       uci:t_del("network", "ff")
-       uci:t_del("network", "ffdhcp")
-       
-       uci:t_set("network", "ff", nil, "interface")
-       uci:t_set("network", "ff", "type", "bridge")
-       uci:t_set("network", "ff", "proto", "static")
-       uci:t_set("network", "ff", "ipaddr", ip)
-       uci:t_set("network", "ff", "netmask", uci:t_get("freifunk", "community", "mask")) 
-       uci:t_set("network", "ff", "dns", uci:t_get("freifunk", "community", "dns")) 
-       
-       -- Enable internal routing
-       uci:t_set("freifunk", "routing", "internal", "1")
-       
-       -- Enable internet routing
-       if ffluci.http.formvalue("shareinet") then
-               uci:t_set("freifunk", "routing", "internet", "1")
-       else
-               uci:t_set("freifunk", "routing", "internet", "0")
-       end
-       
-       -- Configure DHCP
-       if ffluci.http.formvalue("dhcp") then
-               local dhcpnet = uci:t_get("freifunk", "community", "dhcp"):match("^([0-9]+)")
-               local dhcpip  = ip:gsub("^[0-9]+", dhcpnet)
-       
-               uci:t_set("network", "ffdhcp", nil, "interface")
-               uci:t_set("network", "ffdhcp", "proto", "static")
-               uci:t_set("network", "ffdhcp", "ifname", "br-ff:dhcp")
-               uci:t_set("network", "ffdhcp", "ipaddr", dhcpip)
-               uci:t_set("network", "ffdhcp", "netmask", uci:t_get("freifunk", "community", "dhcpmask"))
-               
-               local dhcp = uci:t_sections("dhcp")
-               if dhcp then
-                       for k, v in pairs(dhcp) do
-                               if v[".type"] == "dhcp" and v.interface == "ffdhcp" then
-                                       uci:t_del("dhcp", k)
-                               end
-                       end             
-                       
-                       local dhcpbeg = 48 + tonumber(ip:match("[0-9]+$")) * 4
-                       
-                       local sk = uci:t_add("dhcp", "dhcp")
-                       uci:t_set("dhcp", sk, "interface", "ffdhcp")
-                       uci:t_set("dhcp", sk, "start", dhcpbeg)
-                       uci:t_set("dhcp", sk, "limit", (dhcpbeg < 252) and 3 or 2)
-                       uci:t_set("dhcp", sk, "leasetime", "30m")
-               end 
-               
-               local splash = uci:t_sections("luci_splash")
-               if splash then
-                       for k, v in pairs(splash) do
-                               if v[".type"] == "iface" then
-                                       uci:t_del("luci_splash", k)
-                               end
-                       end             
-                       
-                       local sk = uci:t_add("luci_splash", "iface")
-                       uci:t_set("luci_splash", sk, "network", "ffdhcp")
-               end             
-       end
-       
-       -- Configure OLSR
-       if ffluci.http.formvalue("olsr") and uci:t_sections("olsr") then
-               for k, v in pairs(uci:t_sections("olsr")) do
-                       if v[".type"] == "Interface" or v[".type"] == "LoadPlugin" then
-                               uci:t_del("olsr", k)
-                       end
-               end
-               
-               if ffluci.http.formvalue("shareinet") then
-                       uci:t_set("olsr", "dyn_gw", nil, "LoadPlugin")
-                       uci:t_set("olsr", "dyn_gw", "Library", "olsrd_dyn_gw.so.0.4")
-               end
-               
-               uci:t_set("olsr", "nameservice", nil, "LoadPlugin")
-               uci:t_set("olsr", "nameservice", "Library", "olsrd_nameservice.so.0.3")
-               uci:t_set("olsr", "nameservice", "name", ip:gsub("%.", "-"))
-               uci:t_set("olsr", "nameservice", "hosts_file", "/var/etc/hosts")
-               uci:t_set("olsr", "nameservice", "suffix", ".olsr")
-               uci:t_set("olsr", "nameservice", "latlon_infile", "/tmp/latlon.txt")
-               
-               uci:t_set("olsr", "txtinfo", nil, "LoadPlugin")
-               uci:t_set("olsr", "txtinfo", "Library", "olsrd_txtinfo.so.0.1")
-               uci:t_set("olsr", "txtinfo", "Accept", "127.0.0.1")
-               
-               local oif = uci:t_add("olsr", "Interface")
-               uci:t_set("olsr", oif, "Interface", "ff")
-               uci:t_set("olsr", oif, "HelloInterval", "6.0")
-               uci:t_set("olsr", oif, "HelloValidityTime", "108.0")
-               uci:t_set("olsr", oif, "TcInterval", "4.0")
-               uci:t_set("olsr", oif, "TcValidityTime", "324.0")
-               uci:t_set("olsr", oif, "MidInterval", "18.0")
-               uci:t_set("olsr", oif, "MidValidityTime", "324.0")
-               uci:t_set("olsr", oif, "HnaInterval", "18.0")
-               uci:t_set("olsr", oif, "HnaValidityTime", "108.0")
-       end
-       
-       -- Configure Wifi
-       local wcfg = uci:t_sections("wireless")
-       if wcfg then
-               for iface, v in pairs(wcfg) do
-                       if v[".type"] == "wifi-device" and ffluci.http.formvalue("wifi."..iface) then
-                               -- Cleanup
-                               for k, j in pairs(wcfg) do
-                                       if j[".type"] == "wifi-iface" and j.device == iface then
-                                               uci:t_del("wireless", k)
-                                       end
-                               end
-                               
-                               uci:t_set("wireless", iface, "disabled", "0")
-                               uci:t_set("wireless", iface, "mode", "11g")
-                               uci:t_set("wireless", iface, "txantenna", 1)
-                               uci:t_set("wireless", iface, "rxantenna", 1)
-                               uci:t_set("wireless", iface, "channel", uci:t_get("freifunk", "community", "channel")) 
-                               
-                               local wif = uci:t_add("wireless", "wifi-iface")
-                               uci:t_set("wireless", wif, "device", iface)
-                               uci:t_set("wireless", wif, "network", "ff")
-                               uci:t_set("wireless", wif, "mode", "adhoc")
-                               uci:t_set("wireless", wif, "ssid", uci:t_get("freifunk", "community", "essid"))
-                               uci:t_set("wireless", wif, "bssid", uci:t_get("freifunk", "community", "bssid"))
-                               uci:t_set("wireless", wif, "txpower", 13)
-                       end
-               end
-       end
-       
-       -- Save UCI
-       uci:t_save("network")
-       uci:t_save("dhcp")
-       uci:t_save("freifunk")
-       uci:t_save("luci_splash")
-       uci:t_save("olsr")
-       uci:t_save("wireless")
-
-       ffluci.http.redirect(ffluci.dispatcher.build_url("admin", "uci", "changes"))
-end
\ No newline at end of file
diff --git a/module/admin-core/src/model/cbi/admin_index/contact.lua b/module/admin-core/src/model/cbi/admin_index/contact.lua
deleted file mode 100644 (file)
index 66a1ec4..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
--- Todo: Translate
-m = Map("freifunk", translate("contact", "Kontakt"), translate("contact1", [[Diese Daten sind
-auf der öffentlichen Kontaktseite sichtbar. Bitte gib an, wie man dich am besten kontaktieren kann.
-Diese Informationen sollten nach der Picopeering Vereinbarung mindestens deine E-Mail-Adresse enthalten.
-Damit dein Knoten durch Topographieprogramme erfasst werden kann, gib bitte deine Geokoordinaten oder
-zumindest deine Straße und Hausnummer unter Standort an.]]))
-
-c = m:section(NamedSection, "contact", "public")
-
-c:option(Value, "nickname", translate("nickname", "Pseudonym"))
-c:option(Value, "name", translate("name", "Name"))
-c:option(Value, "mail", translate("mail", "E-Mail"), translate("mail1", "Bitte unbedingt angeben!"))
-c:option(Value, "phone", translate("phone", "Telefon"))
-c:option(Value, "location", translate("location", "Standort"))
-c:option(Value, "geo", translate("coord", "Koordinaten"), translate("coord1", "Bitte als Breite;Länge (z.B: 51.5;12.9) angeben"))
-c:option(Value, "note", translate("note", "Notiz"))
-
-return m
\ No newline at end of file
diff --git a/module/admin-core/src/model/cbi/admin_index/freifunk.lua b/module/admin-core/src/model/cbi/admin_index/freifunk.lua
deleted file mode 100644 (file)
index ec4d100..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
--- Todo: Translate
-m = Map("freifunk", "Freifunk")
-
-s = m:section(NamedSection, "routing", "settings", "Netzverkehr")
-s:option(Flag, "internal", "Freifunk zulassen", "immer aktivieren!")
-s:option(Flag, "internet", "Internet zulassen")
-
-c = m:section(NamedSection, "community", "public", "Gemeinschaft", [[Dies sind die Grundeinstellungen
-für die lokale Freifunkgemeinschaft. Diese Werte wirken sich NICHT auf die Konfiguration
-des Routers aus, sondern definieren nur die Vorgaben für den Freifunkassistenten.]])
-c:option(Value, "name", "Gemeinschaft")
-c:option(Value, "homepage", "Webseite")
-c:option(Value, "essid", "ESSID")
-c:option(Value, "bssid", "BSSID")
-c:option(Value, "channel", "Funkkanal")
-c:option(Value, "realm", "Realm")
-c:option(Value, "net", "Adressbereich")
-c:option(Value, "mask", "Netzmaske")
-c:option(Value, "dns", "DNS-Server")
-c:option(Value, "dhcp", "DHCP-Bereich")
-c:option(Value, "dhcpmask", "DHCP-Maske")
-
-return m
\ No newline at end of file
diff --git a/module/public-core/Makefile b/module/public-core/Makefile
deleted file mode 100644 (file)
index 113799a..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-LUAC = luac
-LUAC_OPTIONS = -s
-
-FILES = i18n/* view/*/*.htm
-
-CFILES = controller/*/*.lua model/cbi/*/*.lua model/menu/*.lua 
-
-DIRECTORIES = model/cbi model/menu controller i18n view
-
-
-INFILES = $(CFILES:%=src/%)
-OUTDIRS = $(DIRECTORIES:%=dist/%)
-CPFILES = $(FILES:%=src/%)
-
-.PHONY: all compile source clean depends
-
-all: compile
-
-
-depends:
-       mkdir -p $(OUTDIRS)
-       for i in $(CPFILES); do if [ -f "$$i" ]; then i=$$(echo $$i | cut -d/ -f2-); \
-               mkdir -p dist/$$(dirname $$i); cp src/$$i dist/$$i; fi; done
-
-compile: depends
-       for i in $(INFILES); do if [ -f "$$i" ]; then i=$$(echo $$i | cut -d/ -f2-); \
-               mkdir -p dist/$$(dirname $$i); $(LUAC) $(LUAC_OPTIONS) -o dist/$$i src/$$i; fi; done
-       
-source: depends
-       for i in $(INFILES); do if [ -f "$$i" ]; then i=$$(echo $$i | cut -d/ -f2-); \
-               mkdir -p dist/$$(dirname $$i); cp src/$$i dist/$$i; fi; done
-       
-       
-clean:
-       rm dist -rf
diff --git a/module/public-core/src/controller/public/index.lua b/module/public-core/src/controller/public/index.lua
deleted file mode 100644 (file)
index f65478c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-module("ffluci.controller.public.index", package.seeall)
\ No newline at end of file
diff --git a/module/public-core/src/controller/public/olsr.lua b/module/public-core/src/controller/public/olsr.lua
deleted file mode 100644 (file)
index d41f5ed..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-module("ffluci.controller.public.olsr", package.seeall)
-require("ffluci.sys")
-
-function action_index()
-       local data = fetch_txtinfo("links")
-       
-       if not data or not data.Links then
-               ffluci.template.render("public_olsr/error_olsr")
-               return nil
-       end
-       
-       local function compare(a, b)
-               if tonumber(a.ETX) == 0 then
-                       return false
-               end
-               
-               if tonumber(b.ETX) == 0 then
-                       return true
-               end
-               
-               return tonumber(a.ETX) < tonumber(b.ETX)
-       end
-       
-       table.sort(data.Links, compare)
-       
-       ffluci.template.render("public_olsr/index", {links=data.Links})
-end
-
-function action_routes()
-       local data = fetch_txtinfo("routes")
-       
-       if not data or not data.Routes then
-               ffluci.template.render("public_olsr/error_olsr")
-               return nil
-       end
-       
-       local function compare(a, b)
-               if tonumber(a.ETX) == 0 then
-                       return false
-               end
-               
-               if tonumber(b.ETX) == 0 then
-                       return true
-               end
-               
-               return tonumber(a.ETX) < tonumber(b.ETX)
-       end
-       
-       table.sort(data.Routes, compare)
-       
-       ffluci.template.render("public_olsr/routes", {routes=data.Routes})
-end
-
-function action_topology()
-       local data = fetch_txtinfo("topology")
-       
-       if not data or not data.Topology then
-               ffluci.template.render("public_olsr/error_olsr")
-               return nil
-       end
-       
-       local function compare(a, b)
-               return a["Destination IP"] < b["Destination IP"]
-       end
-       
-       table.sort(data.Topology, compare)
-       
-       ffluci.template.render("public_olsr/topology", {routes=data.Topology})
-end
-
-function action_hna()
-       local data = fetch_txtinfo("hna")
-       
-       if not data or not data.HNA then
-               ffluci.template.render("public_olsr/error_olsr")
-               return nil
-       end
-       
-       local function compare(a, b)
-               return a.Network < b.Network
-       end
-       
-       table.sort(data.HNA, compare)
-       
-       ffluci.template.render("public_olsr/hna", {routes=data.HNA})
-end
-
-function action_mid()
-       local data = fetch_txtinfo("mid")
-       
-       if not data or not data.MID then
-               ffluci.template.render("public_olsr/error_olsr")
-               return nil
-       end
-       
-       local function compare(a, b)
-               return a.IP < b.IP
-       end
-       
-       table.sort(data.MID, compare)
-       
-       ffluci.template.render("public_olsr/mid", {mids=data.MID})
-end
-
-
--- Internal
-function fetch_txtinfo(otable)
-       otable = otable or ""
-       local rawdata = ffluci.sys.httpget("http://127.0.0.1:2006/"..otable)
-       
-       if #rawdata == 0 then
-               return nil
-       end
-       
-       local data = {}
-       
-       local tables = ffluci.util.split(ffluci.util.trim(rawdata), "\n\n")
-       
-
-       for i, tbl in ipairs(tables) do
-               local lines = ffluci.util.split(tbl, "\n")
-               local name  = table.remove(lines, 1):sub(8)
-               local keys  = ffluci.util.split(table.remove(lines, 1), "\t")
-               
-               data[name] = {}
-               
-               for j, line in ipairs(lines) do
-                       local fields = ffluci.util.split(line, "\t")
-                       data[name][j] = {}
-                       for k, key in pairs(keys) do
-                               data[name][j][key] = fields[k] 
-                       end
-               end
-       end
-       
-       return data
-end
\ No newline at end of file
diff --git a/module/public-core/src/controller/public/status.lua b/module/public-core/src/controller/public/status.lua
deleted file mode 100644 (file)
index 8d2f7a3..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-module("ffluci.controller.public.status", package.seeall)
-
-function action_index()
-       local data = {}
-       
-       data.s, data.m, data.r = ffluci.sys.sysinfo()
-       
-       data.wifi = ffluci.sys.wifi.getiwconfig()
-       
-       data.routes = {}
-       for i, r in pairs(ffluci.sys.net.routes()) do
-               if r.Destination == "00000000" then
-                       table.insert(data.routes, r)
-               end
-       end
-
-       
-       ffluci.template.render("public_status/index", data)
-end
-
-
diff --git a/module/public-core/src/controller/sudo/status.lua b/module/public-core/src/controller/sudo/status.lua
deleted file mode 100644 (file)
index fd5127d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-module("ffluci.controller.sudo.status", package.seeall)
\ No newline at end of file
diff --git a/module/public-core/src/model/menu/00public.lua b/module/public-core/src/model/menu/00public.lua
deleted file mode 100644 (file)
index 644aa44..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-add("public", "index", "Übersicht", 10)
-act("contact", "Kontakt")
-
-add("public", "status", "Status", 20)
-act("routes", "Routingtabelle")
-act("iwscan", "WLAN-Scan")
-
-add("public", "olsr", "OLSR", 30)
-act("routes", "Routen")
-act("topology", "Topologie")
-act("hna", "HNA")
-act("mid", "MID")
diff --git a/module/public-core/src/view/public_index/contact.htm b/module/public-core/src/view/public_index/contact.htm
deleted file mode 100644 (file)
index 221dc89..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<%+header%>
-<% local contact = ffluci.model.uci.sections("freifunk").contact %>
-<h1><%:contact Kontakt%></h1>
-<table cellspacing="0" cellpadding="6">
-       <tr><th><%:nickname Pseudonym%>:</th><td><%=contact.nickname%></td></tr>
-       <tr><th><%:name Name%>:</th><td><%=contact.name%></td></tr>
-       <tr><th><%:mail E-Mail%>:</th><td><%=contact.mail%></td></tr>
-       <tr><th><%:phone Telefon%>:</th><td><%=contact.phone%></td></tr>
-       <tr><th><%:location Standort%>:</th><td><%=contact.location%></td></tr>
-       <tr><th><%:geocoord Geokoordinaten%>:</th><td><%=contact.geo%></td></tr>
-       <tr><th><%:note Notiz%>:</th><td><%=contact.note%></td></tr>
-</table>
-<%+footer%>
\ No newline at end of file
diff --git a/module/public-core/src/view/public_index/index.htm b/module/public-core/src/view/public_index/index.htm
deleted file mode 100644 (file)
index 6c7fe85..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<%+header%>
-<% local ff = ffluci.model.uci.sections("freifunk") %>
-<h1><%:hellonet Hallo und willkommen im Netz von%> <%=ff.community.name%>!</h1>
-<p><%:public1 Wir sind eine Initiative zur Schaffung eines freien, offenen und unabhängigen Funknetzwerks auf WLAN-Basis.%><br />
-<%:public2 Dies ist der Zugangspunkt %><%=ffluci.sys.hostname()%>. <%:public3 Er wird betrieben von %>
-<a href="<%=controller%>/public/index/contact"><%=ff.contact.nickname%></a>.</p>
-<p><%:public4 Weitere Informationen zur globalen Freifunkinitiative findest du unter%> <a href="http://freifunk.net">Freifunk.net</a>.<br />
-<%:public5 Hast du Interesse an diesem Projekt, dann wende dich an deine lokale Gemeinschaft%> <a href="<%=ff.community.homepage%>"><%=ff.community.name%></a>.</p>
-<p><strong><%:note Hinweis%></strong>: <%:public6 Der Internetzugang über das experimentelle Freifunknetz ist an technische und organisatorische Bedingungen geknüpft und deshalb möglicherweise
-nicht (immer) gewährleistet.%></p>
-<%+footer%>
\ No newline at end of file
diff --git a/module/public-core/src/view/public_olsr/error_olsr.htm b/module/public-core/src/view/public_olsr/error_olsr.htm
deleted file mode 100644 (file)
index 25426f5..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<%+header%>
-<h1><%:olsr OLSR%></h1>
-<p class="error"><%:olsrerror1 Es konnte keine Verbindung zum OLSR-Daemon hergestellt werden!%></p>
-<p><%:olsrerror2 Um die Statusinformationen abfragen zu können muss der OLSR-Daemon gestartet
-und das Plugin "txtinfo" geladen sein.%></p>
-<%+footer%>
\ No newline at end of file
diff --git a/module/public-core/src/view/public_olsr/hna.htm b/module/public-core/src/view/public_olsr/hna.htm
deleted file mode 100644 (file)
index c13369f..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<%+header%>
-<h1><%:olsrhna OLSR-HNA%></h1>
-<br />
-<table cellspacing="0" cellpadding="6">
-<tr>
-<th><%:destination Ziel%></th>
-<th><%:gateway Gateway%></th>
-</tr>
-<% for k, route in ipairs(routes) do %>
-<tr>
-<td><%=route.Network%>/<%=route.Netmask%></td>
-<td><a href="http://<%=route.Gateway%>"><%=route.Gateway%></a></td>
-</tr>
-<% end %>
-</table>
-<br />
-<%+footer%>
\ No newline at end of file
diff --git a/module/public-core/src/view/public_olsr/index.htm b/module/public-core/src/view/public_olsr/index.htm
deleted file mode 100644 (file)
index 0633d1f..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<%+header%>
-<h1><%:olsrlinks OLSR-Verbindungen%></h1>
-<p><%:olsrlinks1 Übersicht über aktuell bestehende OLSR-Verbindungen%></p>
-<br />
-<table cellspacing="0" cellpadding="6">
-<tr>
-<th><%:destination Ziel%></th>
-<th><%:local Lokal%></th>
-<th>LQ</th>
-<th>NLQ</th>
-<th>ETX</th>
-</tr>
-<% for k, link in ipairs(links) do 
-       local color = "#bb3333"
-       
-       link.ETX = tonumber(link.ETX)
-       if link.ETX == 0 then
-               color = "#bb3333"
-       elseif link.ETX < 4 then
-               color = "#00cc00"
-       elseif link.ETX < 10 then
-               color = "#ffcb05"
-       elseif link.ETX < 100 then
-               color = "#ff6600"
-       end
-%>
-<tr>
-<td><a href="http://<%=link["remote IP"]%>"><%=link["remote IP"]%></a></td>
-<td><%=link["Local IP"]%></td>
-<td><%=link.LinkQuality%></td>
-<td><%=link.NLQ%></td>
-<td style="background-color:<%=color%>"><%=link.ETX%></td>
-</tr>
-<% end %>
-</table>
-<br />
-<h3><%:legend Legende%>:</h3>
-<ul>
-<li><strong>LQ: </strong><%:lq1 Erfolgsquote gesendeter Pakete%></li>
-<li><strong>NLQ: </strong><%:nlq1 Erfolgsquote empfangener Pakete%></li>
-<li><strong>ETX: </strong><%:etx1 Zu erwartende Sendeversuche pro Paket%></li>
-</ul>
-<%+footer%>
\ No newline at end of file
diff --git a/module/public-core/src/view/public_olsr/mid.htm b/module/public-core/src/view/public_olsr/mid.htm
deleted file mode 100644 (file)
index 6553237..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<%+header%>
-<h1><%:olsrmid OLSR-MID%></h1>
-<br />
-<table cellspacing="0" cellpadding="6">
-<tr>
-<th><%:node Knoten%></th>
-<th><%:aliases Aliasse%></th>
-</tr>
-<% for k, mid in ipairs(mids) do %>
-<tr>
-<td><a href="http://<%=mid.IP%>"><%=mid.IP%></a></td>
-<td><%=mid.Aliases%></td>
-</tr>
-<% end %>
-</table>
-<br />
-<%+footer%>
\ No newline at end of file
diff --git a/module/public-core/src/view/public_olsr/routes.htm b/module/public-core/src/view/public_olsr/routes.htm
deleted file mode 100644 (file)
index f3a0fd3..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<%+header%>
-<h1><%:olsrlinks OLSR-Routen%></h1>
-<br />
-<table cellspacing="0" cellpadding="6">
-<tr>
-<th><%:destination Ziel%></th>
-<th><%:gateway Gateway%></th>
-<th><%:interface Schnittstelle%></th>
-<th><%:metric Metrik%></th>
-<th>ETX</th>
-</tr>
-<% for k, route in ipairs(routes) do 
-       local color = "#bb3333"
-       
-       route.ETX = tonumber(route.ETX)
-       if route.ETX == 0 then
-               color = "#bb3333"
-       elseif route.ETX < 4 then
-               color = "#00cc00"
-       elseif route.ETX < 10 then
-               color = "#ffcb05"
-       elseif route.ETX < 100 then
-               color = "#ff6600"
-       end
-%>
-<tr>
-<td><%=route.Destination%></td>
-<td><%=route.Gateway%></td>
-<td><%=route.Interface%></td>
-<td><%=route.Metric%></td>
-<td style="background-color:<%=color%>"><%=route.ETX%></td>
-</tr>
-<% end %>
-</table>
-<br />
-<%+footer%>
\ No newline at end of file
diff --git a/module/public-core/src/view/public_olsr/topology.htm b/module/public-core/src/view/public_olsr/topology.htm
deleted file mode 100644 (file)
index c622026..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<%+header%>
-<h1><%:olsrtopo OLSR-Topologie%></h1>
-<br />
-<table cellspacing="0" cellpadding="6">
-<tr>
-<th><%:destination Ziel%></th>
-<th><%:lasthop Letzter Router%></th>
-<th>LQ</th>
-<th>ILQ</th>
-<th>ETX</th>
-</tr>
-<% for k, route in ipairs(routes) do %>
-<tr>
-<td><a href="http://<%=route["Destination IP"]%>"><%=route["Destination IP"]%></a></td>
-<td><a href="http://<%=route["Last hop IP"]%>"><%=route["Last hop IP"]%></a></td>
-<td><%=route.LQ%></td>
-<td><%=route.ILQ%></td>
-<td><%=route.ETX%></td>
-</tr>
-<% end %>
-</table>
-<br />
-<%+footer%>
\ No newline at end of file
diff --git a/module/public-core/src/view/public_status/index.htm b/module/public-core/src/view/public_status/index.htm
deleted file mode 100644 (file)
index be0b968..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-<%+header%>
-<h1><%:status Status%></h1>
-<h2><%:system System%></h2>
-
-<br />
-<table cellspacing="0" cellpadding="6" class="smalltext">
-<tr>
-<th><%:system_type Systemtyp%>:</th>
-<td><%=s%></td>
-</tr>
-<tr>
-<th><%:cpu Prozessor%>:</th>
-<td><%=m%></td>
-</tr>
-<tr>
-<th><%:ram Hauptspeicher%>:</th>
-<td><%=r%></td>
-</tr>
-</table>
-<br /><br />
-
-<h2><%:wifi Drahtlos%></h2>
-<br />
-<table cellspacing="0" cellpadding="6" class="smalltext">
-<tr>
-<th><%:name Name%></th>
-<th><%:protocol Protokoll%></th>
-<th><%:frequency Frequenz%></th>
-<th><%:power Leistung%></th>
-<th><%:bitrate Bitrate%></th>
-<th><%:rts RTS%></th>
-<th><%:frag Frag.%></th>
-<th><%:link Verb.%></th>
-<th><%:signal Signal%></th>
-<th><%:noise Rausch%></th>
-</tr>
-<%=ffluci.sys.httpget("http://127.0.0.1" .. controller .. "/sudo/status/iwconfig")%>
-</table>
-<br />
-<br />
-<h2><%:defroutes Standardrouten%></h2>
-<br />
-<table cellspacing="0" cellpadding="6" class="smalltext">
-<tr>
-<th><%:gateway Gateway%></th>
-<th><%:metric Metrik%></th>
-<th><%:iface Schnittstelle%></th>
-</tr>
-<%
-for i, rt in pairs(routes) do
-%>
-<tr>
-<td><%=ffluci.sys.net.hexip4(rt.Gateway)%></th>
-<td><%=rt.Metric%></th>
-<td><%=rt.Iface%></th>
-</tr>
-<% end %>
-</table>
-<%+footer%>
\ No newline at end of file
diff --git a/module/public-core/src/view/public_status/iwscan.htm b/module/public-core/src/view/public_status/iwscan.htm
deleted file mode 100644 (file)
index a8924c8..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<%+header%>
-<h1><%:iwscan WLAN-Scan%></h1>
-<p><%:iwscan1 Drahtlosnetzwerke in der lokalen Umgebung des Routers:%></p>
-
-<br />
-<table cellspacing="0" cellpadding="6" class="smalltext">
-<tr>
-<th><%:interface Schnittstelle%></th>
-<th><%:essid ESSID%></th>
-<th><%:bssid BSSID%></th>
-<th><%:mode Modus%></th>
-<th><%:channel Kanal%></th>
-<th><%:encr Vers.%></th>
-<th><%:link Verb.%></th>
-<th><%:signal Signal%></th>
-<th><%:noise Rausch%></th>
-</tr>
-<%=ffluci.sys.httpget("http://127.0.0.1" .. controller .. "/sudo/status/iwscan")%>
-</table>
-<br />
-<%+footer%>
\ No newline at end of file
diff --git a/module/public-core/src/view/public_status/routes.htm b/module/public-core/src/view/public_status/routes.htm
deleted file mode 100644 (file)
index 85b0221..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<%+header%>
-<h1><%:routes Routen%></h1>
-
-<br />
-<table cellspacing="0" cellpadding="6" class="smalltext">
-<tr>
-<th><%:target Ziel%></th>
-<th><%:netmask Netzmaske%></th>
-<th><%:gateway Gateway%></th>
-<th><%:metric Metrik%></th>
-<th><%:iface Schnittstelle%></th>
-</tr>
-<%
-local routes = ffluci.sys.net.routes()
-
-for i, r in pairs(routes) do
-%>
-<tr>
-<td><%=ffluci.sys.net.hexip4(r.Destination)%></td>
-<td><%=ffluci.sys.net.hexip4(r.Mask)%></td>
-<td><%=ffluci.sys.net.hexip4(r.Gateway)%></td>
-<td><%=r.Metric%></td>
-<td><%=r.Iface%></td>
-</tr>
-<% end %>
-</table>
-<br />
-<%+footer%>
\ No newline at end of file
diff --git a/module/public-core/src/view/sudo_status/iwconfig.htm b/module/public-core/src/view/sudo_status/iwconfig.htm
deleted file mode 100644 (file)
index 6f5dede..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<%
-ffluci.http.prepare_content("text/plain")
-for k, v in pairs(ffluci.sys.wifi.getiwconfig()) do
-%>
-<tr>
-<td rowspan="2"><%=k%></td>
-<td><%=v[1]%></td>
-<td><%=v.Frequency%></td>
-<td><%=v["Tx-Power"]%></td>
-<td><%=v["Bit Rate"]%></td>
-<td><%=v["RTS thr"]%></td>
-<td><%=v["Fragment thr"]%></td>
-<td><%=v["Link Quality"]%></td>
-<td><%=v["Signal level"]%></td>
-<td><%=v["Noise level"]%></td>
-</tr>
-<tr>
-<td colspan="4"><strong>ESSID: </strong><%=v.ESSID%></td>
-<td colspan="5"><strong>BSSID: </strong><%=(v.Cell or v["Access Point"])%></td>
-</tr>
-<%end%>
diff --git a/module/public-core/src/view/sudo_status/iwscan.htm b/module/public-core/src/view/sudo_status/iwscan.htm
deleted file mode 100644 (file)
index 6f321ae..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<%
-ffluci.http.prepare_content("text/plain")
-for iface, cells in pairs(ffluci.sys.wifi.iwscan()) do
-       for i, cell in ipairs(cells) do 
-%>
-<tr>
-<td><%=iface%></td>
-<td><%=cell.ESSID%></td>
-<td><%=cell.Address%></td>
-<td><%=cell.Mode%></td>
-<td><%=(cell.Channel or cell.Frequency or "")%></td>
-<td><%=cell["Encryption key"]%></td>
-<td><%=cell.Quality%></td>
-<td><%=cell["Signal level"]%></td>
-<td><%=cell["Noise level"]%></td>
-</tr>
-<%
-       end
-end
-%>
-
-
diff --git a/module/rpc-core/Makefile b/module/rpc-core/Makefile
deleted file mode 100644 (file)
index 113799a..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-LUAC = luac
-LUAC_OPTIONS = -s
-
-FILES = i18n/* view/*/*.htm
-
-CFILES = controller/*/*.lua model/cbi/*/*.lua model/menu/*.lua 
-
-DIRECTORIES = model/cbi model/menu controller i18n view
-
-
-INFILES = $(CFILES:%=src/%)
-OUTDIRS = $(DIRECTORIES:%=dist/%)
-CPFILES = $(FILES:%=src/%)
-
-.PHONY: all compile source clean depends
-
-all: compile
-
-
-depends:
-       mkdir -p $(OUTDIRS)
-       for i in $(CPFILES); do if [ -f "$$i" ]; then i=$$(echo $$i | cut -d/ -f2-); \
-               mkdir -p dist/$$(dirname $$i); cp src/$$i dist/$$i; fi; done
-
-compile: depends
-       for i in $(INFILES); do if [ -f "$$i" ]; then i=$$(echo $$i | cut -d/ -f2-); \
-               mkdir -p dist/$$(dirname $$i); $(LUAC) $(LUAC_OPTIONS) -o dist/$$i src/$$i; fi; done
-       
-source: depends
-       for i in $(INFILES); do if [ -f "$$i" ]; then i=$$(echo $$i | cut -d/ -f2-); \
-               mkdir -p dist/$$(dirname $$i); cp src/$$i dist/$$i; fi; done
-       
-       
-clean:
-       rm dist -rf
diff --git a/module/rpc-core/src/controller/rpc/luciinfo.lua b/module/rpc-core/src/controller/rpc/luciinfo.lua
deleted file mode 100644 (file)
index 611423f..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-module("ffluci.controller.rpc.luciinfo", package.seeall)
-
-function action_index()
-       local uci = ffluci.model.uci.StateSession()
-
-       ffluci.http.prepare_content("text/plain")
-       
-       -- General
-       print("luciinfo.api=1")
-       print("luciinfo.version=" .. tostring(ffluci.__version__))
-       
-       -- Sysinfo
-       local s, m, r = ffluci.sys.sysinfo()
-       local dr = ffluci.sys.net.defaultroute()
-       dr = dr and ffluci.sys.net.hexip4(dr.Gateway) or ""
-       local l1, l5, l15 = ffluci.sys.loadavg()
-       
-       print("sysinfo.system=" .. sanitize(s))
-       print("sysinfo.cpu=" .. sanitize(m))
-       print("sysinfo.ram=" .. sanitize(r))
-       print("sysinfo.hostname=" .. sanitize(ffluci.sys.hostname()))
-       print("sysinfo.load1=" .. tostring(l1))
-       print("sysinfo.load5=" .. tostring(l5))
-       print("sysinfo.load15=" .. tostring(l15))
-       print("sysinfo.defaultgw=" .. dr)
-
-       
-       -- Freifunk
-       local ff = uci:sections("freifunk") or {}
-       for k, v in pairs(ff) do
-               if k:sub(1, 1) ~= "." then
-                       for i, j in pairs(v) do
-                               print("freifunk." .. k .. "." .. i .. "=" .. j)
-                       end
-               end
-       end
-end
-
-function sanitize(val)
-       return val:gsub("\n", "\t")
-end
\ No newline at end of file
diff --git a/modules/admin-core/Makefile b/modules/admin-core/Makefile
new file mode 100644 (file)
index 0000000..81a96f6
--- /dev/null
@@ -0,0 +1,2 @@
+include ../../build/config.mk
+include ../../build/module.mk
\ No newline at end of file
diff --git a/modules/admin-core/src/controller/admin/index.lua b/modules/admin-core/src/controller/admin/index.lua
new file mode 100644 (file)
index 0000000..b4a7720
--- /dev/null
@@ -0,0 +1 @@
+module("ffluci.controller.admin.index", package.seeall)
\ No newline at end of file
similarity index 69%
rename from module/admin-core/src/i18n/admin_index.en
rename to modules/admin-core/src/i18n/admin_index.en
index 652627ab0e91804a611e2291c3b4bf0f7113c7ee..6a487752332c00c1494374cc7ff0af9737a0f1ac 100644 (file)
@@ -1,4 +1,3 @@
-contact = "Contact"
 luci = "User Interface"
 
 hello = "Hello!"
@@ -11,18 +10,6 @@ to your feedback and suggestions.]]
 admin6 = "And now have fun with your router!"
 team   = "The FFLuCI Team"
 
-contact1 = [[This information will be available on the public contact page.
-As stated in the Picopeering Agreement you should at least enter your e-mail address.
-To display your router on any topography map, please enter your geographical coordinates or at least
-your street and house number in the location field.]]
-nickname = "Nickname"
-mail1 = "This field is essential!"
-phone = "Phone"
-location = "Location"
-coord = "Coordinates"
-coord1 = "Latitude;Longitude (e.g. 51.5;12.9)"
-note = "Note"
-
 luci1 = "Here you can customize the settings and the functionality of FFLuCI."
 language = "Language"
 general = "General"
similarity index 76%
rename from module/admin-core/src/model/menu/00admin.lua
rename to modules/admin-core/src/model/menu/00admin.lua
index 8f87792cade1d9561d34f3f496386ff2a53087ad..c48db19bd614fdf773fec20e9a9ddd70bd7ca4b2 100644 (file)
@@ -1,8 +1,5 @@
 add("admin", "index", "Übersicht", 10)
-act("wizard", "Freifunkassistent")
-act("contact", "Kontakt")
 act("luci", "Oberfläche")
-act("freifunk", "Freifunk")
 
 add("admin", "system", "System", 30)
 act("packages", "Paketverwaltung")
@@ -20,9 +17,6 @@ end
 act("httpd", "HTTP-Server")
 act("dropbear", "SSH-Server")
 act("dnsmasq", "Dnsmasq")
-if isfile("/etc/config/luci_splash") then
-       act("splash", "Client-Splash")
-end
 
 add("admin", "network", "Netzwerk", 50)
 act("vlan", "Switch")
@@ -30,8 +24,6 @@ act("ifaces", "Schnittstellen")
 act("dhcp", "DHCP-Server")
 act("ptp", "PPPoE / PPTP")
 act("routes", "Statische Routen")
-act("portfw", "Portweiterleitung")
-act("firewall", "Firewall")
 if isfile("/etc/config/qos") then
        act("qos", "Quality of Service")
 end
diff --git a/themes/fledermaus/Makefile b/themes/fledermaus/Makefile
new file mode 100644 (file)
index 0000000..81a96f6
--- /dev/null
@@ -0,0 +1,2 @@
+include ../../build/config.mk
+include ../../build/module.mk
\ No newline at end of file
git clone https://git.99rst.org/PROJECT