Compare commits

...

19 Commits

Author SHA1 Message Date
Nils Schneider
a10c167f86 docs: add site-example 2014-10-21 17:51:51 +02:00
Matthias Schiffer
88dff7e275 Merge remote-tracking branch 'origin/rn-2014.3.1'
Conflicts:
	docs/index.rst
2014-10-20 21:06:26 +02:00
Matthias Schiffer
66678f2c3f Update Gluon packages 2014-10-19 20:18:36 +02:00
Nils Schneider
3b85b0373f Merge pull request #213 from bioxz/2014.3.x
Changed example bssid in site.conf to a valid one
2014-10-17 14:34:33 +02:00
Patrick Uven
29903ab926 Changed example bssid in site.conf to a valid one (in terms of config file parsing) 2014-10-17 14:31:56 +02:00
Nils Schneider
23adc4a294 Merge pull request #210 from freifunk-gluon/2014.3.x-site-example
docs: unclutter site-example for 2014.3.x
2014-10-16 18:31:56 +02:00
Nils Schneider
f00bb052ff docs: unclutter site-example for 2014.3.x 2014-10-13 19:15:11 +02:00
Nils Schneider
51fa17e446 docs: advise user to checkout a specific release 2014-10-13 12:36:28 +02:00
Nils Schneider
03b80c073c Merge branch 'FreifunkBremen-master' 2014-10-13 12:35:52 +02:00
Patrick Uven
fef26edbfd Some small correction to getting started 2014-10-12 12:38:17 +02:00
Patrick Uven
b5d4d54ddd Added informations about gluon versions to getting started 2014-10-12 12:38:17 +02:00
Matthias Schiffer
028521e8d5 docs: fix another warning 2014-10-12 11:59:34 +02:00
Nils Schneider
535ae164e2 Merge pull request #202 from bioxz/2014.3.x
site-example for 2014.3.x
2014-10-09 18:26:44 +02:00
Patrick Uven
3058a3339d Created site.conf for example config 2014-10-05 20:36:49 +02:00
Patrick Uven
fbceaa6d21 Created modules for example config 2014-10-05 20:21:25 +02:00
Patrick Uven
f7ae70cfc6 Created site.mk for example config 2014-10-05 20:16:44 +02:00
Matthias Schiffer
fb72b8bb28 Update OpenWrt 2014-10-03 01:33:28 +02:00
Matthias Schiffer
2c1b0dc117 Backport alfred from gluon master 2014-10-03 01:30:58 +02:00
Matthias Schiffer
722055e62e Update gluon packages 2014-10-03 01:29:45 +02:00
14 changed files with 467 additions and 157 deletions

View File

@ -78,6 +78,7 @@ Releases
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1
releases/v2014.3.1
releases/v2014.3 releases/v2014.3

View File

@ -0,0 +1,40 @@
Gluon 2014.3.1
==============
This is a bugfix release.
Bugfixes
~~~~~~~~
* gluon-announced zombie process bug
gluon-announced was creating zombie processes when answering requests, causing issues
with the new status page which is currently in development.
* fastd peers removed from ``site.conf`` weren't removed correctly from the fastd configuration
on firmware upgrades
* Expert Mode: setting a password will not remove SSH keys anymore
* alfred has been updated to 2014.3.0
We hope this solves the alfred stability issues noted by several people.
* ``gluon-ebtables-filter-ra-dhcp`` and ``gluon-ebtables-filter-multicast`` have been fixed
to allow DHCPv6 to work
* Another ath9k patch has been added, which might further improve WLAN stability and performance
New features
~~~~~~~~~~~~
* Support for static WAN setups instead of (DHCP/Router Advertisement) has been added;
configuration is possible on the port config page of the Expert Mode.
Site changes
~~~~~~~~~~~~
* ``site.conf``
- The new boolean option ``fastd_mesh_vpn.enabled`` allows
enabling the mesh VPN by default. This value is optional;
if it isn't specified, the mesh VPN will be disabled.

View File

