Skip to content
This repository has been archived by the owner on May 21, 2024. It is now read-only.

Commit

Permalink
Merge branch 'master' into mini
Browse files Browse the repository at this point in the history
Conflicts:
	.config
	files/etc/config/autoupdater
	files/etc/config/fastd
	files/etc/init.d/freifunk_setup
	files/www/freifunk/cgi-bin/status
	files/www/lan/cgi-bin/home
	files/www/lan/cgi-bin/misc
	files/www/lan/cgi-bin/network
	files/www/lan/cgi-bin/password
	files/www/lan/cgi-bin/settings
	files/www/lan/cgi-bin/upgrade
	files/www/lan/network.js
	files/www/lan/settings.js
  • Loading branch information
saraedum committed Feb 26, 2015
2 parents ca8003e + 1530105 commit 4504866
Show file tree
Hide file tree
Showing 27 changed files with 879 additions and 97 deletions.
41 changes: 0 additions & 41 deletions .config

This file was deleted.

6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ To build the firmware you need a Unix console to enter commands into.
Install dependencies for the build environment (Debian/Ubuntu):

<pre>
sudo apt-get install git subversion g++ libncurses5-dev gawk zlib1g-dev build-essential
sudo apt-get install git subversion g++ libncurses5-dev gawk zlib1g-dev build-essential gettext
</pre>

Build commands for the console:
Expand All @@ -22,11 +22,11 @@ cd openwrt
./scripts/feeds install -a

