[packages/xmlrpc-c] - updated to 1.43.08
qboosh
qboosh at pld-linux.org
Sun Oct 27 13:47:33 CET 2024
commit 64e09820d6d4f3a2313497e922687961cd71a66c
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sun Oct 27 13:01:39 2024 +0100
- updated to 1.43.08
xmlrpc-c-cflags.patch | 13 ++-
xmlrpc-c-cmake.patch | 98 +++++++++++++++-----
xmlrpc-c-libxml2.patch | 216 +++++++++++++++++++++++++++++++++++++++++++
xmlrpc-c-printf-size_t.patch | 42 +++------
xmlrpc-c-soname.patch | 84 ++++++++---------
xmlrpc-c-uninit-curl.patch | 28 ------
xmlrpc-c.spec | 13 ++-
7 files changed, 359 insertions(+), 135 deletions(-)
---
diff --git a/xmlrpc-c.spec b/xmlrpc-c.spec
index 8720bf5..e4b6396 100644
--- a/xmlrpc-c.spec
+++ b/xmlrpc-c.spec
@@ -1,7 +1,7 @@
Summary: XML-RPC C library - an implementation of the xmlrpc protocol
Summary(pl.UTF-8): Biblioteka XML-RPC C - implementacja protokołu xmlrpc
Name: xmlrpc-c
-Version: 1.39.13
+Version: 1.43.08
Release: 1
License: XML-RPC for C License (BSD-like)
Group: Libraries
@@ -11,16 +11,16 @@ Group: Libraries
# and check which version was used for it.
# for "super stable" versions:
Source0: https://downloads.sourceforge.net/xmlrpc-c/%{name}-%{version}.tgz
-# Source0-md5: 393d5450c74baffc94b36a2a0c838c3b
+# Source0-md5: 8df27727547c4831fa858bf5059b6f7c
Patch0: %{name}-fastdep.patch
Patch1: %{name}-soname.patch
Patch2: %{name}-cflags.patch
Patch3: %{name}-format.patch
+Patch4: %{name}-libxml2.patch
# patches 10+ come from Fedora (cmake patch is updated from original version)
Patch10: %{name}-cmake.patch
Patch11: %{name}-printf-size_t.patch
Patch12: %{name}-longlong.patch
-Patch13: %{name}-uninit-curl.patch
Patch14: %{name}-30x-redirect.patch
URL: http://xmlrpc-c.sourceforge.net/
BuildRequires: cmake >= 2.6
@@ -276,10 +276,10 @@ XML-RPC.
%patch10 -p1
%patch11 -p1
%patch12 -p1
-%patch13 -p1
%patch14 -p1
%patch1 -p1
%patch3 -p1
+%patch4 -p1
%build
mkdir -p build
@@ -416,6 +416,11 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_libdir}/libxmlrpc_cpp.so
%attr(755,root,root) %{_libdir}/libxmlrpc_packetsocket.so
%attr(755,root,root) %{_libdir}/libxmlrpc_util++.so
+%{_includedir}/xmlrpc-c/AbyssChanSwitch.hpp
+%{_includedir}/xmlrpc-c/AbyssChanSwitchUnix.hpp
+%{_includedir}/xmlrpc-c/AbyssEnvironment.hpp
+%{_includedir}/xmlrpc-c/AbyssServer.hpp
+%{_includedir}/xmlrpc-c/abyss_reqhandler_xmlrpc.hpp
%{_includedir}/xmlrpc-c/base.hpp
%{_includedir}/xmlrpc-c/base64.hpp
%{_includedir}/xmlrpc-c/girerr.hpp
diff --git a/xmlrpc-c-cflags.patch b/xmlrpc-c-cflags.patch
index 85e350c..943b7b6 100644
--- a/xmlrpc-c-cflags.patch
+++ b/xmlrpc-c-cflags.patch
@@ -1,12 +1,11 @@
---- xmlrpc-c-1.10.00.org/common.mk 2007-03-23 03:02:14.000000000 +0100
-+++ xmlrpc-c-1.10.00/common.mk 2007-04-11 09:05:10.452171013 +0200
-@@ -28,15 +28,15 @@
- # assertion and crash the program if it isn't really true. You can add
+--- xmlrpc-c-1.43.08/common.mk.orig 2024-10-26 21:26:23.240673775 +0200
++++ xmlrpc-c-1.43.08/common.mk 2024-10-26 21:30:32.219324942 +0200
+@@ -49,14 +49,14 @@ GCC_CXX_WARNINGS = $(GCC_WARNINGS) -Wsy
# -UNDEBUG (in any of various ways) to override this.
#
--CFLAGS_COMMON = -DNDEBUG
-+CFLAGS_COMMON = -DNDEBUG -fPIC
- CXXFLAGS_COMMON = -DNDEBUG
+ CFLAGS_COMMON = -DNDEBUG $(CFLAGS_PTHREAD)
+-CXXFLAGS_COMMON = -DNDEBUG $(CFLAGS_PTHREAD)
++CXXFLAGS_COMMON = -DNDEBUG $(CFLAGS_PTHREAD) -fPIC
ifeq ($(C_COMPILER_GNU),yes)
- CFLAGS_COMMON += $(GCC_C_WARNINGS) -fno-common -g -O3
diff --git a/xmlrpc-c-cmake.patch b/xmlrpc-c-cmake.patch
index 850da55..f0f05f3 100644
--- a/xmlrpc-c-cmake.patch
+++ b/xmlrpc-c-cmake.patch
@@ -10,14 +10,14 @@ new file mode 100644
index 0000000..2876dea
--- /dev/null
+++ b/CMakeLists.txt
-@@ -0,0 +1,290 @@
+@@ -0,0 +1,295 @@
+## -*- cmake -*-
+project(xmlrpc-c)
+include(FindPkgConfig)
+include(CheckIncludeFile)
+include(CheckFunctionExists)
+
-+cmake_minimum_required(VERSION 2.4)
++cmake_minimum_required(VERSION 3.5)
+
+if(COMMAND cmake_policy)
+ cmake_policy(SET CMP0003 NEW)
@@ -25,8 +25,8 @@ index 0000000..2876dea
+
+
+set(XMLRPC_C_VERSION_MAJOR "1" CACHE STRING "Version (major) of xmlrpc-c")
-+set(XMLRPC_C_VERSION_MINOR "39" CACHE STRING "Version (minor) of xmlrpc-c")
-+set(XMLRPC_C_VERSION_POINT "13" CACHE STRING "Version (point) of xmlrpc-c")
++set(XMLRPC_C_VERSION_MINOR "43" CACHE STRING "Version (minor) of xmlrpc-c")
++set(XMLRPC_C_VERSION_POINT "08" CACHE STRING "Version (point) of xmlrpc-c")
+
+set(XMLRPC_C_VERSION
+ "${XMLRPC_C_VERSION_MAJOR}.${XMLRPC_C_VERSION_MINOR}.${XMLRPC_C_VERSION_POINT}"
@@ -97,9 +97,9 @@ index 0000000..2876dea
+
+if(tmp)
+ set(MUST_BUILD_CLIENT 1)
-+ exec_program(${WININET_CONFIG_EXECUTABLE} ARGS --version OUTPUT_VARIABLE WININET_VERSION)
-+ exec_program(${WININET_CONFIG_EXECUTABLE} ARGS --cflags OUTPUT_VARIABLE WININET_CFLAGS)
-+ exec_program(${WININET_CONFIG_EXECUTABLE} ARGS --libs OUTPUT_VARIABLE WININET_LDADD)
++ execute_process(COMMAND ${WININET_CONFIG_EXECUTABLE} --version OUTPUT_VARIABLE WININET_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
++ execute_process(COMMAND ${WININET_CONFIG_EXECUTABLE} --cflags OUTPUT_VARIABLE WININET_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE)
++ execute_process(COMMAND ${WININET_CONFIG_EXECUTABLE} --libs OUTPUT_VARIABLE WININET_LDADD OUTPUT_STRIP_TRAILING_WHITESPACE)
+ message(STATUS "Using WinInet ${WININET_VERSION} transport")
+endif(tmp)
+
@@ -136,9 +136,9 @@ index 0000000..2876dea
+
+if(tmp)
+ set(MUST_BUILD_CLIENT 1)
-+ exec_program(${LIBWWW_CONFIG_EXECUTABLE} ARGS --version OUTPUT_VARIABLE LIBWWW_VERSION)
-+ exec_program(${LIBWWW_CONFIG_EXECUTABLE} ARGS --libs OUTPUT_VARIABLE LIBWWW_LIBS)
-+ exec_program(${LIBWWW_CONFIG_EXECUTABLE} ARGS --cflags OUTPUT_VARIABLE LIBWWW_CFLAGS)
++ execute_process(COMMAND ${LIBWWW_CONFIG_EXECUTABLE} --version OUTPUT_VARIABLE LIBWWW_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
++ execute_process(COMMAND ${LIBWWW_CONFIG_EXECUTABLE} --libs OUTPUT_VARIABLE LIBWWW_LIBS OUTPUT_STRIP_TRAILING_WHITESPACE)
++ execute_process(COMMAND ${LIBWWW_CONFIG_EXECUTABLE} --cflags OUTPUT_VARIABLE LIBWWW_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE)
+ message(STATUS "Using libwww ${LIBWWW_VERSION} transport")
+endif(tmp)
+ensc_set_bool(MUST_BUILD_LIBWWW_CLIENT ${tmp} "Set iff LibWWW client transport shall be built")
@@ -152,6 +152,11 @@ index 0000000..2876dea
+set(ENABLE_LIBXML2_BACKEND 1 CACHE BOOL "Set iff libxml2 backend shall be used")
+set(ENABLE_ABYSS_SERVER 1 CACHE BOOL "Set iff abyss server shall be enabled")
+set(ENABLE_ABYSS_THREADS 1 CACHE BOOL "Use pthread")
++set(MUST_BUILD_ABYSS_OPENSSL 1 CACHE BOOL "Use OpenSSL")
++
++if(MUST_BUILD_ABYSS_OPENSSL)
++ pkg_check_modules(OPENSSL openssl)
++endif(MUST_BUILD_ABYSS_OPENSSL)
+
+if(ENABLE_LIBXML2_BACKEND)
+ pkg_check_modules(LIBXML2 libxml-2.0)
@@ -330,7 +335,7 @@ new file mode 100644
index 0000000..1535adf
--- /dev/null
+++ b/examples/CMakeLists.txt
-@@ -0,0 +1,68 @@
+@@ -0,0 +1,67 @@
+# -*- cmake -*-
+
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
@@ -357,7 +362,6 @@ index 0000000..1535adf
+set(base_LIBS xmlrpc)
+ensc_add_example(json c base)
+ensc_add_example(gen_sample_add_xml c base)
-+ensc_add_example(parse_xml c base)
+
+if(MUST_BUILD_CLIENT)
+ set(client_LIBS xmlrpc_client)
@@ -460,7 +464,7 @@ new file mode 100644
index 0000000..b9386b8
--- /dev/null
+++ b/include/xmlrpc-c/CMakeLists.txt
-@@ -0,0 +1,75 @@
+@@ -0,0 +1,84 @@
+# -*- cmake -*-
+
+macro(ensc_install_symlink src dst)
@@ -500,7 +504,12 @@ index 0000000..b9386b8
+ registry.hpp
+ server_abyss.hpp
+ packetsocket.hpp
-+ server_pstream.hpp)
++ server_pstream.hpp
++ AbyssEnvironment.hpp
++ AbyssServer.hpp
++ abyss_reqhandler_xmlrpc.hpp
++ AbyssChanSwitch.hpp
++ AbyssChanSwitchUnix.hpp)
+
+ list(APPEND compat_links "oldcppwrapper.hpp XmlRpcCpp.h")
+endif(ENABLE_CPLUSPLUS)
@@ -528,6 +537,10 @@ index 0000000..b9386b8
+ list(APPEND compat_links "server_cgi.h xmlrpc_cgi.h")
+endif(ENABLE_CGI_SERVER)
+
++if(MUST_BUILD_OPENSSL)
++ list(APPEND headers openssl_thread.h)
++endif(MUST_BUILD_OPENSSL)
++
+install(FILES
+ ${headers}
+ DESTINATION ${includedir}/xmlrpc-c)
@@ -610,7 +623,7 @@ new file mode 100644
index 0000000..b1813bb
--- /dev/null
+++ b/lib/abyss/src/CMakeLists.txt
-@@ -0,0 +1,70 @@
+@@ -0,0 +1,80 @@
+## -*- cmake -*-
+
+set(xmlrpc_abyss_SOURCES
@@ -638,6 +651,8 @@ index 0000000..b1813bb
+ server.h
+ session.c
+ session.h
++ sessionReadRequest.c
++ sessionReadRequest.h
+ socket.c
+ socket.h
+ thread.h
@@ -651,13 +666,16 @@ index 0000000..b1813bb
+if(WIN32)
+ list(APPEND xmlrpc_abyss_SOURCES thread_windows.c)
+else(WIN32)
-+ list(APPEND xmlrpc_abyss_SOURCES socket_unix.c socket_unix.h)
++ list(APPEND xmlrpc_abyss_SOURCES socket_unix.c socket_unix.h sockutil.c sockutil.h)
+
+ if(ENABLE_ABYSS_THREADS)
+ list(APPEND xmlrpc_abyss_SOURCES thread_pthread.c)
+ else(ENABLE_ABYSS_THREADS)
+ list(APPEND xmlrpc_abyss_SOURCES thread_fork.c)
+ endif(ENABLE_ABYSS_THREADS)
++ if(MUST_BUILD_ABYSS_OPENSSL)
++ list(APPEND xmlrpc_abyss_SOURCES socket_openssl.c socket_openssl.h)
++ endif(MUST_BUILD_ABYSS_OPENSSL)
+endif(WIN32)
+
+add_library(xmlrpc_abyss SHARED ${xmlrpc_abyss_SOURCES})
@@ -669,6 +687,11 @@ index 0000000..b1813bb
+ ensc_pkgconfig_lib(xmlrpc_abyss "${THREAD_LIBS_PKGCONFIG}")
+endif(ENABLE_ABYSS_THREADS)
+
++if(MUST_BUILD_ABYSS_OPENSSL)
++ target_link_libraries(xmlrpc_abyss ${OPENSSL_LIBRARIES})
++ ensc_pkgconfig_lib(xmlrpc_abyss "${OPENSSL_LIBRARIES}")
++endif(MUST_BUILD_ABYSS_OPENSSL)
++
+install(TARGETS xmlrpc_abyss
+ RUNTIME DESTINATION ${_bin}
+ LIBRARY DESTINATION ${_lib}
@@ -704,14 +727,25 @@ new file mode 100644
index 0000000..b1813bb
--- /dev/null
+++ b/lib/abyss++/CMakeLists.txt
-@@ -0,0 +1,21 @@
+@@ -0,0 +1,32 @@
+## -*- cmake -*-
+
-+add_library(xmlrpc_abyss++ SHARED
++set(abysspp_SOURCES
+ AbyssChanSwitch.cpp
+ AbyssEnvironment.cpp
+ AbyssServer.cpp)
+
++if(WIN32)
++ list(APPEND abysspp_SOURCES AbyssChanSwitchWin.cpp)
++else(WIN32)
++ list(APPEND abysspp_SOURCES AbyssChanSwitchUnix.cpp)
++ if(MUST_BUILD_OPENSSL)
++ list(APPEND abysspp_SOURCESS AbyssChanSwitchOpenSsl.cpp)
++ endif(MUST_BUILD_OPENSSL)
++endif(WIN32)
++
++add_library(xmlrpc_abyss++ SHARED ${abysspp_SOURCES})
++
+target_link_libraries(xmlrpc_abyss++ xmlrpc_abyss xmlrpc_util++ xmlrpc_util)
+
+install(TARGETS xmlrpc_abyss++
@@ -869,7 +903,7 @@ new file mode 100644
index 0000000..25ba487
--- /dev/null
+++ b/lib/libutil/CMakeLists.txt
-@@ -0,0 +1,30 @@
+@@ -0,0 +1,31 @@
+# -*- cmake -*-
+
+add_library(xmlrpc_util SHARED
@@ -881,6 +915,7 @@ index 0000000..25ba487
+ lock_none.c
+ make_printable.c
+ memblock.c
++ mempool.c
+ select.c
+ sleep.c
+ string_number.c
@@ -1074,9 +1109,9 @@ index 0000000..f51e15b
+ xmlrpc_build.c xmlrpc_decompose.c xmlrpc_parse.c xmlrpc_serialize.c
+ xmlrpc_authcookie.c)
+
-+set_target_properties(xmlrpc
-+ PROPERTIES
-+ COMPILE_FLAGS ${libxml_INCLUDES})
++target_compile_options(xmlrpc
++ PRIVATE
++ ${libxml_INCLUDES})
+
+ensc_pkgconfig(xmlrpc)
+target_link_libraries(xmlrpc ${libxml_LIBS} xmlrpc_util)
@@ -1472,7 +1507,7 @@ new file mode 100644
index 0000000..e712382
--- /dev/null
+++ b/test/CMakeLists.txt
-@@ -0,0 +1,41 @@
+@@ -0,0 +1,42 @@
+# -*- cmake -*-
+
+set(test_SOURCES
@@ -1480,6 +1515,7 @@ index 0000000..e712382
+ abyss.h
+ test.c
+ cgi.c
++ memblock.c
+ method_registry.c
+ parse_xml.c
+ serialize.c
@@ -1912,7 +1948,7 @@ new file mode 100644
index 0000000..9eff724
--- /dev/null
+++ b/xmlrpc_config.h.cmake
-@@ -0,0 +1,184 @@
+@@ -0,0 +1,198 @@
+/* -*- c -*- */
+
+#ifndef H_XMLRPC_C_CONFIG_H
@@ -2096,6 +2132,20 @@ index 0000000..9eff724
+ #define XMLRPC_CHDIR chdir
+#endif
+
++#if MSVCRT
++ #define XMLRPC_GETPID _getpid
++#else
++ #define XMLRPC_GETPID getpid
++#endif
++
++#define HAVE_ABYSS_OPENSSL 1
++
++#if MSVCRT
++ #define XMLRPC_FINITE _finite
++#else
++ #define XMLRPC_FINITE finite
++#endif
++
+#endif
--
1.7.10.4
diff --git a/xmlrpc-c-libxml2.patch b/xmlrpc-c-libxml2.patch
new file mode 100644
index 0000000..e7f4e5c
--- /dev/null
+++ b/xmlrpc-c-libxml2.patch
@@ -0,0 +1,216 @@
+--- xmlrpc-c-1.43.08/src/xmlrpc_libxml2.c.orig 2016-11-17 04:06:10.000000000 +0100
++++ xmlrpc-c-1.43.08/src/xmlrpc_libxml2.c 2024-10-27 09:43:13.526853095 +0100
+@@ -47,10 +47,10 @@
+ #include "xmlparser.h"
+
+ struct _xml_element {
+- xml_element * parentP;
++ struct _xml_element * parentP;
+ const char * name;
+- xmlrpc_mem_block cdata; /* char */
+- xmlrpc_mem_block children; /* xml_element* */
++ xmlrpc_mem_block * cdataP; /* char */
++ xmlrpc_mem_block * childrenP; /* xml_element* */
+ };
+
+ #define XMLRPC_ASSERT_ELEM_OK(elem) \
+@@ -97,81 +97,78 @@ xmlElementNew(xmlrpc_env * const envP,
+ -----------------------------------------------------------------------------*/
+
+ xml_element * retval;
+- bool nameIsValid;
+- bool cdataIsValid;
+- bool childrenAreValid;
++ int name_valid, cdata_valid, children_valid;
+
+ XMLRPC_ASSERT_ENV_OK(envP);
+- assert(name != NULL);
++ XMLRPC_ASSERT(name != NULL);
+
+ /* Set up our error-handling preconditions. */
+ retval = NULL;
+- nameIsValid = cdataIsValid = childrenAreValid = false;
++ name_valid = cdata_valid = children_valid = 0;
+
+- MALLOCVAR(retval);
++ /* Allocate our xml_element structure. */
++ retval = (xml_element*) malloc(sizeof(xml_element));
+ XMLRPC_FAIL_IF_NULL(retval, envP, XMLRPC_INTERNAL_ERROR,
+ "Couldn't allocate memory for XML element");
+
++ /* Set our parent field to NULL. */
+ retval->parentP = NULL;
+-
++
+ /* Copy over the element name. */
+- retval->name = strdup(name);
++ retval->name = xmlrpc_strdupnull(name);
+ XMLRPC_FAIL_IF_NULL(retval->name, envP, XMLRPC_INTERNAL_ERROR,
+ "Couldn't allocate memory for XML element");
+- nameIsValid = true;
++ name_valid = 1;
+
+- /* Initialize a block to hold our CDATA. */
+- XMLRPC_TYPED_MEM_BLOCK_INIT(char, envP, &retval->cdata, 0);
++ retval->cdataP = XMLRPC_MEMBLOCK_NEW(char, envP, 0);
+ XMLRPC_FAIL_IF_FAULT(envP);
+- cdataIsValid = true;
++ cdata_valid = 1;
+
+- /* Initialize a block to hold our child elements. */
+- XMLRPC_TYPED_MEM_BLOCK_INIT(xml_element *, envP, &retval->children, 0);
++ retval->childrenP = XMLRPC_MEMBLOCK_NEW(xml_element *, envP, 0);
+ XMLRPC_FAIL_IF_FAULT(envP);
+- childrenAreValid = true;
++ children_valid = 1;
+
+-cleanup:
++ cleanup:
+ if (envP->fault_occurred) {
+ if (retval) {
+- if (nameIsValid)
++ if (name_valid)
+ xmlrpc_strfree(retval->name);
+- if (cdataIsValid)
+- xmlrpc_mem_block_clean(&retval->cdata);
+- if (childrenAreValid)
+- xmlrpc_mem_block_clean(&retval->children);
++ if (cdata_valid)
++ XMLRPC_MEMBLOCK_FREE(char, retval->cdataP);
++ if (children_valid)
++ XMLRPC_MEMBLOCK_FREE(xml_element *, retval->childrenP);
+ free(retval);
+ }
+- retval = NULL;
++ return NULL;
++ } else {
++ return retval;
+ }
+- return retval;
+ }
+
+
+
+ void
+ xml_element_free(xml_element * const elemP) {
+-/*----------------------------------------------------------------------------
+- Blow away an existing element & all of its child elements.
+------------------------------------------------------------------------------*/
+- xmlrpc_mem_block * children;
+- unsigned int size;
+- unsigned int i;
++
++ xmlrpc_mem_block * childrenP;
++ size_t size, i;
+ xml_element ** contents;
+
+ XMLRPC_ASSERT_ELEM_OK(elemP);
+
+ xmlrpc_strfree(elemP->name);
+ elemP->name = XMLRPC_BAD_POINTER;
+- xmlrpc_mem_block_clean(&elemP->cdata);
++
++ XMLRPC_MEMBLOCK_FREE(char, elemP->cdataP);
+
+ /* Deallocate all of our children recursively. */
+- children = &elemP->children;
+- contents = XMLRPC_TYPED_MEM_BLOCK_CONTENTS(xml_element *, children);
+- size = XMLRPC_TYPED_MEM_BLOCK_SIZE(xml_element *, children);
++ childrenP = elemP->childrenP;
++ contents = XMLRPC_MEMBLOCK_CONTENTS(xml_element *, childrenP);
++ size = XMLRPC_MEMBLOCK_SIZE(xml_element *, childrenP);
+ for (i = 0; i < size; ++i)
+ xml_element_free(contents[i]);
+
+- xmlrpc_mem_block_clean(&elemP->children);
++ XMLRPC_MEMBLOCK_FREE(xml_element *, elemP->childrenP);
+
+ free(elemP);
+ }
+@@ -198,7 +195,8 @@ xml_element_cdata_size(const xml_element
+ has been called!
+ */
+ XMLRPC_ASSERT_ELEM_OK(elemP);
+- return XMLRPC_TYPED_MEM_BLOCK_SIZE(char, &elemP->cdata) - 1;
++
++ return XMLRPC_MEMBLOCK_SIZE(char, elemP->cdataP) - 1;
+ }
+
+
+@@ -206,7 +204,8 @@ xml_element_cdata_size(const xml_element
+ const char *
+ xml_element_cdata(const xml_element * const elemP) {
+ XMLRPC_ASSERT_ELEM_OK(elemP);
+- return XMLRPC_TYPED_MEM_BLOCK_CONTENTS(char, &elemP->cdata);
++
++ return XMLRPC_TYPED_MEM_BLOCK_CONTENTS(const char, elemP->cdataP);
+ }
+
+
+@@ -214,7 +213,8 @@ xml_element_cdata(const xml_element * co
+ unsigned int
+ xml_element_children_size(const xml_element * const elemP) {
+ XMLRPC_ASSERT_ELEM_OK(elemP);
+- return XMLRPC_TYPED_MEM_BLOCK_SIZE(xml_element *, &elemP->children);
++
++ return XMLRPC_MEMBLOCK_SIZE(xml_element *, elemP->childrenP);
+ }
+
+
+@@ -222,7 +222,7 @@ xml_element_children_size(const xml_elem
+ xml_element **
+ xml_element_children(const xml_element * const elemP) {
+ XMLRPC_ASSERT_ELEM_OK(elemP);
+- return XMLRPC_TYPED_MEM_BLOCK_CONTENTS(xml_element *, &elemP->children);
++ return XMLRPC_MEMBLOCK_CONTENTS(xml_element *, elemP->childrenP);
+ }
+
+
+@@ -239,9 +239,9 @@ xmlElementAppendCdata(xmlrpc_env * cons
+ size_t const size) {
+
+ XMLRPC_ASSERT_ENV_OK(envP);
+- XMLRPC_ASSERT_ELEM_OK(elemP);
++ XMLRPC_ASSERT_ELEM_OK(elemP);
+
+- XMLRPC_TYPED_MEM_BLOCK_APPEND(char, envP, &elemP->cdata, cdata, size);
++ XMLRPC_MEMBLOCK_APPEND(char, envP, elemP->cdataP, cdata, size);
+ }
+
+
+@@ -259,10 +259,9 @@ xmlElementAppendChild(xmlrpc_env * cons
+ XMLRPC_ASSERT_ENV_OK(envP);
+ XMLRPC_ASSERT_ELEM_OK(elemP);
+ XMLRPC_ASSERT_ELEM_OK(childP);
+- assert(childP->parentP == NULL);
++ XMLRPC_ASSERT(childP->parentP == NULL);
+
+- XMLRPC_TYPED_MEM_BLOCK_APPEND(xml_element *, envP, &elemP->children,
+- &childP, 1);
++ XMLRPC_MEMBLOCK_APPEND(xml_element *, envP, elemP->childrenP, &childP, 1);
+ if (!envP->fault_occurred)
+ childP->parentP = elemP;
+ else
+@@ -428,7 +427,7 @@ static xmlSAXHandler const saxHandler =
+
+
+ static void
+-removeDocSizeLimit(xmlParserCtx * const parserP ATTR_UNUSED) {
++removeDocSizeLimit(xmlParserCtxt * const parserP ATTR_UNUSED) {
+ /*----------------------------------------------------------------------------
+ Set up *parserP to accept a document of any size.
+
+@@ -453,11 +452,11 @@ removeDocSizeLimit(xmlParserCtx * const
+ static void
+ createParser(xmlrpc_env * const envP,
+ ParseContext * const contextP,
+- xmlParserCtx ** const parserPP) {
++ xmlParserCtxt ** const parserPP) {
+ /*----------------------------------------------------------------------------
+ Create an appropriate Libxml2 parser for our purpose.
+ -----------------------------------------------------------------------------*/
+- xmlParserCtx * parserP;
++ xmlParserCtxt * parserP;
+
+ parserP = xmlCreatePushParserCtxt((xmlSAXHandler *)&saxHandler, contextP,
+ NULL, 0, NULL);
diff --git a/xmlrpc-c-printf-size_t.patch b/xmlrpc-c-printf-size_t.patch
index 420b213..c2fca07 100644
--- a/xmlrpc-c-printf-size_t.patch
+++ b/xmlrpc-c-printf-size_t.patch
@@ -8,41 +8,23 @@ Subject: [PATCH 2/9] fixed broken format string modifiers
examples/parse_xml.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
-diff --git a/examples/json.c b/examples/json.c
-index 89fe82b..91ea50d 100644
---- a/examples/json.c
-+++ b/examples/json.c
-@@ -41,7 +41,7 @@ printAsXml(xmlrpc_value * const valP) {
+--- xmlrpc-c-1.43.08/examples/json.c.orig 2024-10-26 21:30:49.272565890 +0200
++++ xmlrpc-c-1.43.08/examples/json.c 2024-10-26 21:33:06.751821101 +0200
+@@ -42,7 +42,7 @@ printAsXml(xmlrpc_value * const valP) {
printf("XML-RPC XML:\n");
printf("%.*s\n",
-- XMLRPC_MEMBLOCK_SIZE(char, &out),
-+ (int)XMLRPC_MEMBLOCK_SIZE(char, &out),
- XMLRPC_MEMBLOCK_CONTENTS(char, &out));
+- XMLRPC_MEMBLOCK_SIZE(char, outP),
++ (int)XMLRPC_MEMBLOCK_SIZE(char, outP),
+ XMLRPC_MEMBLOCK_CONTENTS(char, outP));
- XMLRPC_MEMBLOCK_CLEAN(char, &out);
-@@ -70,7 +70,7 @@ printAsJson(xmlrpc_value * const valP) {
+ XMLRPC_MEMBLOCK_FREE(char, outP);
+@@ -71,7 +71,7 @@ printAsJson(xmlrpc_value * const valP) {
printf("JSON:\n");
printf("%.*s\n",
-- XMLRPC_MEMBLOCK_SIZE(char, &out),
-+ (int)XMLRPC_MEMBLOCK_SIZE(char, &out),
- XMLRPC_MEMBLOCK_CONTENTS(char, &out));
+- XMLRPC_MEMBLOCK_SIZE(char, outP),
++ (int)XMLRPC_MEMBLOCK_SIZE(char, outP),
+ XMLRPC_MEMBLOCK_CONTENTS(char, outP));
- XMLRPC_MEMBLOCK_CLEAN(char, &out);
-diff --git a/examples/parse_xml.c b/examples/parse_xml.c
-index 2e6c508..4f6c308 100644
---- a/examples/parse_xml.c
-+++ b/examples/parse_xml.c
-@@ -58,7 +58,7 @@ describeXmlElement(const xml_element * const elemP,
- printf("%sXML element type: '%s'\n",
- prefix, xml_element_name(elemP));
-
-- printf("%sNumber of child elements: %u\n",
-+ printf("%sNumber of child elements: %zu\n",
- prefix, xml_element_children_size(elemP));
-
- for (i = 0; i < xml_element_children_size(elemP); ++i) {
---
-1.7.6
-
+ XMLRPC_MEMBLOCK_FREE(char, outP);
diff --git a/xmlrpc-c-soname.patch b/xmlrpc-c-soname.patch
index a3afb84..1b06a14 100644
--- a/xmlrpc-c-soname.patch
+++ b/xmlrpc-c-soname.patch
@@ -1,6 +1,6 @@
---- xmlrpc-c-1.39.12/src/Makefile.orig 2014-12-28 19:55:09.000000000 +0100
-+++ xmlrpc-c-1.39.12/src/Makefile 2018-02-18 21:01:54.376804414 +0100
-@@ -15,7 +15,7 @@
+--- xmlrpc-c-1.43.08/src/Makefile.orig 2016-07-22 04:51:19.000000000 +0200
++++ xmlrpc-c-1.43.08/src/Makefile 2024-10-27 07:56:23.799721028 +0100
+@@ -15,7 +15,7 @@ ifeq ($(ENABLE_CPLUSPLUS),yes)
SUBDIRS += cpp
endif
@@ -9,7 +9,7 @@
# We cannot build libxmlrpc_server_abyss if we can't also build Abyss,
# because we need libxmlrpc_abyss in order to build the proper runtime
-@@ -155,7 +155,7 @@
+@@ -165,7 +165,7 @@ endif
# shlibfn generates e.g. libxmlrpc.so.3.1
# shliblefn generates e.g. libxmlrpc.so
@@ -18,7 +18,7 @@
$(LIBXMLRPC): $(LIBXMLRPC_MODS:%=%.osh) \
$(LIBXMLRPC_UTIL) \
-@@ -170,10 +170,10 @@
+@@ -180,10 +180,10 @@ LIBXMLRPC_SERVER = $(call shlibfn, libxm
$(LIBXMLRPC_SERVER): \
$(LIBXMLRPC_SERVER_MODS:%=%.osh) \
$(LIBXMLRPC_UTIL) \
@@ -31,7 +31,7 @@
LIBXMLRPC_SERVER_ABYSS = $(call shlibfn, libxmlrpc_server_abyss)
-@@ -182,12 +182,12 @@
+@@ -192,12 +192,12 @@ $(LIBXMLRPC_SERVER_ABYSS): \
$(LIBXMLRPC_UTIL) \
$(LIBXMLRPC_ABYSS) \
$(call shliblefn, libxmlrpc_server) \
@@ -46,7 +46,7 @@
ifeq ($(MSVCRT),yes)
$(LIBXMLRPC_SERVER_ABYSS): LIBDEP += -lws2_32 -lwsock32
endif
-@@ -198,11 +198,11 @@
+@@ -208,11 +208,11 @@ $(LIBXMLRPC_SERVER_CGI): \
$(LIBXMLRPC_SERVER_CGI_MODS:%=%.osh) \
$(LIBXMRPC_UTIL) \
$(call shliblefn, libxmlrpc_server) \
@@ -60,7 +60,7 @@
LIBXMLRPC_CLIENT = $(call shlibfn, libxmlrpc_client)
-@@ -210,7 +210,7 @@
+@@ -220,7 +220,7 @@ $(LIBXMLRPC_CLIENT): \
$(LIBXMLRPC_CLIENT_MODS:%=%.osh) \
$(TRANSPORT_MODS:%=%.osh) \
$(LIBXMLRPC_UTIL) \
@@ -69,7 +69,7 @@
$(LIBXMLRPC_CLIENT): LIBOBJECTS = \
$(LIBXMLRPC_CLIENT_MODS:%=%.osh) \
$(TRANSPORT_MODS:%=%.osh)
-@@ -226,7 +226,7 @@
+@@ -236,7 +236,7 @@ $(LIBXMLRPC_CLIENT): LIBOBJECTS = \
LIBXMLRPC_CLIENT_LIBDEP = \
-Lblddir/src -Lblddir/lib/libutil \
@@ -78,9 +78,9 @@
$(XML_PARSER_LIBDEP) \
$(TRANSPORT_LIBDEP) \
-@@ -235,8 +235,8 @@
- $(LIBXMLRPC_CLIENT): LIBDEP += -lws2_32 -lwsock32 -lpthread
- endif
+@@ -245,8 +245,8 @@ $(LIBXMLRPC_CLIENT): LIBDEP = \
+ $(SOCKETLIBOPT) \
+ $(THREAD_LIBS) \
-libxmlrpc.a: $(LIBXMLRPC_MODS:%=%.o)
-libxmlrpc.a: LIBOBJECTS = $(LIBXMLRPC_MODS:%=%.o)
@@ -120,10 +120,10 @@
the_rpath="-R$LIBINST_DIR $the_rpath"
the_wl_rpath="-Wl,-rpath,$LIBINST_DIR $the_wl_rpath"
---- xmlrpc-c-1.39.13/src/cpp/Makefile.orig 2023-12-13 18:15:52.748772893 +0100
-+++ xmlrpc-c-1.39.13/src/cpp/Makefile 2023-12-13 18:21:03.576428850 +0100
-@@ -122,7 +122,7 @@
- $(LIBXMLRPC_UTIL)
+--- xmlrpc-c-1.43.08/src/cpp/Makefile.orig 2016-07-22 04:51:19.000000000 +0200
++++ xmlrpc-c-1.43.08/src/cpp/Makefile 2024-10-27 08:18:45.757640890 +0100
+@@ -130,7 +130,7 @@ $(LIBXMLRPC_CPP_SH): XmlRpcCpp.osh \
+
$(LIBXMLRPC_CPP_SH): LIBOBJECTS = XmlRpcCpp.osh
$(LIBXMLRPC_CPP_SH): LIBDEP = \
- -Lblddir/src -lxmlrpc_server -lxmlrpc \
@@ -131,16 +131,16 @@
$(XML_PARSER_LIBDEP) \
$(LIBXMLRPC_UTIL_LIBDEP) \
-@@ -136,7 +136,7 @@
- $(LIBXMLRPCPP_SH): LIBOBJECTS = $(LIBXMLRPCPP_MODS:%=%.osh)
+@@ -143,7 +143,7 @@ $(LIBXMLRPCPP_SH): $(LIBXMLRPCPP_MODS:%=
+ $(LIBXMLRPCPP_SH): LIBOBJECTS = $(LIBXMLRPCPP_MODS:%=%.osh)
$(LIBXMLRPCPP_SH): LIBDEP = \
- -Lblddir/src -lxmlrpc \
+ -Lblddir/src -lxmlrpc-c \
$(XML_PARSER_LIBDEP) \
-L$(LIBXMLRPC_UTILPP_DIR) -lxmlrpc_util++ \
-L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util \
-@@ -153,7 +153,7 @@
+@@ -161,7 +161,7 @@ $(LIBXMLRPC_SERVERPP_SH): $(LIBXMLRPC_SE
$(LIBXMLRPC_SERVERPP_SH): LIBOBJECTS = $(LIBXMLRPC_SERVERPP_MODS:%=%.osh)
$(LIBXMLRPC_SERVERPP_SH): LIBDEP = \
-L. -l$(LIBXMLRPCPP_NAME) \
@@ -149,25 +149,25 @@
$(XML_PARSER_LIBDEP) \
-L$(LIBXMLRPC_UTILPP_DIR) -lxmlrpc_util++ \
-L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util \
-@@ -176,7 +176,7 @@
+@@ -182,7 +182,7 @@ $(LIBXMLRPC_SERVER_ABYSSPP_SH): $(LIBXML
$(LIBXMLRPC_SERVER_ABYSSPP_SH): LIBOBJECTS = $(LIBXMLRPC_SERVER_ABYSSPP_MODS:%=%.osh)
$(LIBXMLRPC_SERVER_ABYSSPP_SH): LIBDEP = \
- -L. -lxmlrpc_server++ -l$(LIBXMLRPCPP_NAME) \
-- -Lblddir/src -lxmlrpc_server_abyss -lxmlrpc_server -lxmlrpc \
-+ -Lblddir/src -lxmlrpc_server_abyss -lxmlrpc_server -lxmlrpc-c \
- $(XML_PARSER_LIBDEP) \
- -L$(LIBXMLRPC_ABYSS_DIR) -lxmlrpc_abyss \
- -L$(LIBXMLRPC_UTILPP_DIR) -lxmlrpc_util++ \
-@@ -195,7 +195,7 @@
+ -L. -lxmlrpc_server++ -l$(LIBXMLRPCPP_NAME) \
+- -Lblddir/src -lxmlrpc_server_abyss -lxmlrpc_server -lxmlrpc \
++ -Lblddir/src -lxmlrpc_server_abyss -lxmlrpc_server -lxmlrpc-c \
+ $(XML_PARSER_LIBDEP) \
+ -L$(LIBXMLRPC_ABYSSPP_DIR) -lxmlrpc_abyss++ \
+ -L$(LIBXMLRPC_ABYSS_DIR) -lxmlrpc_abyss \
+@@ -203,7 +203,7 @@ $(LIBXMLRPC_SERVER_CGIPP_SH): $(LIBXMLRP
$(LIBXMLRPC_SERVER_CGIPP_SH): LIBOBJECTS = $(LIBXMLRPC_SERVER_CGIPP_MODS:%=%.osh)
$(LIBXMLRPC_SERVER_CGIPP_SH): LIBDEP = \
-L. -lxmlrpc_server++ -l$(LIBXMLRPCPP_NAME) \
- -Lblddir/src -lxmlrpc_server -lxmlrpc \
+ -Lblddir/src -lxmlrpc_server -lxmlrpc-c \
$(XML_PARSER_LIBDEP) \
- -L$(LIBXMLRPC_UTILPP_DIR) -lxmlrpc_util++ \
- -L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util \
-@@ -214,7 +214,7 @@
+ -L$(LIBXMLRPC_UTILPP_DIR) -lxmlrpc_util++ \
+ -L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util \
+@@ -222,7 +222,7 @@ $(LIBXMLRPC_SERVER_PSTREAMPP_SH): $(LIBX
$(LIBXMLRPC_SERVER_PSTREAMPP_SH): LIBOBJECTS = $(LIBXMLRPC_SERVER_PSTREAMPP_MODS:%=%.osh)
$(LIBXMLRPC_SERVER_PSTREAMPP_SH): LIBDEP = \
-L. -lxmlrpc_server++ -l$(LIBXMLRPCPP_NAME) -lxmlrpc_packetsocket \
@@ -176,7 +176,7 @@
$(XML_PARSER_LIBDEP) \
-L$(LIBXMLRPC_UTILPP_DIR) -lxmlrpc_util++ \
-L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util \
-@@ -237,7 +237,7 @@
+@@ -244,7 +244,7 @@ $(LIBXMLRPC_CLIENTPP_SH): LIBOBJECTS = $
$(LIBXMLRPC_CLIENTPP_SH): LIBDEP = \
-L. -l$(LIBXMLRPCPP_NAME) -lxmlrpc_packetsocket \
$(shell cat blddir/src/libxmlrpc_client.ldflags) \
@@ -185,7 +185,7 @@
$(XML_PARSER_LIBDEP) \
-L$(LIBXMLRPC_UTILPP_DIR) -lxmlrpc_util++ \
-L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util \
-@@ -253,7 +253,7 @@
+@@ -261,7 +261,7 @@ $(LIBXMLRPC_PACKETSOCKET_SH): $(LIBXMLRP
$(LIBXMLRPC_PACKETSOCKET_SH): LIBOBJECTS = $(LIBXMLRPC_PACKETSOCKET_MODS:%=%.osh)
$(LIBXMLRPC_PACKETSOCKET_SH): LIBDEP = \
-L. -l$(LIBXMLRPCPP_NAME) \
@@ -203,9 +203,9 @@
-Libs: -L${libdir} -lxmlrpc @xmlrpc_pkgconfig_libs@
+Libs: -L${libdir} -lxmlrpc-c @xmlrpc_pkgconfig_libs@
Cflags: -I${includedir}
---- xmlrpc-c-1.39.12/src/CMakeLists.txt.orig 2018-02-25 15:31:16.940125278 +0100
-+++ xmlrpc-c-1.39.12/src/CMakeLists.txt 2018-02-25 15:35:10.696789278 +0100
-@@ -48,8 +48,8 @@
+--- xmlrpc-c-1.43.08/src/CMakeLists.txt.orig 2024-10-27 08:48:07.694762324 +0100
++++ xmlrpc-c-1.43.08/src/CMakeLists.txt 2024-10-27 08:49:39.967595773 +0100
+@@ -47,8 +47,8 @@ add_subdirectory(cpp)
@@ -216,14 +216,14 @@
base_global.c double.c parse_datetime.c parse_value.c resource.c trace.c version.c
json.c
${xmlrpc_xml_parser}
-@@ -58,19 +58,19 @@
+@@ -57,19 +57,19 @@ add_library(xmlrpc SHARED
xmlrpc_build.c xmlrpc_decompose.c xmlrpc_parse.c xmlrpc_serialize.c
xmlrpc_authcookie.c)
--set_target_properties(xmlrpc
-+set_target_properties(xmlrpc-c
- PROPERTIES
- COMPILE_FLAGS ${libxml_INCLUDES})
+-target_compile_options(xmlrpc
++target_compile_options(xmlrpc-c
+ PRIVATE
+ ${libxml_INCLUDES})
ensc_pkgconfig(xmlrpc)
-target_link_libraries(xmlrpc ${libxml_LIBS} xmlrpc_util)
@@ -240,7 +240,7 @@
set_target_properties(xmlrpc_client
PROPERTIES
COMPILE_FLAGS "${client_CFLAGS}")
-@@ -80,7 +80,7 @@
+@@ -79,7 +79,7 @@ ensc_pkgconfig(xmlrpc_client)
### libxmlrpc_server.so
add_library(xmlrpc_server SHARED
registry.c method.c system_method.c)
@@ -277,7 +277,7 @@
+set(base_LIBS xmlrpc-c)
ensc_add_example(json c base)
ensc_add_example(gen_sample_add_xml c base)
- ensc_add_example(parse_xml c base)
+
--- xmlrpc-c/tools/xml/CMakeLists.txt.orig 2013-03-03 17:51:15.572086205 +0100
+++ xmlrpc-c/tools/xml/CMakeLists.txt 2013-03-03 17:56:38.495405989 +0100
@@ -5,7 +5,7 @@
diff --git a/xmlrpc-c-uninit-curl.patch b/xmlrpc-c-uninit-curl.patch
deleted file mode 100644
index 177f70b..0000000
--- a/xmlrpc-c-uninit-curl.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 6affc342b968ec042d9efe84ca0ea40c8d88e8bf Mon Sep 17 00:00:00 2001
-From: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
-Date: Sat, 21 Nov 2009 14:12:41 +0100
-Subject: [PATCH 4/5] fixed unitialized variable
-
-Reported by Nikola Pajkovsky <npajkovs AT redhat.com>:
-
- Problem shows up only when you compiled xmlrpc with nss and try to
- connect to server with wrong certificate.
----
- lib/curl_transport/curltransaction.c | 1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git a/lib/curl_transport/curltransaction.c b/lib/curl_transport/curltransaction.c
-index 59cb6ab..3c75010 100644
---- a/lib/curl_transport/curltransaction.c
-+++ b/lib/curl_transport/curltransaction.c
-@@ -641,6 +641,7 @@ curlTransaction_create(xmlrpc_env * const envP,
- curlTransactionP->curlSessionP = curlSessionP;
- curlTransactionP->userContextP = userContextP;
- curlTransactionP->progress = progress;
-+ curlTransactionP->curlError[0] = '\0';
-
- curlTransactionP->serverUrl = strdup(serverP->serverUrl);
- if (curlTransactionP->serverUrl == NULL)
---
-1.7.1.1
-
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/xmlrpc-c.git/commitdiff/64e09820d6d4f3a2313497e922687961cd71a66c
More information about the pld-cvs-commit
mailing list