@ -94,7 +94,7 @@ Improved ath9k stability
Multiple bugs in the WLAN driver ath9k have been fixed upstream. This should greatly improve the WLAN stability. Multiple bugs in the WLAN driver ath9k have been fixed upstream. This should greatly improve the WLAN stability.
odhcp6c 50 day bug odhcp6c 50 day bug
--------------- ------------------
An important update for odhcp6c fixes a bug which caused Gluon nodes to lose their IPv6 addresses on br-client after an uptime An important update for odhcp6c fixes a bug which caused Gluon nodes to lose their IPv6 addresses on br-client after an uptime
of 50 days, making the nodes unable perform automated updates (besides other issues). of 50 days, making the nodes unable perform automated updates (besides other issues).

22
docs/site-example/modules Normal file
View File

@ -0,0 +1,22 @@
# This file allows specifying additional repositories to use
# when building gluon.
#
# In most cases, it is not required so don't add it.
## GLUON_SITE_FEEDS
# for each feed name given, add the corresponding PACKAGES_* lines
# documented below
#GLUON_SITE_FEEDS='my_own_packages'
## PACKAGES_$feedname_REPO
# the git repository from where to clone the package feed
#PACKAGES_MY_OWN_PACKAGES_REPO=https://github.com/.../my-own-packages.git
## PACKAGES_$feedname_COMMIT
# the version/commit of the git repository to clone
#PACKAGES_MY_OWN_PACKAGES_COMMIT=123456789aabcda1a69b04278e4d38f2a3f57e49
## PACKAGES_$feedname_BRANCH
# the branch to check out
#PACKAGES_MY_OWN_PACKAGES_BRANCH=my_branch

187
docs/site-example/site.conf Normal file
View File

