Merge pull request #12369 from gladiac1337/haproxy-2.1.5
haproxy: Update HAProxy to v2.1.5
This commit is contained in:
commit
d8ee5fae31
5 changed files with 30 additions and 83 deletions
|
@ -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 <heil@terminal-consulting.de>, \
|
||||
Christian Lachner <gladiac@gmail.com>
|
||||
|
@ -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" \
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -1,56 +0,0 @@
|
|||
commit c7a203a6c75e4efff5f3d5d675d925f11b47dba1
|
||||
Author: Frédéric Lécaille <flecaille@haproxy.com>
|
||||
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 <w@1wt.eu>
|
||||
|
||||
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;
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
commit 62af9c83f9ed2b25e0061798e29e3cccfce5fbdc
|
||||
Author: Willy Tarreau <w@1wt.eu>
|
||||
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);
|
|
@ -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.
|
Loading…
Reference in a new issue