diff --git a/net/haproxy/Makefile b/net/haproxy/Makefile index 9724dfff1..debf46a72 100644 --- a/net/haproxy/Makefile +++ b/net/haproxy/Makefile @@ -10,12 +10,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=haproxy -PKG_VERSION:=2.1.4 +PKG_VERSION:=2.1.5 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://www.haproxy.org/download/2.1/src -PKG_HASH:=51030ff696d7067162b4d24d354044293aecfbb36d7acc2f840c8d928bfe91cd +PKG_HASH:=42174ac5836ab243565b888299ec30115c1259e75872696708528260c6700ea1 PKG_MAINTAINER:=Thomas Heil , \ Christian Lachner @@ -86,14 +86,12 @@ ifeq ($(CONFIG_TARGET_x86),y) endif ifeq ($(CONFIG_USE_UCLIBC),y) - LINUX_TARGET:=linux-uclibc -else - LINUX_TARGET:=linux-glibc + ADDON+=USE_LIBCRYPT= endif ifeq ($(BUILD_VARIANT),ssl) ADDON+=USE_OPENSSL=1 - ADDON+=ADDLIB="-lcrypto -lm " + ADDON+=ADDLIB="-lcrypto -lm" endif ifeq ($(ENABLE_REGPARM),y) @@ -101,7 +99,7 @@ ifeq ($(ENABLE_REGPARM),y) endif define Build/Compile - $(MAKE) TARGET=$(LINUX_TARGET) -C $(PKG_BUILD_DIR) \ + $(MAKE) TARGET=linux-glibc -C $(PKG_BUILD_DIR) \ DESTDIR="$(PKG_INSTALL_DIR)" \ CC="$(TARGET_CC)" \ PCREDIR="$(STAGING_DIR)/usr/" \ @@ -112,7 +110,7 @@ define Build/Compile USE_THREAD=1 USE_PTHREAD_PSHARED=1 \ VERSION="$(PKG_VERSION)" SUBVERS="-$(PKG_RELEASE)" \ VERDATE="$(shell date -d @$(SOURCE_DATE_EPOCH) '+%Y/%m/%d')" IGNOREGIT=1 \ - $(ADDON) \ + $(ADDON) USE_BACKTRACE= \ CFLAGS="$(TARGET_CFLAGS) -fno-strict-aliasing -Wdeclaration-after-statement -fwrapv -Wno-format-truncation -Wno-unused-label -Wno-sign-compare -Wno-unused-parameter -Wno-old-style-declaration -Wno-ignored-qualifiers -Wno-clobbered -Wno-missing-field-initializers -Wno-implicit-fallthrough -Wno-stringop-overflow -Wno-cast-function-type -Wtype-limits -Wshift-negative-value -Wshift-overflow=2 -Wduplicated-cond -Wnull-dereference" \ LD="$(TARGET_CC)" \ LDFLAGS="$(TARGET_LDFLAGS) -latomic" \ diff --git a/net/haproxy/get-latest-patches.sh b/net/haproxy/get-latest-patches.sh index 2edb44e3b..d78edf9c7 100755 --- a/net/haproxy/get-latest-patches.sh +++ b/net/haproxy/get-latest-patches.sh @@ -1,7 +1,7 @@ #!/bin/sh CLONEURL=https://git.haproxy.org/git/haproxy-2.1.git -BASE_TAG=v2.1.4 +BASE_TAG=v2.1.5 TMP_REPODIR=tmprepo PATCHESDIR=patches diff --git a/net/haproxy/patches/000-BUG-MINOR-protocol_buffer-Wrong-maximum-shifting.patch b/net/haproxy/patches/000-BUG-MINOR-protocol_buffer-Wrong-maximum-shifting.patch deleted file mode 100644 index 71b6277b7..000000000 --- a/net/haproxy/patches/000-BUG-MINOR-protocol_buffer-Wrong-maximum-shifting.patch +++ /dev/null @@ -1,56 +0,0 @@ -commit c7a203a6c75e4efff5f3d5d675d925f11b47dba1 -Author: Frédéric Lécaille -Date: Thu Apr 2 14:24:31 2020 +0200 - - BUG/MINOR: protocol_buffer: Wrong maximum shifting. - - This patch fixes a bad stop condition when decoding a protocol buffer variable integer - whose maximum lenghts are 10, shifting a uint64_t value by more than 63. - - Thank you to Ilya for having reported this issue. - - Must be backported to 2.1 and 2.0. - - (cherry picked from commit 876ed55d9b8d0c298b6cac1003ec365a19bf7aad) - Signed-off-by: Willy Tarreau - -diff --git a/include/proto/protocol_buffers.h b/include/proto/protocol_buffers.h -index 69f0bdf81..0426d83d2 100644 ---- a/include/proto/protocol_buffers.h -+++ b/include/proto/protocol_buffers.h -@@ -158,7 +158,7 @@ protobuf_varint(uint64_t *val, unsigned char *pos, size_t len) - - shift += 7; - /* The maximum length in bytes of a 64-bit encoded value is 10. */ -- if (shift > 70) -+ if (shift > 63) - return 0; - } - -@@ -194,7 +194,7 @@ protobuf_decode_varint(uint64_t *val, unsigned char **pos, size_t *len) - - shift += 7; - /* The maximum length in bytes of a 64-bit encoded value is 10. */ -- if (shift > 70) -+ if (shift > 63) - return 0; - } - -@@ -227,7 +227,7 @@ protobuf_skip_varint(unsigned char **pos, size_t *len, size_t vlen) - - shift += 7; - /* The maximum length in bytes of a 64-bit encoded value is 10. */ -- if (shift > 70) -+ if (shift > 63) - return 0; - } - -@@ -263,7 +263,7 @@ protobuf_varint_getlen(unsigned char *pos, size_t len) - - shift += 7; - /* The maximum length in bytes of a 64-bit encoded value is 10. */ -- if (shift > 70) -+ if (shift > 63) - return -1; - } - diff --git a/net/haproxy/patches/000-OPENWRT-BUILD-make-dladdr1-depend-on-glibc-version-and-not-__USE_GNU.patch b/net/haproxy/patches/000-OPENWRT-BUILD-make-dladdr1-depend-on-glibc-version-and-not-__USE_GNU.patch new file mode 100644 index 000000000..00caee0a7 --- /dev/null +++ b/net/haproxy/patches/000-OPENWRT-BUILD-make-dladdr1-depend-on-glibc-version-and-not-__USE_GNU.patch @@ -0,0 +1,23 @@ +commit 62af9c83f9ed2b25e0061798e29e3cccfce5fbdc +Author: Willy Tarreau +Date: Tue Mar 10 07:51:48 2020 +0100 + + BUILD: make dladdr1 depend on glibc version and not __USE_GNU + + Technically speaking the call was implemented in glibc 2.3 so we must + rely on this and not on __USE_GNU which is an internal define of glibc + to track use of GNU_SOURCE. + +diff --git a/src/standard.c b/src/standard.c +index e0ea8328e..d16eebfea 100644 +--- a/src/standard.c ++++ b/src/standard.c +@@ -4350,7 +4350,7 @@ void debug_hexdump(FILE *out, const char *pfx, const char *buf, + static int dladdr_and_size(const void *addr, Dl_info *dli, size_t *size) + { + int ret; +-#ifdef __USE_GNU // most detailed one ++#if (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) // most detailed one + const ElfW(Sym) *sym; + + ret = dladdr1(addr, dli, (void **)&sym, RTLD_DL_SYMENT); diff --git a/net/haproxy/patches/001-OPENWRT-add-uclibc-support.patch b/net/haproxy/patches/001-OPENWRT-add-uclibc-support.patch deleted file mode 100644 index ddec13479..000000000 --- a/net/haproxy/patches/001-OPENWRT-add-uclibc-support.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/Makefile -+++ b/Makefile -@@ -342,6 +342,15 @@ ifeq ($(TARGET),linux-glibc) - USE_ACCEPT4 USE_LINUX_SPLICE USE_PRCTL USE_THREAD_DUMP USE_GETADDRINFO) - endif - -+# For linux >= 2.6.28 and uclibc -+ifeq ($(TARGET),linux-uclibc) -+ set_target_defaults = $(call default_opts, \ -+ USE_POLL USE_TPROXY USE_DL USE_RT USE_NETFILTER \ -+ USE_CPU_AFFINITY USE_THREAD USE_EPOLL USE_FUTEX USE_LINUX_TPROXY \ -+ USE_ACCEPT4 USE_LINUX_SPLICE USE_PRCTL USE_THREAD_DUMP USE_NS USE_TFO \ -+ USE_GETADDRINFO) -+endif -+ - # Solaris 8 and above - ifeq ($(TARGET),solaris) - # We also enable getaddrinfo() which works since solaris 8.