@ -0,0 +1,187 @@
-- This is an example site configuration for Gluon v2014.3.x
--
-- Take a look at the documentation located at
-- http://gluon.readthedocs.org/ for details.
--
-- This configuration will not work as it. You're required to make
-- community specific changes to it!
{
-- Used for generated hostnames, e.g. freifunk-abcdef123456.
hostname_prefix = 'freifunk',
-- Name of the community.
site_name = 'Freifunk Lübeck',
-- Shorthand of the community.
site_code = 'ffhl',
-- Prefixes used within the mesh. Both are required.
prefix4 = '10.130.0.0/20',
prefix6 = 'fdef:ffc0:3dd7::/64',
-- Timezone of your community.
-- See http://wiki.openwrt.org/doc/uci/system#time.zones
timezone = 'CET-1CEST,M3.5.0,M10.5.0/3',
-- List of NTP servers in your community.
-- Must be reachable using IPv6!
ntp_servers = {'1.ntp.services.ffhl'},
-- Wireless regulatory domain of your community.
regdom = 'DE',
-- Wireless configuratoin for 2.4 GHz interfaces.
wifi24 = {
-- Wireless channel.
channel = 1,
-- ESSID used for client network.
ssid = 'luebeck.freifunk.net',
-- Specifies the channel width in 802.11n and 802.11ac mode.
-- Possible values are:
-- HT20 (single 20MHz channel),
-- HT40- (2x 20MHz channels, secondary below)
-- HT40+ (2x 20MHz channels, secondary above)
htmode = 'HT20',
-- Adjust these values!
mesh_ssid = 'XX:XX:XX:XX:XX:XX', -- ESSID used for mesh
mesh_bssid = 'XX:XX:XX:XX:XX:XX', -- BSSID used for mesh
-- Bitrate used for multicast/broadcast packets.
mesh_mcast_rate = 12000,
},
-- Wireless configuration for 5 GHz interfaces.
-- This should be equal to the 2.4 GHz variant, except
-- for channel and htmode.
wifi5 = {
ssid = 'luebeck.freifunk.net',
channel = 44,
htmode = 'HT20',
mesh_ssid = 'XX:XX:XX:XX:XX:XX',
mesh_bssid = 'XX:XX:XX:XX:XX:XX',
mesh_mcast_rate = 12000,
},
-- The next node feature allows clients to always reach the node it is
-- connected to using a known IP address.
next_node = {
-- anycast IPs of all nodes
ip4 = '10.130.0.1',
ip6 = 'fdef:ffc0:3dd7::1',
-- anycast MAC of all nodes
mac = '16:41:95:40:f7:dc',
},
-- Refer to http://fastd.readthedocs.org/en/latest/ to better understand
-- what these options do.
fastd_mesh_vpn = {
-- List of crypto-methods to use.
methods = {'salsa2012+gmac'},
mtu = 1426,
backbone = {
-- Limit number of connected peers to reduce bandwidth.
limit = 2,
-- List of peers.
peers = {
burgtor = {
key = '657af03e36ff1b8bbe5a5134982a4f110c8523a9a63293870caf548916a95a03',
-- This is a list, so you might add multiple entries.
remotes = {'ipv4 "burgtor.mesh.ffhl.chaotikum.org" port 10000'},
},
holstentor = {
key = '8c660f7511bf101ea1b599fe53af20e1146cd923c9e9d2a3a0d534ee75af9067',
remotes = {'ipv4 "holstentor.mesh.ffhl.chaotikum.org" port 10000'},
},
},
},
},
autoupdater = {
-- Default branch. Don't forget to set GLUON_BRANCH when building!
branch = 'stable',
-- List of branches. You may define multiple branches.
branches = {
stable = {
name = 'stable',
-- List of mirrors to fetch images from. IPv6 required!
mirrors = {'http://1.updates.services.ffhl/stable/sysupgrade'},
-- Number of good signatures required.
-- Have multiple maintainers sign your build and only
-- accept it when a sufficient number of them have
-- signed it.
good_signatures = 2,
-- List of public keys of maintainers.
pubkeys = {
'daa19b44bbd7033965e02088127bad9516ba0fea8f34267a777144a23ec8900c', -- Linus
'a8dd60765b07330a4bbfdf8406102befca132881a4b65f3efda32cf2d5b362d9', -- Nils
'323bd3285c4e5547a89cd6da1f2aef67f1654b0928bbd5b104efc9dab2156d0b', -- NeoRaider
},
},
},
},
-- Bandwidth limiting
simple_tc = {
mesh_vpn = {
ifname = 'mesh-vpn',
-- You may enable it by default here.
enabled = false,
-- Default upload limit (kbit/s).
limit_egress = 200,
-- Default download limit (kbit/s).
limit_ingress = 3000,
},
},
-- These strings are shown in config mode. Some HTML is permissible.
--
-- msg_welcome: shown at startup
-- msg_pubkey: shown when VPN is enabled
-- msg_reboot: shown during reboot (after finishing configuration)
--
-- You may use some variables, e.g.:
--
-- <%=hostname%> - the node's hostname
-- <%=pubkey%> - the fastd public key
-- <%=sysconfig.primary_mac%> - the node's primary MAC
config_mode = {
msg_welcome = [[
Willkommen zum Einrichtungsassistenten für deinen neuen Lübecker
Freifunk-Knoten. Fülle das folgende Formular deinen Vorstellungen
entsprechend aus und sende es ab.
]],
msg_pubkey = [[
Dies ist der öffentliche Schlüssel deines Freifunk-Knotens. Erst nachdem
er auf den Servern des Lübecker Freifunk-Projektes eingetragen wurde,
kann sich dein Knoten mit dem Lübecker Mesh-VPN zu verbinden. Bitte
schicke dazu diesen Schlüssel und den Namen deines Knotens
(<em><%=hostname%></em>) an
<a href="mailto:keys@luebeck.freifunk.net">keys@luebeck.freifunk.net</a>.
]],
msg_reboot = [[
<p>
Dein Knoten startet gerade neu und wird anschließend versuchen,
sich anschließend mit anderen Freifunk-Knoten in seiner Nähe zu
verbinden. Weitere Informationen zur
Lübecker Freifunk-Community findest du auf
<a href="https://luebeck.freifunk.net/">unserer Webseite</a>.
</p>
<p>
Viel Spaß mit deinem Knoten und der Erkundung von Freifunk!
</p>
]],
},
}

45
docs/site-example/site.mk Normal file
View File

