summaryrefslogtreecommitdiffhomepage
path: root/contrib/package/freifunk-common/files/etc
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/package/freifunk-common/files/etc')
-rw-r--r--contrib/package/freifunk-common/files/etc/config/freifunk129
-rwxr-xr-xcontrib/package/freifunk-common/files/etc/init.d/freifunk29
-rw-r--r--contrib/package/freifunk-common/files/etc/rc.local.d/01-config-migration51
3 files changed, 209 insertions, 0 deletions
diff --git a/contrib/package/freifunk-common/files/etc/config/freifunk b/contrib/package/freifunk-common/files/etc/config/freifunk
new file mode 100644
index 0000000000..09d92d92b3
--- /dev/null
+++ b/contrib/package/freifunk-common/files/etc/config/freifunk
@@ -0,0 +1,129 @@
+package 'freifunk'
+
+config 'public' 'contact'
+ option 'nickname' ''
+ option 'name' ''
+ option 'mail' ''
+ option 'phone' ''
+ option 'location' ''
+ option 'note' ''
+
+config 'public' 'community'
+ option 'name' 'Freifunk'
+ option 'homepage' 'http://freifunk.net'
+
+config 'fw_zone' 'zone_freifunk'
+ option 'name' 'freifunk'
+ option 'input' 'REJECT'
+ option 'forward' 'REJECT'
+ option 'output' 'ACCEPT'
+
+config 'fw_rule' 'fficmp'
+ option 'src' 'freifunk'
+ option 'target' 'ACCEPT'
+ option 'proto' 'icmp'
+
+config 'fw_rule' 'ffhttp'
+ option 'src' 'freifunk'
+ option 'target' 'ACCEPT'
+ option 'proto' 'tcp'
+ option 'dest_port' '80'
+
+config 'fw_rule' 'ffhttps'
+ option 'src' 'freifunk'
+ option 'target' 'ACCEPT'
+ option 'proto' 'tcp'
+ option 'dest_port' '443'
+
+config 'fw_rule' 'ffssh'
+ option 'src' 'freifunk'
+ option 'target' 'ACCEPT'
+ option 'proto' 'tcp'
+ option 'dest_port' '22'
+
+config 'fw_rule' 'ffolsr'
+ option 'src' 'freifunk'
+ option 'target' 'ACCEPT'
+ option 'proto' 'udp'
+ option 'dest_port' '698'
+
+config 'fw_rule' 'ffwprobe'
+ option 'src' 'freifunk'
+ option 'target' 'ACCEPT'
+ option 'proto' 'tcp'
+ option 'dest_port' '17990'
+
+config 'fw_rule' 'ffdns'
+ option 'dest_port' '53'
+ option 'src' 'freifunk'
+ option 'target' 'ACCEPT'
+ option 'proto' 'udp'
+
+config 'fw_rule' 'ffdhcp'
+ option 'src_port' '68'
+ option 'src' 'freifunk'
+ option 'target' 'ACCEPT'
+ option 'dest_port' '67'
+ option 'proto' 'udp'
+ option 'leasetime' '30m'
+
+config 'fw_rule' 'ffsplash'
+ option 'dest_port' '8082'
+ option 'src' 'freifunk'
+ option 'target' 'ACCEPT'
+ option 'proto' 'tcp'
+
+config 'fw_forwarding' 'lanfffwd'
+ option 'src' 'lan'
+ option 'dest' 'freifunk'
+
+config 'fw_forwarding' 'ffwanfwd'
+ option 'src' 'freifunk'
+ option 'dest' 'wan'
+
+config 'fw_forwarding' 'fffwd'
+ option 'src' 'freifunk'
+ option 'dest' 'freifunk'
+
+config 'include' 'freifunk'
+ option 'path' '/etc/firewall.freifunk'
+
+config 'defaults' 'system'
+ option 'zonename' 'Europe/Berlin'
+ option 'timezone' 'CET-1CEST,M3.5.0,M10.5.0/3'
+
+config 'defaults' 'wifi_device'
+ option 'channel' '1'
+ option 'diversity' '1'
+ option 'disabled' '0'
+ option 'country' 'DE'
+ option 'hwmode' '11g'
+ option 'distance' '1000'
+
+config 'defaults' 'wifi_iface'
+ option 'mode' 'adhoc'
+ option 'encryption' 'none'
+ option 'bgscan' '0'
+ option 'bssid' '12:CA:FF:EE:BA:BE'
+ option 'sw_merge' '1'
+ option 'mcast_rate' '5500'
+ option 'probereq' '1'
+
+config 'defaults' 'interface'
+ option 'netmask' '255.255.0.0'
+ option 'dns' '8.8.8.8 212.204.49.83 141.1.1.1'
+
+config 'defaults' 'alias'
+ option 'netmask' '255.255.255.0'
+
+config 'defaults' 'dhcp'
+ option 'leasetime' '30m'
+ option 'force' '1'
+
+config 'defaults' 'olsr_interfacedefaults'
+ option 'Ip4Broadcast' '255.255.255.255'
+
+config 'defaults' 'upgrade'
+ option 'repository' 'http://dev.luci.freifunk-halle.net/freifunk-snapshots'
+ option 'rssfeed' 'http://firmware.leipzig.freifunk.net/kamikaze/.rss.xml'
+
diff --git a/contrib/package/freifunk-common/files/etc/init.d/freifunk b/contrib/package/freifunk-common/files/etc/init.d/freifunk
new file mode 100755
index 0000000000..5ffec43e83
--- /dev/null
+++ b/contrib/package/freifunk-common/files/etc/init.d/freifunk
@@ -0,0 +1,29 @@
+#!/bin/sh /etc/rc.common
+# Freifunk Init
+# $Id$
+
+START=99
+
+boot() {
+ test -f /etc/crontabs/root || touch /etc/crontabs/root
+
+ grep -q 'killall -HUP dnsmasq' /etc/crontabs/root || {
+ echo "*/5 * * * * killall -HUP dnsmasq" >> /etc/crontabs/root
+ }
+
+ grep -q '/usr/sbin/ff_olsr_watchdog' /etc/crontabs/root || {
+ echo "*/5 * * * * /usr/sbin/ff_olsr_watchdog" >> /etc/crontabs/root
+ }
+
+ grep -q '/usr/sbin/ff_rdate' /etc/crontabs/root || {
+ echo "0 */4 * * * /usr/sbin/ff_rdate" >> /etc/crontabs/root
+ }
+
+ [ -d /etc/rc.local.d ] && {
+ for file in /etc/rc.local.d/*; do
+ test -f "$file" && . "$file"
+ done
+ }
+
+ ( sleep 40; /usr/sbin/ff_rdate; /etc/init.d/cron restart ) &
+}
diff --git a/contrib/package/freifunk-common/files/etc/rc.local.d/01-config-migration b/contrib/package/freifunk-common/files/etc/rc.local.d/01-config-migration
new file mode 100644
index 0000000000..11f1ad60bc
--- /dev/null
+++ b/contrib/package/freifunk-common/files/etc/rc.local.d/01-config-migration
@@ -0,0 +1,51 @@
+# Fixup various configurations to remove quirks
+# from former versions.
+
+_log() {
+ logger -t "Config Migration" "$1"
+}
+
+_uci() {
+ uci ${2:+-c $2} get "$1" 2>/dev/null
+}
+
+
+# Splash redirector had a wrong virtual url match
+# which resulted in "No such handler"
+
+[ "$(_uci lucid.splashredir.virtual)" == "/" ] && {
+ _log "Fix splash redirector configuration"
+ uci set lucid.splashredir.virtual=''
+ uci commit lucid
+ /etc/init.d/lucid restart
+}
+
+
+# Newer OLSR versions have the MinTCVtime hack active,
+# ensure proper timings or olsrd won't start
+
+FIX=0
+for i in 0 1 2 3 4; do
+ [ -z "$(_uci olsrd.@Interface[$i].TcInterval)" ] && \
+ [ -z "$(_uci olsrd.@Interface[$i].TcValidityTime)" ] || {
+ uci delete olsrd.@Interface[$i].TcInterval
+ uci delete olsrd.@Interface[$i].TcValidityTime
+ FIX=1
+ }
+done
+
+[ "$FIX" == 1 ] && {
+ _log "Fix olsrd configuration for MinTCVTime hack"
+ uci commit olsrd
+ /etc/init.d/olsrd restart
+}
+
+
+# Ensure that the community definitions are in the
+# new format
+
+[ -z "$(_uci freifunk.leipzig.mesh_network)" ] && \
+[ -n "$(_uci freifunk.leipzig.mesh_network /rom/etc/config)" ] && {
+ _log "Converting freifunk configuration to new format"
+ cp /rom/etc/config/freifunk /etc/config/freifunk
+}