[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