Marcus Rueckert
55e4255fc5
0001-BUG-MAJOR-fix-listening-IP-address-storage-for-front.patch 0002-BUG-MINOR-fix-listening-IP-address-storage-for-front.patch 0003-DOC-Fix-typo-so-fetch-is-properly-parsed-by-Cyril-s-.patch 0004-BUG-MAJOR-http-fix-breakage-of-reqdeny-causing-rando.patch 0005-BUG-MEDIUM-stick-tables-fix-breakage-in-table-conver.patch 0006-BUG-MEDIUM-dns-unbreak-DNS-resolver-after-header-fix.patch 0007-BUILD-fix-build-on-Solaris-11.patch 0008-CLEANUP-connection-fix-double-negation-on-memcmp.patch 0009-BUG-MEDIUM-stats-show-servers-state-may-show-an-serv.patch 0010-BUG-MEDIUM-fix-risk-of-segfault-with-show-tls-keys.patch 0011-BUG-MEDIUM-sticktables-segfault-in-some-configuratio.patch 0012-BUG-MEDIUM-lua-converters-doesn-t-work.patch 0013-BUG-MINOR-http-add-header-header-name-copied-twice.patch 0014-BUG-MEDIUM-http-add-header-buffer-overwritten.patch OBS-URL: https://build.opensuse.org/package/show/server:http/haproxy?expand=0&rev=129
68 lines
2.4 KiB
Diff
68 lines
2.4 KiB
Diff
From a71fda4bf6c3e57997a3873a8bdb2b295b2299a2 Mon Sep 17 00:00:00 2001
|
|
From: Willy Tarreau <w@1wt.eu>
|
|
Date: Fri, 20 May 2016 06:29:59 +0200
|
|
Subject: [PATCH 07/14] BUILD: fix build on Solaris 11
|
|
|
|
htonll()/ntohll() already exist on Solaris 11 with a different declaration,
|
|
causing a build error as reported by Jonathan Fisher. They used to exist on
|
|
OSX with a #define which allowed us to detect them. It was a bad idea to give
|
|
these functions a name subject to conflicts like this. Simply rename them
|
|
my_htonll()/my_ntohll() to definitely get rid of the conflict.
|
|
|
|
This patch must be backported to 1.6.
|
|
|
|
(cherry picked from commit 5f6e9054b920b9952baa9860c6ead1039c66e940)
|
|
---
|
|
include/common/standard.h | 10 +++-------
|
|
src/sample.c | 2 +-
|
|
2 files changed, 4 insertions(+), 8 deletions(-)
|
|
|
|
diff --git a/include/common/standard.h b/include/common/standard.h
|
|
index 2cc9f45..88776df 100644
|
|
--- a/include/common/standard.h
|
|
+++ b/include/common/standard.h
|
|
@@ -1009,8 +1009,7 @@ static inline unsigned char utf8_return_length(unsigned char code)
|
|
* the whole code is optimized out. In little endian, with a decent compiler,
|
|
* a few bswap and 2 shifts are left, which is the minimum acceptable.
|
|
*/
|
|
-#ifndef htonll
|
|
-static inline unsigned long long htonll(unsigned long long a)
|
|
+static inline unsigned long long my_htonll(unsigned long long a)
|
|
{
|
|
union {
|
|
struct {
|
|
@@ -1021,15 +1020,12 @@ static inline unsigned long long htonll(unsigned long long a)
|
|
} w = { .by64 = a };
|
|
return ((unsigned long long)htonl(w.by32.w1) << 32) | htonl(w.by32.w2);
|
|
}
|
|
-#endif
|
|
|
|
/* Turns 64-bit value <a> from network byte order to host byte order. */
|
|
-#ifndef ntohll
|
|
-static inline unsigned long long ntohll(unsigned long long a)
|
|
+static inline unsigned long long my_ntohll(unsigned long long a)
|
|
{
|
|
- return htonll(a);
|
|
+ return my_htonll(a);
|
|
}
|
|
-#endif
|
|
|
|
/* returns a 64-bit a timestamp with the finest resolution available. The
|
|
* unit is intentionally not specified. It's mostly used to compare dates.
|
|
diff --git a/src/sample.c b/src/sample.c
|
|
index ecea85e..527ff62 100644
|
|
--- a/src/sample.c
|
|
+++ b/src/sample.c
|
|
@@ -765,7 +765,7 @@ static int c_int2bin(struct sample *smp)
|
|
{
|
|
struct chunk *chk = get_trash_chunk();
|
|
|
|
- *(unsigned long long int *)chk->str = htonll(smp->data.u.sint);
|
|
+ *(unsigned long long int *)chk->str = my_htonll(smp->data.u.sint);
|
|
chk->len = 8;
|
|
|
|
smp->data.u.str = *chk;
|
|
--
|
|
2.6.6
|
|
|