ptpd2: fix build failures due to EVP_MD_CTX conflict and U64 missing

In src/dep/ntpengine/ntp_isc_md5.*, the typedef of EVP_MD_CTX
conflicts with a definition of the same type done by OpenSSL. This
issue is referenced at https://github.com/ptpd/ptpd/issues/54, and has
been fixed upstream in commit
838b985510.

In src/dep/snmp.c, U64 can be missing or conflicts with new perl as
reported at https://github.com/ptpd/ptpd/issues/25. This issue has
been fixed upstream in commit
1886522b50. This
commit is adapted to apply on the current version of ptpd2 we have in
Buildroot.

Fixes:
http://autobuild.buildroot.net/results/47b99a6de256bfc0f5a8ae1484bb34e93b407237/
http://autobuild.buildroot.net/results/08365fc559dda74640b9750358c82e84600a68ea/
http://autobuild.buildroot.net/results/9b41c513500c63a9890973a0f17ffdb84d44d580/
http://autobuild.buildroot.net/results/2ed79d01635c9a5e1018229dc6f4b7240a995b87/
http://autobuild.buildroot.net/results/6d1b7e191f573334115684b85165f2bc27d75d8f/
http://autobuild.buildroot.net/results/f54c6fd841b3ea77dc12048c81f3f2991b679252/
http://autobuild.buildroot.net/results/332bc77bcde0bef1b2fd7b9993409dd051c27cd6/
http://autobuild.buildroot.net/results/4b416edaec9528d75a82c9570b8f8297718ca62d/

Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Giulio Benetti 2018-09-01 00:48:45 +02:00 committed by Thomas Petazzoni
parent 8ebe67a96f
commit 5b7bc560a5
2 changed files with 74 additions and 0 deletions

View File

@ -0,0 +1,46 @@
From 838b985510c360e651d18134e64f258f2f4c6e7c Mon Sep 17 00:00:00 2001
From: Giulio Benetti <giulio.benetti@micronovasrl.com>
Date: Fri, 31 Aug 2018 18:46:56 +0200
Subject: [PATCH] ntp_isc_md5: rename EVP_MD_CTX into PTPD_EVP_MD_CTX
EVP_MD_CTX can conflict with openssl that defines a completely different
typedef with same name.
Since this typedef is used only twice in the entire ptpd,
substitute EVP_MD_CTX with PTPD_EVP_MD_CTX.
Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
---
src/dep/ntpengine/ntp_isc_md5.c | 2 +-
src/dep/ntpengine/ntp_isc_md5.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/dep/ntpengine/ntp_isc_md5.c b/src/dep/ntpengine/ntp_isc_md5.c
index 7d04467..e4e34ac 100644
--- a/src/dep/ntpengine/ntp_isc_md5.c
+++ b/src/dep/ntpengine/ntp_isc_md5.c
@@ -262,7 +262,7 @@ MD5authencrypt(
{
u_char digest[64];
u_int len;
- EVP_MD_CTX ctx;
+ PTPD_EVP_MD_CTX ctx;
pkt[length / 4] = htonl(keyid);
EVP_DigestInit(&ctx);
EVP_DigestUpdate(&ctx, (u_char *)key, (u_int)strlen(key));
diff --git a/src/dep/ntpengine/ntp_isc_md5.h b/src/dep/ntpengine/ntp_isc_md5.h
index fa6e2ee..236c0e4 100644
--- a/src/dep/ntpengine/ntp_isc_md5.h
+++ b/src/dep/ntpengine/ntp_isc_md5.h
@@ -80,7 +80,7 @@ isc_md5_final(isc_md5_t *ctx, unsigned char *digest);
# define MD5Init(c) isc_md5_init(c)
# define MD5Update(c, p, s) isc_md5_update(c, p, s)
# define MD5Final(d, c) isc_md5_final((c), (d)) /* swapped */
- typedef MD5_CTX EVP_MD_CTX;
+ typedef MD5_CTX PTPD_EVP_MD_CTX;
# define EVP_DigestInit(c) MD5Init(c)
# define EVP_DigestUpdate(c, p, s) MD5Update(c, p, s)
# define EVP_DigestFinal(c, d, pdl) \
--
2.17.1

View File

@ -0,0 +1,28 @@
From 84157b11e8f27318f7291823c657f6313c3b60af Mon Sep 17 00:00:00 2001
From: Jan Breuer <jan.breuer@jaybee.cz>
Date: Tue, 12 Jul 2016 18:07:08 +0200
Subject: [PATCH] Solve issue #25 - Removing type U64 from net-snmp related
code
[Thomas: Backport to 2.3.1.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
src/dep/snmp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/dep/snmp.c b/src/dep/snmp.c
index 5c08aaa..3086c86 100644
--- a/src/dep/snmp.c
+++ b/src/dep/snmp.c
@@ -221,7 +221,7 @@ snmpHeaderIndexBest(struct snmpHeaderIndex *idx)
#define SNMP_LOCAL_VARIABLES \
static unsigned long long_ret; \
- static U64 counter64_ret; \
+ static struct counter64 counter64_ret; \
static uint32_t ipaddr; \
Integer64 bigint; \
struct snmpHeaderIndex idx; \
--
2.14.4