@ -0,0 +1,45 @@
## gluon site.mk makefile example
## GLUON_SITE_PACKAGES
# specify gluon/openwrt packages to include here
GLUON_SITE_PACKAGES := \
gluon-alfred \
gluon-announced \
gluon-ath9k-workaround \
gluon-autoupdater \
gluon-config-mode \
gluon-ebtables-filter-multicast \
gluon-ebtables-filter-ra-dhcp \
gluon-luci-admin \
gluon-luci-autoupdater \
gluon-luci-portconfig \
gluon-next-node \
gluon-mesh-batman-adv \
gluon-mesh-vpn-fastd \
gluon-radvd \
gluon-status-page \
iwinfo \
iptables \
haveged
## DEFAULT_GLUON_RELEASE
# version string to use for images
# gluon relies on
# opkg compare-versions "$1" '>>' "$2"
# to decide if a version is newer or not.
DEFAULT_GLUON_RELEASE := 0.3+0-exp$(shell date '+%Y%m%d')
## GLUON_RELEASE
# call make with custom GLUON_RELEASE flag, to use your own release version scheme.
# e.g.:
# $ make images GLUON_RELEASE=23.42+5
# would generate images named like this:
# gluon-ff%site_code%-23.42+5-%router_model%.bin
# Allow overriding the release number from the command line
GLUON_RELEASE ?= $(DEFAULT_GLUON_RELEASE)
# Default priority for updates.
GLUON_PRIORITY ?= 0

View File

