From a2661b0414bad95fb7e325b41b2b3872c62a4111 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Sat, 19 Jan 2013 10:19:40 +0000 Subject: [PATCH] AA: busybox: merge r35239 SVN-Revision: 35241 --- package/busybox/Makefile | 4 +-- ...004-upstream-percent_decode_in_place.patch | 2 +- .../006-upstream_CVE-2011-2716_fixes.patch | 12 ++++---- .../611-upstream_ntpd_version_fix.patch | 29 +++++++++++++++++++ 4 files changed, 38 insertions(+), 9 deletions(-) create mode 100644 package/busybox/patches/611-upstream_ntpd_version_fix.patch diff --git a/package/busybox/Makefile b/package/busybox/Makefile index 177a42ff33..af2dcdae7c 100644 --- a/package/busybox/Makefile +++ b/package/busybox/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2012 OpenWrt.org +# Copyright (C) 2006-2013 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=busybox PKG_VERSION:=1.19.4 -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_FLAGS:=essential PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 diff --git a/package/busybox/patches/004-upstream-percent_decode_in_place.patch b/package/busybox/patches/004-upstream-percent_decode_in_place.patch index d94ee47900..bef4a90790 100644 --- a/package/busybox/patches/004-upstream-percent_decode_in_place.patch +++ b/package/busybox/patches/004-upstream-percent_decode_in_place.patch @@ -222,7 +222,7 @@ Signed-off-by: Denys Vlasenko h->host = sp + 1; } -@@ -661,12 +666,6 @@ static void download_one_url(const char +@@ -661,12 +666,6 @@ static void download_one_url(const char #if ENABLE_FEATURE_WGET_AUTHENTICATION if (target.user) { diff --git a/package/busybox/patches/006-upstream_CVE-2011-2716_fixes.patch b/package/busybox/patches/006-upstream_CVE-2011-2716_fixes.patch index 94d5f34a16..532fcee0fb 100644 --- a/package/busybox/patches/006-upstream_CVE-2011-2716_fixes.patch +++ b/package/busybox/patches/006-upstream_CVE-2011-2716_fixes.patch @@ -1,5 +1,5 @@ ---- busybox-1.19.4/networking/udhcp/common.c -+++ busybox-1.19.4-udhcp/networking/udhcp/common.c +--- a/networking/udhcp/common.c ++++ b/networking/udhcp/common.c @@ -29,16 +29,16 @@ const struct dhcp_optflag dhcp_optflags[ // { OPTION_IP | OPTION_LIST , 0x07 }, /* DHCP_LOG_SERVER */ // { OPTION_IP | OPTION_LIST , 0x08 }, /* DHCP_COOKIE_SERVER */ @@ -56,8 +56,8 @@ #if ENABLE_FEATURE_UDHCP_RFC3397 case OPTION_DNS_STRING: #endif ---- busybox-1.19.4/networking/udhcp/common.h -+++ busybox-1.19.4-udhcp/networking/udhcp/common.h +--- a/networking/udhcp/common.h ++++ b/networking/udhcp/common.h @@ -80,6 +80,9 @@ enum { OPTION_IP = 1, OPTION_IP_PAIR, @@ -68,8 +68,8 @@ // OPTION_BOOLEAN, OPTION_U8, OPTION_U16, ---- busybox-1.19.4/networking/udhcp/dhcpc.c -+++ busybox-1.19.4-udhcp/networking/udhcp/dhcpc.c +--- a/networking/udhcp/dhcpc.c ++++ b/networking/udhcp/dhcpc.c @@ -101,6 +101,7 @@ static const uint8_t len_of_option_as_st [OPTION_IP_PAIR ] = sizeof("255.255.255.255 ") * 2, [OPTION_STATIC_ROUTES ] = sizeof("255.255.255.255/32 255.255.255.255 "), diff --git a/package/busybox/patches/611-upstream_ntpd_version_fix.patch b/package/busybox/patches/611-upstream_ntpd_version_fix.patch new file mode 100644 index 0000000000..7bcb8475d7 --- /dev/null +++ b/package/busybox/patches/611-upstream_ntpd_version_fix.patch @@ -0,0 +1,29 @@ +From b7841cf7b919b16d1bd4619154bf7cb4c22b4ccd Mon Sep 17 00:00:00 2001 +From: Paul Marks +Date: Mon, 14 Jan 2013 01:39:10 +0000 +Subject: ntpd: fix incorrect m_status field in outgoing packets. Closes 5120 + +When using busybox ntpd with an NTPv3 client and NTPv4 server (or vice +versa), the version numbers can be incorrectly ORed together, yielding +the bogus value of "NTPv7". This makes ntpd unusable with clients +such as Chrony and Windows "Internet Time". + +This patch avoids the version mangling, by copying only the Leap +Indicator bits from the server's status field. + +Signed-off-by: Paul Marks +Signed-off-by: Denys Vlasenko +--- +(limited to 'networking/ntpd.c') + +--- a/networking/ntpd.c ++++ b/networking/ntpd.c +@@ -1794,7 +1794,7 @@ recv_and_process_client_pkt(void /*int f + + /* Build a reply packet */ + memset(&msg, 0, sizeof(msg)); +- msg.m_status = G.stratum < MAXSTRAT ? G.ntp_status : LI_ALARM; ++ msg.m_status = G.stratum < MAXSTRAT ? (G.ntp_status & LI_MASK) : LI_ALARM; + msg.m_status |= (query_status & VERSION_MASK); + msg.m_status |= ((query_status & MODE_MASK) == MODE_CLIENT) ? + MODE_SERVER : MODE_SYM_PAS; -- 2.30.2