admin/netdata: bump to v1.38.1
backport libjudy cross-compile fix. <https://github.com/netdata/netdata/pull/14984> <https://github.com/netdata/netdata/issues/14185#issuecomment-1404518811> <https://github.com/netdata/netdata/pull/14349>
This commit is contained in:
parent
5c651b6fd2
commit
46829be727
|
@ -8,7 +8,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=netdata
|
||||
PKG_VERSION:=1.35.1
|
||||
PKG_VERSION:=1.38.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>, Daniel Engberg <daniel.engberg.lists@pyret.net>
|
||||
|
@ -18,7 +18,7 @@ PKG_CPE_ID:=cpe:/a:my-netdata:netdata
|
|||
|
||||
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/netdata/netdata/releases/download/v$(PKG_VERSION)
|
||||
PKG_HASH:=587f6cce421015f8e0a527e3964a4de8cc17085c354498150bc3ade21606bbf9
|
||||
PKG_HASH:=e32a5427f0c00550210dbbf0046c2621313955256edf836db686e2bc270b8d10
|
||||
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION)
|
||||
|
||||
PKG_INSTALL:=1
|
||||
|
@ -59,7 +59,7 @@ CONFIGURE_ARGS += \
|
|||
--disable-plugin-freeipmi \
|
||||
--disable-plugin-cups \
|
||||
--disable-plugin-xenstat \
|
||||
--disable-backend-prometheus-remote-write \
|
||||
--disable-exporting-prometheus-remote-write \
|
||||
--disable-unit-tests \
|
||||
--disable-ml
|
||||
|
||||
|
@ -79,7 +79,6 @@ define Package/netdata/install
|
|||
touch $(1)/etc/netdata/.opt-out-from-anonymous-statistics
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/netdata $(1)/usr/lib
|
||||
$(CP) $(1)/usr/lib/netdata/conf.d/fping.conf $(1)/etc
|
||||
$(CP) $(1)/usr/lib/netdata/conf.d/health_alarm_notify.conf $(1)/etc
|
||||
$(CP) $(1)/usr/lib/netdata/plugins.d/tc-qos-helper.sh $(1)/etc
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/collectors/python.d.plugin/Makefile.am
|
||||
+++ b/collectors/python.d.plugin/Makefile.am
|
||||
@@ -131,109 +131,3 @@ dist_third_party_DATA = \
|
||||
@@ -124,109 +124,3 @@ dist_third_party_DATA = \
|
||||
python_modules/third_party/monotonic.py \
|
||||
python_modules/third_party/filelock.py \
|
||||
$(NULL)
|
||||
|
|
|
@ -0,0 +1,387 @@
|
|||
--- a/.gitignore
|
||||
+++ b/.gitignore
|
||||
@@ -227,7 +227,3 @@ Session.*.vim
|
||||
|
||||
# Jupyter notebook checkpoints
|
||||
.ipynb_checkpoints
|
||||
-
|
||||
-# Judy stuff
|
||||
-JudyLTables.c
|
||||
-judyltablesgen
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -503,15 +503,10 @@ libjudy_a_SOURCES = libnetdata/libjudy/s
|
||||
libnetdata/libjudy/src/JudyL/JudyLNextEmpty.c \
|
||||
libnetdata/libjudy/src/JudyL/JudyLPrev.c \
|
||||
libnetdata/libjudy/src/JudyL/JudyLPrevEmpty.c \
|
||||
+ libnetdata/libjudy/src/JudyL/JudyLTables.c \
|
||||
libnetdata/libjudy/src/JudyHS/JudyHS.c \
|
||||
$(NULL)
|
||||
|
||||
-nodist_libjudy_a_SOURCES = JudyLTables.c
|
||||
-
|
||||
-BUILT_SOURCES += JudyLTables.c
|
||||
-
|
||||
-CLEANFILES += JudyLTables.c
|
||||
-
|
||||
libjudy_a_CFLAGS = $(LIBJUDY_CFLAGS) -DJUDYL -I$(abs_top_srcdir)/libnetdata/libjudy/src -I$(abs_top_srcdir)/libnetdata/libjudy/src/JudyCommon -Wno-sign-compare -Wno-implicit-fallthrough
|
||||
|
||||
libnetdata/libjudy/src/JudyL/libjudy_a-JudyLPrev.$(OBJEXT) : CFLAGS += -DJUDYPREV
|
||||
@@ -521,16 +516,6 @@ libnetdata/libjudy/src/JudyL/libjudy_a-J
|
||||
libnetdata/libjudy/src/JudyL/libjudy_a-JudyLByCount.$(OBJEXT) : CFLAGS += -DNOSMARTJBB -DNOSMARTJBU -DNOSMARTJLB
|
||||
libnetdata/libjudy/src/JudyL/libjudy_a-j__udyLGet.$(OBJEXT) : CFLAGS += -DJUDYGETINLINE
|
||||
|
||||
-noinst_PROGRAMS = judyltablesgen
|
||||
-
|
||||
-judyltablesgen_SOURCES = libnetdata/libjudy/src/JudyL/JudyLTablesGen.c
|
||||
-judyltablesgen_CFLAGS = $(LIBJUDY_CFLAGS) -DJUDYL -I$(abs_top_srcdir)/libnetdata/libjudy/src -I$(abs_top_srcdir)/libnetdata/libjudy/src/JudyCommon -Wno-sign-compare -Wno-implicit-fallthrough
|
||||
-
|
||||
-$(builddir)/judyltablesgen$(EXEEXT) : CFLAGS += -Wno-format -Wno-format-security
|
||||
-
|
||||
-JudyLTables.c: $(abs_top_srcdir)/libnetdata/libjudy/src/JudyL/JudyLTablesGen.c $(builddir)/judyltablesgen$(EXEEXT)
|
||||
- $(builddir)/judyltablesgen$(EXEEXT)
|
||||
-
|
||||
libjudy_a-JudyLTables.$(OBJEXT) : CFLAGS += -I$(abs_top_srcdir)/libnetdata/libjudy/src/JudyL
|
||||
|
||||
if ENABLE_DBENGINE
|
||||
--- /dev/null
|
||||
+++ b/libnetdata/libjudy/src/JudyL/JudyLTables.c
|
||||
@@ -0,0 +1,338 @@
|
||||
+// @(#) From generation tool: $Revision: 4.37 $ $Source: /judy/src/JudyCommon/JudyTables.c $
|
||||
+// Pregenerated and modified by hand. Do not overwrite!
|
||||
+
|
||||
+#include "JudyL.h"
|
||||
+// Leave the malloc() sizes readable in the binary (via strings(1)):
|
||||
+#ifdef JU_64BIT
|
||||
+const char * JudyLMallocSizes = "JudyLMallocSizes = 3, 5, 7, 11, 15, 23, 32, 47, 64, Leaf1 = 13";
|
||||
+#else // JU_32BIT
|
||||
+const char * JudyLMallocSizes = "JudyLMallocSizes = 3, 5, 7, 11, 15, 23, 32, 47, 64, Leaf1 = 25";
|
||||
+#endif // JU_64BIT
|
||||
+
|
||||
+#ifdef JU_64BIT
|
||||
+// object uses 64 words
|
||||
+// cJU_BITSPERSUBEXPB = 32
|
||||
+const uint8_t
|
||||
+j__L_BranchBJPPopToWords[cJU_BITSPERSUBEXPB + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 3, 5, 7, 11, 11, 15, 15, 23,
|
||||
+ 23, 23, 23, 32, 32, 32, 32, 32,
|
||||
+ 47, 47, 47, 47, 47, 47, 47, 64,
|
||||
+ 64, 64, 64, 64, 64, 64, 64, 64
|
||||
+};
|
||||
+
|
||||
+// object uses 15 words
|
||||
+// cJL_LEAF1_MAXPOP1 = 13
|
||||
+const uint8_t
|
||||
+j__L_Leaf1PopToWords[cJL_LEAF1_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 3, 3, 5, 5, 7, 7, 11, 11,
|
||||
+ 11, 15, 15, 15, 15
|
||||
+};
|
||||
+const uint8_t
|
||||
+j__L_Leaf1Offset[cJL_LEAF1_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 1, 1, 1, 1, 1, 1, 2, 2,
|
||||
+ 2, 2, 2, 2, 2
|
||||
+};
|
||||
+
|
||||
+// object uses 64 words
|
||||
+// cJL_LEAF2_MAXPOP1 = 51
|
||||
+const uint8_t
|
||||
+j__L_Leaf2PopToWords[cJL_LEAF2_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 3, 3, 5, 5, 7, 11, 11, 11,
|
||||
+ 15, 15, 15, 15, 23, 23, 23, 23,
|
||||
+ 23, 23, 32, 32, 32, 32, 32, 32,
|
||||
+ 32, 47, 47, 47, 47, 47, 47, 47,
|
||||
+ 47, 47, 47, 47, 47, 64, 64, 64,
|
||||
+ 64, 64, 64, 64, 64, 64, 64, 64,
|
||||
+ 64, 64, 64
|
||||
+};
|
||||
+const uint8_t
|
||||
+j__L_Leaf2Offset[cJL_LEAF2_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 1, 1, 1, 1, 2, 3, 3, 3,
|
||||
+ 3, 3, 3, 3, 5, 5, 5, 5,
|
||||
+ 5, 5, 7, 7, 7, 7, 7, 7,
|
||||
+ 7, 10, 10, 10, 10, 10, 10, 10,
|
||||
+ 10, 10, 10, 10, 10, 13, 13, 13,
|
||||
+ 13, 13, 13, 13, 13, 13, 13, 13,
|
||||
+ 13, 13, 13
|
||||
+};
|
||||
+
|
||||
+// object uses 64 words
|
||||
+// cJL_LEAF3_MAXPOP1 = 46
|
||||
+const uint8_t
|
||||
+j__L_Leaf3PopToWords[cJL_LEAF3_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 3, 3, 5, 7, 7, 11, 11, 11,
|
||||
+ 15, 15, 23, 23, 23, 23, 23, 23,
|
||||
+ 32, 32, 32, 32, 32, 32, 32, 47,
|
||||
+ 47, 47, 47, 47, 47, 47, 47, 47,
|
||||
+ 47, 47, 64, 64, 64, 64, 64, 64,
|
||||
+ 64, 64, 64, 64, 64, 64
|
||||
+};
|
||||
+const uint8_t
|
||||
+j__L_Leaf3Offset[cJL_LEAF3_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 1, 1, 2, 2, 2, 3, 3, 3,
|
||||
+ 4, 4, 6, 6, 6, 6, 6, 6,
|
||||
+ 9, 9, 9, 9, 9, 9, 9, 13,
|
||||
+ 13, 13, 13, 13, 13, 13, 13, 13,
|
||||
+ 13, 13, 18, 18, 18, 18, 18, 18,
|
||||
+ 18, 18, 18, 18, 18, 18
|
||||
+};
|
||||
+
|
||||
+// object uses 63 words
|
||||
+// cJL_LEAF4_MAXPOP1 = 42
|
||||
+const uint8_t
|
||||
+j__L_Leaf4PopToWords[cJL_LEAF4_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 3, 3, 5, 7, 11, 11, 11, 15,
|
||||
+ 15, 15, 23, 23, 23, 23, 23, 32,
|
||||
+ 32, 32, 32, 32, 32, 47, 47, 47,
|
||||
+ 47, 47, 47, 47, 47, 47, 47, 63,
|
||||
+ 63, 63, 63, 63, 63, 63, 63, 63,
|
||||
+ 63, 63
|
||||
+};
|
||||
+const uint8_t
|
||||
+j__L_Leaf4Offset[cJL_LEAF4_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 1, 1, 2, 2, 4, 4, 4, 5,
|
||||
+ 5, 5, 8, 8, 8, 8, 8, 11,
|
||||
+ 11, 11, 11, 11, 11, 16, 16, 16,
|
||||
+ 16, 16, 16, 16, 16, 16, 16, 21,
|
||||
+ 21, 21, 21, 21, 21, 21, 21, 21,
|
||||
+ 21, 21
|
||||
+};
|
||||
+
|
||||
+// object uses 64 words
|
||||
+// cJL_LEAF5_MAXPOP1 = 39
|
||||
+const uint8_t
|
||||
+j__L_Leaf5PopToWords[cJL_LEAF5_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 3, 5, 5, 7, 11, 11, 15, 15,
|
||||
+ 15, 23, 23, 23, 23, 23, 32, 32,
|
||||
+ 32, 32, 32, 47, 47, 47, 47, 47,
|
||||
+ 47, 47, 47, 47, 64, 64, 64, 64,
|
||||
+ 64, 64, 64, 64, 64, 64, 64
|
||||
+};
|
||||
+const uint8_t
|
||||
+j__L_Leaf5Offset[cJL_LEAF5_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 2, 2, 2, 3, 4, 4, 6, 6,
|
||||
+ 6, 9, 9, 9, 9, 9, 12, 12,
|
||||
+ 12, 12, 12, 18, 18, 18, 18, 18,
|
||||
+ 18, 18, 18, 18, 25, 25, 25, 25,
|
||||
+ 25, 25, 25, 25, 25, 25, 25
|
||||
+};
|
||||
+
|
||||
+// object uses 63 words
|
||||
+// cJL_LEAF6_MAXPOP1 = 36
|
||||
+const uint8_t
|
||||
+j__L_Leaf6PopToWords[cJL_LEAF6_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 3, 5, 7, 7, 11, 11, 15, 15,
|
||||
+ 23, 23, 23, 23, 23, 32, 32, 32,
|
||||
+ 32, 32, 47, 47, 47, 47, 47, 47,
|
||||
+ 47, 47, 63, 63, 63, 63, 63, 63,
|
||||
+ 63, 63, 63, 63
|
||||
+};
|
||||
+const uint8_t
|
||||
+j__L_Leaf6Offset[cJL_LEAF6_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 1, 3, 3, 3, 5, 5, 6, 6,
|
||||
+ 10, 10, 10, 10, 10, 14, 14, 14,
|
||||
+ 14, 14, 20, 20, 20, 20, 20, 20,
|
||||
+ 20, 20, 27, 27, 27, 27, 27, 27,
|
||||
+ 27, 27, 27, 27
|
||||
+};
|
||||
+
|
||||
+// object uses 64 words
|
||||
+// cJL_LEAF7_MAXPOP1 = 34
|
||||
+const uint8_t
|
||||
+j__L_Leaf7PopToWords[cJL_LEAF7_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 3, 5, 7, 11, 11, 15, 15, 15,
|
||||
+ 23, 23, 23, 23, 32, 32, 32, 32,
|
||||
+ 32, 47, 47, 47, 47, 47, 47, 47,
|
||||
+ 47, 64, 64, 64, 64, 64, 64, 64,
|
||||
+ 64, 64
|
||||
+};
|
||||
+const uint8_t
|
||||
+j__L_Leaf7Offset[cJL_LEAF7_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 1, 3, 3, 5, 5, 7, 7, 7,
|
||||
+ 11, 11, 11, 11, 15, 15, 15, 15,
|
||||
+ 15, 22, 22, 22, 22, 22, 22, 22,
|
||||
+ 22, 30, 30, 30, 30, 30, 30, 30,
|
||||
+ 30, 30
|
||||
+};
|
||||
+
|
||||
+// object uses 63 words
|
||||
+// cJL_LEAFW_MAXPOP1 = 31
|
||||
+const uint8_t
|
||||
+j__L_LeafWPopToWords[cJL_LEAFW_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 3, 5, 7, 11, 11, 15, 15, 23,
|
||||
+ 23, 23, 23, 32, 32, 32, 32, 47,
|
||||
+ 47, 47, 47, 47, 47, 47, 47, 63,
|
||||
+ 63, 63, 63, 63, 63, 63, 63
|
||||
+};
|
||||
+const uint8_t
|
||||
+j__L_LeafWOffset[cJL_LEAFW_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 2, 3, 4, 6, 6, 8, 8, 12,
|
||||
+ 12, 12, 12, 16, 16, 16, 16, 24,
|
||||
+ 24, 24, 24, 24, 24, 24, 24, 32,
|
||||
+ 32, 32, 32, 32, 32, 32, 32
|
||||
+};
|
||||
+
|
||||
+// object uses 64 words
|
||||
+// cJU_BITSPERSUBEXPL = 64
|
||||
+const uint8_t
|
||||
+j__L_LeafVPopToWords[cJU_BITSPERSUBEXPL + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 3, 3, 3, 5, 5, 7, 7, 11,
|
||||
+ 11, 11, 11, 15, 15, 15, 15, 23,
|
||||
+ 23, 23, 23, 23, 23, 23, 23, 32,
|
||||
+ 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
+ 47, 47, 47, 47, 47, 47, 47, 47,
|
||||
+ 47, 47, 47, 47, 47, 47, 47, 64,
|
||||
+ 64, 64, 64, 64, 64, 64, 64, 64,
|
||||
+ 64, 64, 64, 64, 64, 64, 64, 64
|
||||
+};
|
||||
+#else // JU_32BIT
|
||||
+// object uses 64 words
|
||||
+// cJU_BITSPERSUBEXPB = 32
|
||||
+const uint8_t
|
||||
+j__L_BranchBJPPopToWords[cJU_BITSPERSUBEXPB + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 3, 5, 7, 11, 11, 15, 15, 23,
|
||||
+ 23, 23, 23, 32, 32, 32, 32, 32,
|
||||
+ 47, 47, 47, 47, 47, 47, 47, 64,
|
||||
+ 64, 64, 64, 64, 64, 64, 64, 64
|
||||
+};
|
||||
+
|
||||
+// object uses 32 words
|
||||
+// cJL_LEAF1_MAXPOP1 = 25
|
||||
+const uint8_t
|
||||
+j__L_Leaf1PopToWords[cJL_LEAF1_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 3, 3, 5, 5, 7, 11, 11, 11,
|
||||
+ 15, 15, 15, 15, 23, 23, 23, 23,
|
||||
+ 23, 23, 32, 32, 32, 32, 32, 32,
|
||||
+ 32
|
||||
+};
|
||||
+const uint8_t
|
||||
+j__L_Leaf1Offset[cJL_LEAF1_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 1, 1, 1, 1, 2, 3, 3, 3,
|
||||
+ 3, 3, 3, 3, 5, 5, 5, 5,
|
||||
+ 5, 5, 7, 7, 7, 7, 7, 7,
|
||||
+ 7
|
||||
+};
|
||||
+
|
||||
+// object uses 63 words
|
||||
+// cJL_LEAF2_MAXPOP1 = 42
|
||||
+const uint8_t
|
||||
+j__L_Leaf2PopToWords[cJL_LEAF2_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 3, 3, 5, 7, 11, 11, 11, 15,
|
||||
+ 15, 15, 23, 23, 23, 23, 23, 32,
|
||||
+ 32, 32, 32, 32, 32, 47, 47, 47,
|
||||
+ 47, 47, 47, 47, 47, 47, 47, 63,
|
||||
+ 63, 63, 63, 63, 63, 63, 63, 63,
|
||||
+ 63, 63
|
||||
+};
|
||||
+const uint8_t
|
||||
+j__L_Leaf2Offset[cJL_LEAF2_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 1, 1, 2, 2, 4, 4, 4, 5,
|
||||
+ 5, 5, 8, 8, 8, 8, 8, 11,
|
||||
+ 11, 11, 11, 11, 11, 16, 16, 16,
|
||||
+ 16, 16, 16, 16, 16, 16, 16, 21,
|
||||
+ 21, 21, 21, 21, 21, 21, 21, 21,
|
||||
+ 21, 21
|
||||
+};
|
||||
+
|
||||
+// object uses 63 words
|
||||
+// cJL_LEAF3_MAXPOP1 = 36
|
||||
+const uint8_t
|
||||
+j__L_Leaf3PopToWords[cJL_LEAF3_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 3, 5, 7, 7, 11, 11, 15, 15,
|
||||
+ 23, 23, 23, 23, 23, 32, 32, 32,
|
||||
+ 32, 32, 47, 47, 47, 47, 47, 47,
|
||||
+ 47, 47, 63, 63, 63, 63, 63, 63,
|
||||
+ 63, 63, 63, 63
|
||||
+};
|
||||
+const uint8_t
|
||||
+j__L_Leaf3Offset[cJL_LEAF3_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 1, 3, 3, 3, 5, 5, 6, 6,
|
||||
+ 10, 10, 10, 10, 10, 14, 14, 14,
|
||||
+ 14, 14, 20, 20, 20, 20, 20, 20,
|
||||
+ 20, 20, 27, 27, 27, 27, 27, 27,
|
||||
+ 27, 27, 27, 27
|
||||
+};
|
||||
+
|
||||
+// object uses 63 words
|
||||
+// cJL_LEAFW_MAXPOP1 = 31
|
||||
+const uint8_t
|
||||
+j__L_LeafWPopToWords[cJL_LEAFW_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 3, 5, 7, 11, 11, 15, 15, 23,
|
||||
+ 23, 23, 23, 32, 32, 32, 32, 47,
|
||||
+ 47, 47, 47, 47, 47, 47, 47, 63,
|
||||
+ 63, 63, 63, 63, 63, 63, 63
|
||||
+};
|
||||
+const uint8_t
|
||||
+j__L_LeafWOffset[cJL_LEAFW_MAXPOP1 + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 2, 3, 4, 6, 6, 8, 8, 12,
|
||||
+ 12, 12, 12, 16, 16, 16, 16, 24,
|
||||
+ 24, 24, 24, 24, 24, 24, 24, 32,
|
||||
+ 32, 32, 32, 32, 32, 32, 32
|
||||
+};
|
||||
+
|
||||
+// object uses 32 words
|
||||
+// cJU_BITSPERSUBEXPL = 32
|
||||
+const uint8_t
|
||||
+j__L_LeafVPopToWords[cJU_BITSPERSUBEXPL + 1] =
|
||||
+{
|
||||
+ 0,
|
||||
+ 3, 3, 3, 5, 5, 7, 7, 11,
|
||||
+ 11, 11, 11, 15, 15, 15, 15, 23,
|
||||
+ 23, 23, 23, 23, 23, 23, 23, 32,
|
||||
+ 32, 32, 32, 32, 32, 32, 32, 32
|
||||
+};
|
||||
+#endif // JU_64BIT
|
|
@ -1,174 +0,0 @@
|
|||
From 12340cf1ef5065c5ab539967e610a263cc602741 Mon Sep 17 00:00:00 2001
|
||||
From: thiagoftsm <thiagoftsm@gmail.com>
|
||||
Date: Thu, 30 Jun 2022 07:11:23 +0000
|
||||
Subject: [PATCH] Remove warnings when openssl 3 is used. (#13170)
|
||||
|
||||
* remove_warnings_openssl_v3: Add new macro to define latest OpenSSL version
|
||||
|
||||
* remove_warnings_openssl_v3: Add headers necessary for new API
|
||||
|
||||
* remove_warnings_openssl_v3: Add compatible variables and adjst code inside load_private_key
|
||||
|
||||
* remove_warnings_openssl_v3: Adjust function aclk_get_mqtt_otp according to openssl version
|
||||
|
||||
* remove_warnings_openssl_v3: Adjust function private_decrypt
|
||||
|
||||
* remove_warnings_openssl_v3: Fix function private_decrypt
|
||||
|
||||
* remove_warnings_openssl_v3: Update error message
|
||||
|
||||
* remove_warnings_openssl_v3: Update missing error message
|
||||
---
|
||||
aclk/aclk.c | 34 +++++++++++++++++++++++++++++++++-
|
||||
aclk/aclk_otp.c | 34 ++++++++++++++++++++++++++++++++--
|
||||
aclk/aclk_otp.h | 4 ++++
|
||||
libnetdata/socket/security.h | 8 ++++++++
|
||||
4 files changed, 77 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/aclk/aclk.c
|
||||
+++ b/aclk/aclk.c
|
||||
@@ -52,11 +52,25 @@ struct aclk_shared_state aclk_shared_sta
|
||||
.mqtt_shutdown_msg_rcvd = 0
|
||||
};
|
||||
|
||||
+#if OPENSSL_VERSION_NUMBER >= OPENSSL_VERSION_300
|
||||
+OSSL_DECODER_CTX *aclk_dctx = NULL;
|
||||
+EVP_PKEY *aclk_private_key = NULL;
|
||||
+#else
|
||||
static RSA *aclk_private_key = NULL;
|
||||
+#endif
|
||||
static int load_private_key()
|
||||
{
|
||||
- if (aclk_private_key != NULL)
|
||||
+ if (aclk_private_key != NULL) {
|
||||
+#if OPENSSL_VERSION_NUMBER >= OPENSSL_VERSION_300
|
||||
+ EVP_PKEY_free(aclk_private_key);
|
||||
+ if (aclk_dctx)
|
||||
+ OSSL_DECODER_CTX_free(aclk_dctx);
|
||||
+
|
||||
+ aclk_dctx = NULL;
|
||||
+#else
|
||||
RSA_free(aclk_private_key);
|
||||
+#endif
|
||||
+ }
|
||||
aclk_private_key = NULL;
|
||||
char filename[FILENAME_MAX + 1];
|
||||
snprintfz(filename, FILENAME_MAX, "%s/cloud.d/private.pem", netdata_configured_varlib_dir);
|
||||
@@ -75,7 +89,25 @@ static int load_private_key()
|
||||
goto biofailed;
|
||||
}
|
||||
|
||||
+#if OPENSSL_VERSION_NUMBER >= OPENSSL_VERSION_300
|
||||
+ aclk_dctx = OSSL_DECODER_CTX_new_for_pkey(&aclk_private_key, "PEM", NULL,
|
||||
+ "RSA",
|
||||
+ OSSL_KEYMGMT_SELECT_PRIVATE_KEY,
|
||||
+ NULL, NULL);
|
||||
+
|
||||
+ if (!aclk_dctx) {
|
||||
+ error("Loading private key (from claiming) failed - no OpenSSL Decoders found");
|
||||
+ goto biofailed;
|
||||
+ }
|
||||
+
|
||||
+ // this is necesseary to avoid RSA key with wrong size
|
||||
+ if (!OSSL_DECODER_from_bio(aclk_dctx, key_bio)) {
|
||||
+ error("Decoding private key (from claiming) failed - invalid format.");
|
||||
+ goto biofailed;
|
||||
+ }
|
||||
+#else
|
||||
aclk_private_key = PEM_read_bio_RSAPrivateKey(key_bio, NULL, NULL, NULL);
|
||||
+#endif
|
||||
BIO_free(key_bio);
|
||||
if (aclk_private_key!=NULL)
|
||||
{
|
||||
--- a/aclk/aclk_otp.c
|
||||
+++ b/aclk/aclk_otp.c
|
||||
@@ -446,11 +446,37 @@ cleanup_buffers:
|
||||
return rc;
|
||||
}
|
||||
|
||||
+#if OPENSSL_VERSION_NUMBER >= OPENSSL_VERSION_300
|
||||
+static int private_decrypt(EVP_PKEY *p_key, unsigned char * enc_data, int data_len, unsigned char **decrypted)
|
||||
+#else
|
||||
static int private_decrypt(RSA *p_key, unsigned char * enc_data, int data_len, unsigned char **decrypted)
|
||||
+#endif
|
||||
{
|
||||
+ int result;
|
||||
+#if OPENSSL_VERSION_NUMBER >= OPENSSL_VERSION_300
|
||||
+ size_t outlen = EVP_PKEY_size(p_key);
|
||||
+ EVP_PKEY_CTX *ctx = EVP_PKEY_CTX_new(p_key, NULL);
|
||||
+ if (!ctx)
|
||||
+ return 1;
|
||||
+
|
||||
+ if (EVP_PKEY_decrypt_init(ctx) <= 0)
|
||||
+ return 1;
|
||||
+
|
||||
+ if (EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_OAEP_PADDING) <= 0)
|
||||
+ return 1;
|
||||
+
|
||||
+ *decrypted = mallocz(outlen);
|
||||
+
|
||||
+ if (EVP_PKEY_decrypt(ctx, *decrypted, &outlen, enc_data, data_len) == 1)
|
||||
+ result = (int) outlen;
|
||||
+ else
|
||||
+ result = -1;
|
||||
+#else
|
||||
*decrypted = mallocz(RSA_size(p_key));
|
||||
- int result = RSA_private_decrypt(data_len, enc_data, *decrypted, p_key, RSA_PKCS1_OAEP_PADDING);
|
||||
- if (result == -1) {
|
||||
+ result = RSA_private_decrypt(data_len, enc_data, *decrypted, p_key, RSA_PKCS1_OAEP_PADDING);
|
||||
+#endif
|
||||
+ if (result == -1)
|
||||
+ {
|
||||
char err[512];
|
||||
ERR_error_string_n(ERR_get_error(), err, sizeof(err));
|
||||
error("Decryption of the challenge failed: %s", err);
|
||||
@@ -458,7 +484,11 @@ static int private_decrypt(RSA *p_key, u
|
||||
return result;
|
||||
}
|
||||
|
||||
+#if OPENSSL_VERSION_NUMBER >= OPENSSL_VERSION_300
|
||||
+int aclk_get_mqtt_otp(EVP_PKEY *p_key, char **mqtt_id, char **mqtt_usr, char **mqtt_pass, url_t *target)
|
||||
+#else
|
||||
int aclk_get_mqtt_otp(RSA *p_key, char **mqtt_id, char **mqtt_usr, char **mqtt_pass, url_t *target)
|
||||
+#endif
|
||||
{
|
||||
unsigned char *challenge;
|
||||
int challenge_bytes;
|
||||
--- a/aclk/aclk_otp.h
|
||||
+++ b/aclk/aclk_otp.h
|
||||
@@ -8,7 +8,11 @@
|
||||
#include "https_client.h"
|
||||
#include "aclk_util.h"
|
||||
|
||||
+#if OPENSSL_VERSION_NUMBER >= OPENSSL_VERSION_300
|
||||
+int aclk_get_mqtt_otp(EVP_PKEY *p_key, char **mqtt_id, char **mqtt_usr, char **mqtt_pass, url_t *target);
|
||||
+#else
|
||||
int aclk_get_mqtt_otp(RSA *p_key, char **mqtt_id, char **mqtt_usr, char **mqtt_pass, url_t *target);
|
||||
+#endif
|
||||
int aclk_get_env(aclk_env_t *env, const char *aclk_hostname, int aclk_port);
|
||||
|
||||
#endif /* ACLK_OTP_H */
|
||||
--- a/libnetdata/socket/security.h
|
||||
+++ b/libnetdata/socket/security.h
|
||||
@@ -22,13 +22,21 @@
|
||||
#define OPENSSL_VERSION_097 0x0907000L
|
||||
#define OPENSSL_VERSION_110 0x10100000L
|
||||
#define OPENSSL_VERSION_111 0x10101000L
|
||||
+#define OPENSSL_VERSION_300 0x30000000L
|
||||
|
||||
# include <openssl/ssl.h>
|
||||
# include <openssl/err.h>
|
||||
+# include <openssl/evp.h>
|
||||
+# include <openssl/pem.h>
|
||||
# if (SSLEAY_VERSION_NUMBER >= OPENSSL_VERSION_097) && (OPENSSL_VERSION_NUMBER < OPENSSL_VERSION_110)
|
||||
# include <openssl/conf.h>
|
||||
# endif
|
||||
|
||||
+#if OPENSSL_VERSION_NUMBER >= OPENSSL_VERSION_300
|
||||
+#include <openssl/core_names.h>
|
||||
+#include <openssl/decoder.h>
|
||||
+#endif
|
||||
+
|
||||
struct netdata_ssl{
|
||||
SSL *conn; //SSL connection
|
||||
uint32_t flags; //The flags for SSL connection
|
Loading…
Reference in New Issue