From 0ef5300a7597dc787c8160028b8b1f654a4b4552 Mon Sep 17 00:00:00 2001 From: Saverio Proto Date: Tue, 13 Nov 2012 09:03:30 +0000 Subject: [PATCH] olsrd: version bump to 0.6.4 the patch 100-olsrd-fix-stack-corruption-in-net_output.patch was merged upstream in the olsrd repository with commit f4d250ad4fad5fcfe5b5feaac3f3e121adef3fba SVN-Revision: 34181 --- net/olsrd/Makefile | 6 +-- ...d-fix-stack-corruption-in-net_output.patch | 52 ------------------- 2 files changed, 3 insertions(+), 55 deletions(-) delete mode 100644 net/olsrd/patches/100-olsrd-fix-stack-corruption-in-net_output.patch diff --git a/net/olsrd/Makefile b/net/olsrd/Makefile index e176185d3..343ec6e42 100644 --- a/net/olsrd/Makefile +++ b/net/olsrd/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=olsrd -PKG_VERSION:=0.6.3 -PKG_RELEASE:=3 +PKG_VERSION:=0.6.4 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://www.olsr.org/releases/0.6 -PKG_MD5SUM:=b28ed2e3dc6c529ab690f1c805ad32a2 +PKG_MD5SUM:=03b1c3660e823d906234c578057f3851 PKG_BUILD_PARALLEL:=1 include $(INCLUDE_DIR)/package.mk diff --git a/net/olsrd/patches/100-olsrd-fix-stack-corruption-in-net_output.patch b/net/olsrd/patches/100-olsrd-fix-stack-corruption-in-net_output.patch deleted file mode 100644 index 77c232357..000000000 --- a/net/olsrd/patches/100-olsrd-fix-stack-corruption-in-net_output.patch +++ /dev/null @@ -1,52 +0,0 @@ -From f4d250ad4fad5fcfe5b5feaac3f3e121adef3fba Mon Sep 17 00:00:00 2001 -From: Jo-Philipp Wich -Date: Fri, 22 Jun 2012 03:17:59 +0200 -Subject: [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. ---- - src/net_olsr.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - ---- a/src/net_olsr.c -+++ b/src/net_olsr.c -@@ -336,6 +336,8 @@ net_output(struct interface *ifp) - { - struct sockaddr_in *sin = NULL; - struct sockaddr_in6 *sin6 = NULL; -+ struct sockaddr_in dst; -+ struct sockaddr_in6 dst6; - struct ptf *tmp_ptf_list; - union olsr_packet *outmsg; - int retval; -@@ -354,7 +356,6 @@ net_output(struct interface *ifp) - outmsg->v4.olsr_packlen = htons(ifp->netbuf.pending); - - if (olsr_cnf->ip_version == AF_INET) { -- struct sockaddr_in dst; - /* IP version 4 */ - sin = (struct sockaddr_in *)&ifp->int_broadaddr; - -@@ -365,7 +366,6 @@ net_output(struct interface *ifp) - if (sin->sin_port == 0) - sin->sin_port = htons(olsr_cnf->olsrport); - } else { -- struct sockaddr_in6 dst6; - /* IP version 6 */ - sin6 = (struct sockaddr_in6 *)&ifp->int6_multaddr; - /* Copy sin */ -- 2.30.2