@ -1,17 +1,79 @@
Getting Started Getting Started
=============== ===============
To build Gluon, after checking out the repository change to the source root directory Selecting the right version
to perform the following commands: ---------------------------
Gluon's releases are managed using `Git tags`_. If you're a community getting
started with Gluon we recommend to use the latest stable release if Gluon.
Take a look at the `list of gluon releases`_ and notice the latest release,
e.g. *v2014.3*.
Please keep in mind that a matching site configuration for your community
is required. Due to new features being added (or sometimes being removed)
the format of the site configuration changes slightly between releases.
Recent releases (starting with *v2014.3.1*) will come with an example
configuration located in *docs/site-example/*.
.. _Git tags: http://git-scm.com/book/en/Git-Basics-Tagging
.. _list of gluon releases: https://github.com/freifunk-gluon/gluon/releases
Building the image
------------------
.. note:: Make sure you have configured your `Git identity`_.
If you neglect this, you'll get strange error messages.
.. _Git identity: http://git-scm.com/book/en/Getting-Started-First-Time-Git-Setup#Your-Identity
To build Gluon, first check out the repository. Replace *RELEASE* with the
version you'd like to checkout, e.g. *v2014.3*.
:: ::
git clone git://github.com/freifunk-gluon/site-ffhl.git site # Get the Freifunk Lübeck site repository - or use your own! git clone https://github.com/freifunk-gluon/gluon.git gluon -b RELEASE
make update # Get other repositories used by Gluon
make # Build Gluon
When calling make, the OpenWRT build environment is prepared/updated. To rebuild This command will create a directory named *gluon/*.
the images only, just use: It might also tell a scary message about being in a *detached state*.
**Don't panic!** Everything's fine.
Now, enter the freshly created directory:
::
cd gluon
It's time to add (or create) your site configuration.
So let's create the directory *site/*:
::
mkdir site
cd site
Copy *site.conf* and *site.mk* from *docs/site-example*:
::
cp ../docs/site-example/site.conf .
cp ../docs/site-example/site.mk .
.. note:: On **v2014.3**, take both files from
https://github.com/freifunk-gluon/gluon/tree/2014.3.x/docs/site-example
Edit both files to match your community, then go back to the top-level Gluon
directory and build Gluon:
::
cd ..
make update # Get other repositories used by Gluon
make # Build Gluon
When calling make, the OpenWRT build environment is prepared/updated.
In case of errors read the messages carefully and try to fix the stated issues (e.g. install tools not available yet).
To rebuild the images only, just use:
:: ::

View File

@ -188,4 +188,21 @@ GLUON_PRIORITY
Examples Examples
-------- --------
An example configuration is maintained at https://github.com/freifunk-gluon/site-example. site.mk
^^^^^^^
.. literalinclude:: ../site-example/site.mk
:language: makefile
site.conf
^^^^^^^^^
.. literalinclude:: ../site-example/site.conf
:language: lua
modules
^^^^^^^
.. literalinclude:: ../site-example/modules
:language: makefile

View File

@ -1,13 +1,14 @@
GLUON_FEEDS='openwrt gluon routing luci' GLUON_FEEDS='openwrt gluon routing luci'
OPENWRT_REPO=git://git.openwrt.org/12.09/openwrt.git OPENWRT_REPO=git://git.openwrt.org/12.09/openwrt.git
OPENWRT_COMMIT=b0a05d4f7c194c7db43c3c5f1818449e4ecfe653 OPENWRT_COMMIT=80c728365438d670bca4ed30251bfd00d773bae8
PACKAGES_OPENWRT_REPO=git://git.openwrt.org/12.09/packages.git PACKAGES_OPENWRT_REPO=git://git.openwrt.org/12.09/packages.git
PACKAGES_OPENWRT_COMMIT=381bbea65989b63e30f43ab87e51b042325bbff3 PACKAGES_OPENWRT_COMMIT=381bbea65989b63e30f43ab87e51b042325bbff3
PACKAGES_GLUON_REPO=git://github.com/freifunk-gluon/packages.git PACKAGES_GLUON_REPO=git://github.com/freifunk-gluon/packages.git
PACKAGES_GLUON_COMMIT=167e7d5a1ca3648f4bf13a2ba847f979917848b2 PACKAGES_GLUON_BRANCH=2014.3.x
PACKAGES_GLUON_COMMIT=81022c95d124a62c72a819b48712e13476905edf
PACKAGES_ROUTING_REPO=git://github.com/openwrt-routing/packages.git PACKAGES_ROUTING_REPO=git://github.com/openwrt-routing/packages.git
PACKAGES_ROUTING_COMMIT=0e4201a983df967e88e6ce5451f5f5f99bab2370 PACKAGES_ROUTING_COMMIT=0e4201a983df967e88e6ce5451f5f5f99bab2370

View File

@ -1,73 +0,0 @@
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Thu, 24 Jul 2014 03:00:23 +0200
Subject: mac80211: add another ath9k patch
diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch
index ba05bde..6197e0e 100644
--- a/package/mac80211/patches/300-pending_work.patch
+++ b/package/mac80211/patches/300-pending_work.patch
@@ -1,3 +1,21 @@
+commit ff354dbdd743e5fe186df8cd17982db19f78231a
+Author: Felix Fietkau <nbd@openwrt.org>
+Date: Wed Jul 23 15:33:26 2014 +0200
+
+ ath9k: fix aggregation session lockup
+
+ If an aggregation session fails, frames still end up in the driver queue
+ with IEEE80211_TX_CTL_AMPDU set.
+ This causes tx for the affected station/tid to stall, since
+ ath_tx_get_tid_subframe returning packets to send.
+
+ Fix this by clearing IEEE80211_TX_CTL_AMPDU as long as no aggregation
+ session is running.
+
+ Cc: stable@vger.kernel.org
+ Reported-by: Antonio Quartulli <antonio@open-mesh.com>
+ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+
commit 38695a6e5a940e6a524523b88a33916b016fb2a1
Author: Felix Fietkau <nbd@openwrt.org>
Date: Fri Jul 11 12:06:18 2014 +0200
@@ -2990,7 +3008,23 @@ Date: Mon May 19 21:20:49 2014 +0200
if (WARN_ON(--txq->pending_frames < 0))
txq->pending_frames = 0;
-@@ -1999,6 +1997,7 @@ static void setup_frame_info(struct ieee
+@@ -887,6 +885,15 @@ ath_tx_get_tid_subframe(struct ath_softc
+
+ tx_info = IEEE80211_SKB_CB(skb);
+ tx_info->flags &= ~IEEE80211_TX_CTL_CLEAR_PS_FILT;
++
++ /*
++ * No aggregation session is running, but there may be frames
++ * from a previous session or a failed attempt in the queue.
++ * Send them out as normal data frames
++ */
++ if (!tid->active)
++ tx_info->flags &= ~IEEE80211_TX_CTL_AMPDU;
++
+ if (!(tx_info->flags & IEEE80211_TX_CTL_AMPDU)) {
+ bf->bf_state.bf_type = 0;
+ return bf;
+@@ -1999,6 +2006,7 @@ static void setup_frame_info(struct ieee
an = (struct ath_node *) sta->drv_priv;
memset(fi, 0, sizeof(*fi));
@@ -2998,7 +3032,7 @@ Date: Mon May 19 21:20:49 2014 +0200
if (hw_key)
fi->keyix = hw_key->hw_key_idx;
else if (an && ieee80211_is_data(hdr->frame_control) && an->ps_key > 0)
-@@ -2150,6 +2149,7 @@ int ath_tx_start(struct ieee80211_hw *hw
+@@ -2150,6 +2158,7 @@ int ath_tx_start(struct ieee80211_hw *hw
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
struct ieee80211_sta *sta = txctl->sta;
struct ieee80211_vif *vif = info->control.vif;
@@ -3006,7 +3040,7 @@ Date: Mon May 19 21:20:49 2014 +0200
struct ath_softc *sc = hw->priv;
struct ath_txq *txq = txctl->txq;
struct ath_atx_tid *tid = NULL;
-@@ -2170,11 +2170,13 @@ int ath_tx_start(struct ieee80211_hw *hw
+@@ -2170,11 +2179,13 @@ int ath_tx_start(struct ieee80211_hw *hw
q = skb_get_queue_mapping(skb);
ath_txq_lock(sc, txq);

View File

@ -0,0 +1,81 @@
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Fri, 3 Oct 2014 01:29:13 +0200
Subject: Backport alfred from gluon master
diff --git a/alfred/Makefile b/alfred/Makefile
index c8e73c2..648a5ef 100644
--- a/alfred/Makefile
+++ b/alfred/Makefile
@@ -11,9 +11,9 @@ include $(TOPDIR)/rules.mk
# The latest alfred git hash in PKG_REV can be obtained from http://git.open-mesh.org/alfred.git
#
PKG_NAME:=alfred
-PKG_VERSION:=2013.4.0
-PKG_RELEASE:=3
-PKG_MD5SUM:=3891697e127b1037cfc9349fd96e9993
+PKG_VERSION:=2014.3.0
+PKG_RELEASE:=0
+PKG_MD5SUM:=b8ab5677ed73d817b02b0e4fae10357a
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
diff --git a/alfred/patches/0001-alfred-adjust-intervals.patch b/alfred/patches/0001-alfred-adjust-intervals.patch
new file mode 100644
index 0000000..e8ffd3a
--- /dev/null
+++ b/alfred/patches/0001-alfred-adjust-intervals.patch
@@ -0,0 +1,15 @@
+--- a/alfred.h
++++ b/alfred.h
+@@ -30,10 +30,10 @@
+ #include "list.h"
+ #include "packet.h"
+
+-#define ALFRED_INTERVAL 10
++#define ALFRED_INTERVAL 60
+ #define ALFRED_IF_CHECK_INTERVAL 60
+ #define ALFRED_REQUEST_TIMEOUT 10
+-#define ALFRED_SERVER_TIMEOUT 60
++#define ALFRED_SERVER_TIMEOUT 180
+ #define ALFRED_DATA_TIMEOUT 600
+ #define ALFRED_SOCK_PATH "/var/run/alfred.sock"
+ #define NO_FILTER -1
diff --git a/alfred/patches/0001-alfred-gpsd-add-lm-to-linker-flags-for-libgps.patch b/alfred/patches/0001-alfred-gpsd-add-lm-to-linker-flags-for-libgps.patch
deleted file mode 100644
index 3be7169..0000000
--- a/alfred/patches/0001-alfred-gpsd-add-lm-to-linker-flags-for-libgps.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From dbaaf2b294af120e42a0e95644640b128044a568 Mon Sep 17 00:00:00 2001
-From: Simon Wunderlich <sw@simonwunderlich.de>
-Date: Wed, 23 Oct 2013 01:17:36 +0200
-Subject: [PATCH] alfred-gpsd: add -lm to linker flags for libgps
-
-Appearently applications using libgps must link -lm themselves. A patch
-was submitted [1] to change this unusual behaviour upstream, but was
-never applied. Therefore link to -lm to alfred-gpsd too as this should
-not hurt anyway.
-
-[1] https://lists.berlios.de/pipermail/gpsd-dev/2011-August/009451.html
-
-Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
----
- gpsd/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gpsd/Makefile b/gpsd/Makefile
-index 9b21652..92e690f 100644
---- a/gpsd/Makefile
-+++ b/gpsd/Makefile
-@@ -49,7 +49,7 @@ ifeq ($(origin LIBGPS_CFLAGS) $(origin LIBGPS_LDLIBS), undefined undefined)
- $(error No $(LIBGPS_NAME) development libraries found!)
- endif
- LIBGPS_CFLAGS += $(shell $(PKG_CONFIG) --cflags $(LIBGPS_NAME))
-- LIBGPS_LDLIBS += $(shell $(PKG_CONFIG) --libs $(LIBGPS_NAME))
-+ LIBGPS_LDLIBS += $(shell $(PKG_CONFIG) --libs $(LIBGPS_NAME)) -lm
- endif
- CFLAGS += $(LIBGPS_CFLAGS)
- LDLIBS += $(LIBGPS_LDLIBS)
---
-1.7.10.4
-

View File

@ -1,49 +0,0 @@
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Sat, 18 Jan 2014 21:15:16 +0100
Subject: alfred: fix socket fd leak
diff --git a/alfred/patches/0002-batadv-vis-don-t-leak-socket-fd-in-get_if_mac.patch b/alfred/patches/0002-batadv-vis-don-t-leak-socket-fd-in-get_if_mac.patch
new file mode 100644
index 0000000..2374e25
--- /dev/null
+++ b/alfred/patches/0002-batadv-vis-don-t-leak-socket-fd-in-get_if_mac.patch
@@ -0,0 +1,39 @@
+From 449b94ee85a42fbabec550d920002ad07738e733 Mon Sep 17 00:00:00 2001
+Message-Id: <449b94ee85a42fbabec550d920002ad07738e733.1390075976.git.mschiffer@universe-factory.net>
+From: Matthias Schiffer <mschiffer@universe-factory.net>
+Date: Sat, 18 Jan 2014 21:04:05 +0100
+Subject: [PATCH] batadv-vis: don't leak socket fd in get_if_mac()
+
+Leaking an fd every time get_if_mac() is called causes a batadv-vis server
+process to hit the open file limit in a matter of hours when there are many
+active interfaces and the limit is as low as 1024 (which it is on OpenWRT).
+
+Reported-by: Jan-Philipp Litza <janphilipp@litza.de>
+Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
+---
+ vis/vis.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+--- a/vis/vis.c
++++ b/vis/vis.c
+@@ -97,6 +97,7 @@ static int get_if_mac(char *ifname, uint
+ {
+ struct ifreq ifr;
+ int sock;
++ int ret;
+
+ strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
+
+@@ -105,7 +106,11 @@ static int get_if_mac(char *ifname, uint
+ return -1;
+ }
+
+- if (ioctl(sock, SIOCGIFHWADDR, &ifr) == -1) {
++ ret = ioctl(sock, SIOCGIFHWADDR, &ifr);
++
++ close(sock);
++
++ if (ret == -1) {
+ fprintf(stderr, "can't get MAC address: %s\n", strerror(errno));
+ return -1;
+ }

View File

@ -1,24 +0,0 @@
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Sat, 18 Jan 2014 21:52:09 +0100
Subject: alfred: adjust intervals
diff --git a/alfred/patches/0003-alfred-adjust-intervals.patch b/alfred/patches/0003-alfred-adjust-intervals.patch
new file mode 100644
index 0000000..eb31f91
--- /dev/null
+++ b/alfred/patches/0003-alfred-adjust-intervals.patch
@@ -0,0 +1,14 @@
+--- a/alfred.h
++++ b/alfred.h
+@@ -30,9 +30,9 @@
+ #include "list.h"
+ #include "packet.h"
+
+-#define ALFRED_INTERVAL 10
++#define ALFRED_INTERVAL 60
+ #define ALFRED_REQUEST_TIMEOUT 10
+-#define ALFRED_SERVER_TIMEOUT 60
++#define ALFRED_SERVER_TIMEOUT 180
+ #define ALFRED_DATA_TIMEOUT 600
+ #define ALFRED_SOCK_PATH "/var/run/alfred.sock"
+ #define NO_FILTER -1