Package: olsrd / 0.6.2-2.1

Metadata

Package Version Patches format
olsrd 0.6.2-2.1 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
100 debug_level.patch | (download)

files/olsrd.conf.default.rfc | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
110 build_fix.patch | (download)

Makefile | 2 0 + 2 - 0 !
1 file changed, 2 deletions(-)

---
111 build mips and armhf.patch | (download)

make/Makefile.linux | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
230 usr lib olsrd.patch | (download)

Makefile.inc | 2 1 + 1 - 0 !
make/Makefile.linux | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

---
260 quagga plugin detect protocol version.patch | (download)

lib/quagga/src/quagga.h | 4 4 + 0 - 0 !
1 file changed, 4 insertions(+)

---
270 gui linux gtk align olsr_ip_addr to olsr definition of it.patch | (download)

gui/linux-gtk/src/ipc.c | 2 1 + 1 - 0 !
gui/linux-gtk/src/olsr_protocol.h | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

 align olsr_ip_addr to olsr definition of it
280 fix linux gtk build.patch | (download)

gui/linux-gtk/Makefile | 5 3 + 2 - 0 !
1 file changed, 3 insertions(+), 2 deletions(-)

 fix linux-gtk build
 fix gui/linux-gtk build on Debian/Ubuntu by using standard LDFLAGS & LIBS vars
290 hardcode etc olsrd olsrd conf.patch | (download)

Makefile.inc | 2 1 + 1 - 0 !
lib/arprefresh/README_ARPREFRESH | 2 1 + 1 - 0 !
lib/bmf/README_BMF | 10 5 + 5 - 0 !
lib/mini/README_MINI | 2 1 + 1 - 0 !
lib/nameservice/README_NAMESERVICE | 2 1 + 1 - 0 !
lib/pgraph/README_PGRAPH | 4 2 + 2 - 0 !
lib/quagga/README_QUAGGA | 2 1 + 1 - 0 !
lib/watchdog/README_WATCHDOG | 2 1 + 1 - 0 !
make/Makefile.linux | 1 1 + 0 - 0 !
9 files changed, 14 insertions(+), 13 deletions(-)

---
300 fix stack corruption in net output.patch | (download)

src/net_olsr.c | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 [patch] olsrd: fix stack corruption in net_output()

The net_output() function indirectly uses the stack variables dst and dst6
outside of the scope they're declared in, this might leads to olsr_sendto()
being called with a corrupted destination sockaddr_in.

This failure condition can be observed in the log, olsrd will continuosly
print "sendto(v4): Invalid Argument" or a similar message. On ARM it has been
reported to result in "Unsupported Address Family".

This bug became apparant on a custon OpenWrt x86_64 uClibc target using the
Linaro GCC 4.7-2012.04 compiler, it has been reported for an unspecified ARM
target as well.

The offending code seems to be unchanged since 2008 and it does not cause
issues on 32bit systems and/or with older (Linaro) GCC versions, but the
compiler used in our tests seems to perform more aggressive optimizations
leading to a stack corruption.