git clone https://github.com/ffulm/firmware.git
cp -rf firmware/files firmware/package firmware/.config .
cp -rf firmware/files firmware/package .
git am --whitespace=nowarn firmware/patches/openwrt/*.patch
cd feeds/routing && git am --whitespace=nowarn ../../firmware/patches/routing/*.patch && cd -
cd feeds/packages && git am --whitespace=nowarn ../../firmware/patches/packages/*.patch && cd -
rm -rf firmware tmp
rm -rf firmware .config tmp

vim .config # select the right target at the top of the file

Expand Down
4 changes: 2 additions & 2 deletions files/etc/config/freifunk
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ config settings
option 'name' ''
option 'geo' ''
option 'version' '' #will be set on first boot
option 'map_publish' '1'
option 'publish_map' '1'
option 'access_from' 'lan'
option 'service_link' ''
option 'service_label' ''
option 'service_display_max' 0
option 'default_ah_ssid' ''
option 'default_ah_bssid' '12:C0:FF:EE:C0:DE'
option 'default_ah_bssid' '12:C0:FF:EE:CO:CE'
4 changes: 2 additions & 2 deletions files/etc/init.d/freifunk_setup
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,8 @@ initial_freifunk_setup()

uci set network.freifunk6="interface"
uci set network.freifunk6.ifname="@freifunk"
uci set network.freifunk6.peerdns="1"
uci set network.freifunk6.proto="dhcpv6"
uci set network.freifunk6.peerdns="1"
}

initial_setup()
Expand Down Expand Up @@ -220,7 +220,7 @@ start()
echo "(I) Start freifunk_setup"

from_version="$(uci get -q freifunk.@settings[0].version)"
to_version="0.4.mini-rc.3"
to_version="0.4.mini"

echo "(I) Update from '$from_version' to '$to_version'"
case "$from_version" in
Expand Down
4 changes: 2 additions & 2 deletions files/usr/sbin/print_map.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ print() {
}

if [ "$1" = "-p" ]; then
map_publish="$(uci get -q freifunk.@settings[0].map_publish 2> /dev/null)"
[ "$map_publish" != "1" ] && exit 0
publish_map="$(uci get -q freifunk.@settings[0].publish_map 2> /dev/null)"
[ "$publish_map" != "1" ] && exit 0

content="$(print)"
if [ -n "$content" ]; then
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 011696f188e26ad0f2cfa5cc13d27f35d11ba271 Mon Sep 17 00:00:00 2001
From 9e636d2bfc44dbd3a1c225a9097020f3e8421eba Mon Sep 17 00:00:00 2001
From: Moritz Warning <[email protected]>
Date: Wed, 10 Sep 2014 23:35:33 +0200
Subject: [PATCH 01/10] dnsmasq: support for multiple instances
Subject: [PATCH 01/18] dnsmasq: support for multiple instances

---
package/network/services/dnsmasq/files/dhcp.conf | 13 ++
Expand Down
95 changes: 95 additions & 0 deletions patches/openwrt/0002-busybox-make-ntpd-prefer-IPv6-addresses.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
From d46e3167c9415c7c4abc538d2ece89f2295eb78c Mon Sep 17 00:00:00 2001
From: Moritz Warning <[email protected]>
Date: Mon, 26 Jan 2015 19:07:59 +0100
Subject: [PATCH 02/18] busybox: make ntpd prefer IPv6 addresses

ntpd uses host2sockaddr to get the first address returned by DNS and does so only once.
Since the first address is often an IPv4 address, this causes ntpd to fail in IPv6 only environments.
This patch starts by requesting an IPv6 address and then alternate between AF_INET6 and AF_UNSPEC (which might likely return an IPv4 address).
---
...pd_prefer_ipv6_address_and_then_alternate.patch | 73 ++++++++++++++++++++++
1 file changed, 73 insertions(+)
create mode 100644 package/utils/busybox/patches/231-ntpd_prefer_ipv6_address_and_then_alternate.patch

diff --git a/package/utils/busybox/patches/231-ntpd_prefer_ipv6_address_and_then_alternate.patch b/package/utils/busybox/patches/231-ntpd_prefer_ipv6_address_and_then_alternate.patch
new file mode 100644
index 0000000..1168261
--- /dev/null
+++ b/package/utils/busybox/patches/231-ntpd_prefer_ipv6_address_and_then_alternate.patch
@@ -0,0 +1,73 @@
+Index: busybox-1.22.1/networking/ntpd.c
+===================================================================
+--- busybox-1.22.1.orig/networking/ntpd.c
++++ busybox-1.22.1/networking/ntpd.c
+@@ -237,6 +237,9 @@ typedef struct {
+
+ typedef struct {
+ len_and_sockaddr *p_lsa;
++#if ENABLE_FEATURE_IPV6
++ int p_lookup_af;
++#endif
+ char *p_dotted;
+ char *p_hostname;
+ int p_fd;
+@@ -741,6 +744,9 @@ add_peers(char *s)
+ p = xzalloc(sizeof(*p));
+ p->p_hostname = s;
+ p->p_lsa = NULL;
++#if ENABLE_FEATURE_IPV6
++ p->p_lookup_af = AF_INET6; /* Try IPv6 address first */
++#endif
+ p->p_dotted = NULL;
+ p->p_fd = -1;
+ p->p_xmt_msg.m_status = MODE_CLIENT | (NTP_VERSION << 3);
+@@ -791,22 +797,33 @@ send_query_to_peer(peer_t *p)
+ * Uncomment this and use strace to see it in action:
+ */
+
+- /* See if the peer hostname already resolved yet, if not, retry to resolv and return on failure */
+- if (!p->p_lsa)
+- {
+- p->p_lsa = host2sockaddr(p->p_hostname, 123);
++ if (p->p_lsa) {
++ free( p->p_lsa );
++ free( p->p_dotted );
++ p->p_lsa = NULL;
++ p->p_dotted = NULL;
++ }
+
+- if (p->p_lsa)
+- {
+- p->p_dotted = xmalloc_sockaddr2dotted_noport(&p->p_lsa->u.sa);
+- VERB1 bb_error_msg("resolved peer %s to %s", p->p_hostname, p->p_dotted);
+- }
+- else
+- {
+- set_next(p, RETRY_INTERVAL);
+- VERB1 bb_error_msg("could not resolve peer %s, skipping", p->p_hostname);
+- return;
+- }
++ /* Resolve hostname, return on failure */
++#if ENABLE_FEATURE_IPV6
++ p->p_lsa = host_and_af2sockaddr(p->p_hostname, 123, p->p_lookup_af);
++
++ /* Alternate between IPv6 and an unspecified protocol (will be IPv4 if present) */
++ p->p_lookup_af = (p->p_lookup_af == AF_INET6) ? AF_UNSPEC : AF_INET6;
++#else
++ p->p_lsa = host2sockaddr(p->p_hostname, 123);
++#endif
++
++ if (p->p_lsa)
++ {
++ p->p_dotted = xmalloc_sockaddr2dotted_noport(&p->p_lsa->u.sa);
++ VERB1 bb_error_msg("resolved peer %s to %s", p->p_hostname, p->p_dotted);
++ }
++ else
++ {
++ set_next(p, RETRY_INTERVAL);
++ VERB1 bb_error_msg("could not resolve peer %s, skipping", p->p_hostname);
++ return;
+ }
+
+ #define PROBE_LOCAL_ADDR /* { len_and_sockaddr lsa; lsa.len = LSA_SIZEOF_SA; getsockname(p->query.fd, &lsa.u.sa, &lsa.len); } */
--
2.1.4

Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
From 97d11584f59849204a5018833e778e680e383ee7 Mon Sep 17 00:00:00 2001
From: Moritz Warning <[email protected]>
Date: Fri, 30 Jan 2015 14:12:55 +0100
Subject: [PATCH 03/18] dnsmasq: use dnsmasq-dhcpv6 as default package instead
of dnsmasq

All settings are reset when the Target System is changed. This also
selects dnsmasq as a default package and this overwrites the binary
of dnsmasq-dhcpv6. So we make dnsmasq-dhcpv6 the default dnsmasq flavor.
---
include/target.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/target.mk b/include/target.mk
index e36cdd6..9d85973 100644
--- a/include/target.mk
+++ b/include/target.mk
@@ -14,7 +14,7 @@ DEVICE_TYPE?=router
# Default packages - the really basic set
DEFAULT_PACKAGES:=base-files libc libgcc busybox dropbear mtd uci opkg netifd fstools
# For router targets
-DEFAULT_PACKAGES.router:=dnsmasq iptables ip6tables ppp ppp-mod-pppoe kmod-ipt-nathelper firewall odhcpd odhcp6c
+DEFAULT_PACKAGES.router:=dnsmasq-dhcpv6 iptables ip6tables ppp ppp-mod-pppoe kmod-ipt-nathelper firewall odhcpd odhcp6c
DEFAULT_PACKAGES.bootloader:=

ifneq ($(DUMP),)
--
2.1.4

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 6313f6d6d41512fcaafc510cc20d03026ba631aa Mon Sep 17 00:00:00 2001
From ac414db70707e73c4344dbf7ebf26411bfa05cb9 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <[email protected]>
Date: Sat, 26 Jul 2014 06:10:23 +0200
Subject: [PATCH 03/10] tools/Makefile: fix host tools build dependencies
Subject: [PATCH 04/18] tools/Makefile: fix host tools build dependencies

---
tools/Makefile | 14 ++++++++++----
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
From 7d90060586d5f183d11884f2d8f58d29febfd2d5 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <[email protected]>
Date: Wed, 6 Aug 2014 19:12:00 +0200
Subject: [PATCH 05/18] procd: add support for alternative rc.d directories

---
...-support-for-alternative-rc.d-directories.patch | 97 ++++++++++++++++++++++
1 file changed, 97 insertions(+)
create mode 100644 package/system/procd/patches/0001-Add-support-for-alternative-rc.d-directories.patch

diff --git a/package/system/procd/patches/0001-Add-support-for-alternative-rc.d-directories.patch b/package/system/procd/patches/0001-Add-support-for-alternative-rc.d-directories.patch
new file mode 100644
index 0000000..bc24342
--- /dev/null
+++ b/package/system/procd/patches/0001-Add-support-for-alternative-rc.d-directories.patch
@@ -0,0 +1,97 @@
+From 03a2bc70e4260ec9f669391c47b9a7a9ecd0b75d Mon Sep 17 00:00:00 2001
+Message-Id: <03a2bc70e4260ec9f669391c47b9a7a9ecd0b75d.1407329621.git.mschiffer@universe-factory.net>
+From: Matthias Schiffer <[email protected]>
+Date: Wed, 6 Aug 2014 14:51:49 +0200
+Subject: [PATCH] Add support for alternative rc.d directories
+
+---
+ initd/preinit.c | 38 ++++++++++++++++++++++++++++++++++++++
+ rcS.c | 2 +-
+ 2 files changed, 39 insertions(+), 1 deletion(-)
+
+diff --git a/initd/preinit.c b/initd/preinit.c
+index fb94527..8b832a7 100644
+--- a/initd/preinit.c
++++ b/initd/preinit.c
+@@ -12,6 +12,8 @@
+ * GNU General Public License for more details.
+ */
+
++#define _GNU_SOURCE
++
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <sys/mount.h>
+@@ -46,6 +48,35 @@ check_dbglvl(void)
+ debug = lvl;
+ }
+
++static char*
++get_rc_d(void)
++{
++ size_t n = 0;
++ ssize_t len;
++ char *ret = NULL;
++
++ FILE *fp = fopen("/tmp/rc_d_path", "r");
++
++ if (!fp)
++ return NULL;
++
++ len = getline(&ret, &n, fp);
++
++ fclose(fp);
++
++ unlink("/tmp/rc_d_path");
++
++ if (len <= 0) {
++ free(ret);
++ return NULL;
++ }
++
++ if (ret[len-1] == '\n')
++ ret[len-1] = 0;
++
++ return ret;
++}
++
+ static void
+ spawn_procd(struct uloop_process *proc, int ret)
+ {
+@@ -53,6 +84,7 @@ spawn_procd(struct uloop_process *proc, int ret)
+ char *argv[] = { "/sbin/procd", NULL};
+ struct stat s;
+ char dbg[2];
++ char *rc_d_path;
+
+ if (plugd_proc.pid > 0)
+ kill(plugd_proc.pid, SIGKILL);
+@@ -72,6 +104,12 @@ spawn_procd(struct uloop_process *proc, int ret)
+ setenv("DBGLVL", dbg, 1);
+ }
+
++ rc_d_path = get_rc_d();
++ if (rc_d_path) {
++ setenv("RC_D_PATH", rc_d_path, 1);
++ free(rc_d_path);
++ }
++
+ execvp(argv[0], argv);
+ }
+
+diff --git a/rcS.c b/rcS.c
+index 0e1b0ba..1b00831 100644
+--- a/rcS.c
++++ b/rcS.c
+@@ -150,7 +150,7 @@ int rcS(char *pattern, char *param, void (*q_empty)(struct runqueue *))
+ q.empty_cb = q_empty;
+ q.max_running_tasks = 1;
+
+- return _rc(&q, "/etc/rc.d", pattern, "*", param);
++ return _rc(&q, getenv("RC_D_PATH") ?: "/etc/rc.d", pattern, "*", param);
+ }
+
+ int rc(const char *file, char *param)
+--
+2.0.4
+
--
2.1.4

Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
From 9ffdf04833925ec81562e6c77325489e9f08938a Mon Sep 17 00:00:00 2001
From 2b47f3f79a3846e69b2a416bb683b3e318c2bd92 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <[email protected]>
Date: Sat, 16 Aug 2014 17:52:34 +0200
Subject: [PATCH 04/10] ar71xx: correctly detect hardware revision on TP-Link
Subject: [PATCH 06/18] ar71xx: correctly detect hardware revision on TP-Link
Archer C5 and C7

---
target/linux/ar71xx/base-files/lib/ar71xx.sh | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index 1e96b6d..5aceaee 100755
index df35775..6694839 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -214,6 +214,13 @@ tplink_board_detect() {
Expand All @@ -26,7 +26,7 @@ index 1e96b6d..5aceaee 100755
*)
hwver=""
;;
@@ -745,7 +752,7 @@ ar71xx_board_detect() {
@@ -748,7 +755,7 @@ ar71xx_board_detect() {
esac

case "$machine" in
Expand Down
Loading

0 comments on commit 4504866

Please sign in to comment.