diff --git a/.gitignore b/.gitignore index 58aac05..9dd191a 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,6 @@ /xmlrpc-c-1.49.02.tar.xz /xmlrpc-c-1.51.0.tar.xz /xmlrpc-1.51.08.tgz +/xmlrpc-c-1.59.02.tgz +/xmlrpc-c-1.59.03.tgz +/xmlrpc-c-1.60.04.tgz diff --git a/0001-xmlrpc_server_abyss-use-va_args-properly.patch b/0001-xmlrpc_server_abyss-use-va_args-properly.patch deleted file mode 100644 index f519d95..0000000 --- a/0001-xmlrpc_server_abyss-use-va_args-properly.patch +++ /dev/null @@ -1,34 +0,0 @@ -From d31c2ffbf5181053330fa32e4f03c47283bd1448 Mon Sep 17 00:00:00 2001 -From: Igor Gnatenko -Date: Sat, 17 Dec 2016 10:28:31 +0100 -Subject: [PATCH 1/3] xmlrpc_server_abyss: use va_args properly -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -../src/xmlrpc_server_abyss.c: In function ‘createServer’: -../src/xmlrpc_server_abyss.c:783:13: error: format not a string literal and no format arguments [-Werror=format-security] - xmlrpc_faultf(envP, error); - ^~~~~~~~~~~~~ - -Signed-off-by: Igor Gnatenko ---- - src/xmlrpc_server_abyss.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/xmlrpc_server_abyss.c b/src/xmlrpc_server_abyss.c -index 8aacb4b..58f5ba0 100644 ---- a/src/xmlrpc_server_abyss.c -+++ b/src/xmlrpc_server_abyss.c -@@ -780,7 +780,7 @@ createServer(xmlrpc_env * const envP, - ServerInit2(abyssServerP, &error); - - if (error) { -- xmlrpc_faultf(envP, error); -+ xmlrpc_faultf(envP, "%s", error); - xmlrpc_strfree(error); - } - } --- -2.13.1 - diff --git a/0003-allow-30x-redirections.patch b/0003-allow-30x-redirections.patch index 7446fa6..2fef64d 100644 --- a/0003-allow-30x-redirections.patch +++ b/0003-allow-30x-redirections.patch @@ -12,6 +12,7 @@ index f0aafae..b5392a9 100644 --- a/lib/curl_transport/curltransaction.c +++ b/lib/curl_transport/curltransaction.c @@ -671,6 +671,10 @@ setupCurlSession(xmlrpc_env * const envP, + curl_easy_setopt(curlSessionP, CURLOPT_POST, 1); curl_easy_setopt(curlSessionP, CURLOPT_URL, transP->serverUrl); diff --git a/Makefile b/Makefile deleted file mode 100644 index 9e6c752..0000000 --- a/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -MAKEFILE_COMMON = $(HOME)/.fedora/common.mk --include $(MAKEFILE_COMMON) - -all: - -SVN_VER ?= ${VERSION} - -svn-sources: - cd $(DESTDIR) . && svn export https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced@${SVN_REV} xmlrpc-c-${SVN_VER} - cd $(DESTDIR) . && tar cJf xmlrpc-c-${SVN_VER}.tar.xz xmlrpc-c-${SVN_VER} --owner root --group root --mode=go-w,a+rX diff --git a/sources b/sources index c3151c1..0b86711 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmlrpc-1.51.08.tgz) = df0d8e3730b529fb10fb2cf9511dc55143ad3c7b4cce5522b61ed0d212080f3ebf4b6aa8a28911ddbe90029fce6bea7df28ee51f36196900a855beff5bd3a1cd +SHA512 (xmlrpc-c-1.60.04.tgz) = 68407053eec1e3f32187169f5bb976e9f043f1576dd9fb7a9076ed00414dd0293cfdf72527a314c244dd48986402af3c9cc33d110ed3b382a13190eb8dddb734 diff --git a/xmlrpc-c-check-vasprintf-return-value.patch b/xmlrpc-c-check-vasprintf-return-value.patch deleted file mode 100644 index cfc7f45..0000000 --- a/xmlrpc-c-check-vasprintf-return-value.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 80047d74644eeda55c451aea59951eb502649cf4 Mon Sep 17 00:00:00 2001 -From: Enrico Scholz -Date: Thu, 29 Jul 2010 19:43:08 +0200 -Subject: [PATCH 7/8] check vasprintf return value - ---- - lib/libutil/asprintf.c | 3 ++- - lib/util/casprintf.c | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/lib/libutil/asprintf.c b/lib/libutil/asprintf.c -index a79cd81..5a06f0f 100644 ---- a/lib/libutil/asprintf.c -+++ b/lib/libutil/asprintf.c -@@ -121,7 +121,8 @@ xmlrpc_vasprintf(const char ** const retvalP, - char * string; - - #if HAVE_ASPRINTF -- vasprintf(&string, fmt, varargs); -+ if (vasprintf(&string, fmt, varargs) < 0) -+ string = NULL; - #else - simpleVasprintf(&string, fmt, varargs); - #endif -diff --git a/lib/util/casprintf.c b/lib/util/casprintf.c -index 643f145..9139253 100644 ---- a/lib/util/casprintf.c -+++ b/lib/util/casprintf.c -@@ -99,7 +99,8 @@ cvasprintf(const char ** const retvalP, - char * string; - - #if HAVE_ASPRINTF -- vasprintf(&string, fmt, varargs); -+ if (vasprintf(&string, fmt, varargs) < 0) -+ string = NULL; - #else - simpleVasprintf(&string, fmt, varargs); - #endif --- -1.7.3.4 - diff --git a/xmlrpc-c-printf-size_t.patch b/xmlrpc-c-printf-size_t.patch deleted file mode 100644 index 420b213..0000000 --- a/xmlrpc-c-printf-size_t.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 25a777bb0ee2e2ee17d87006f76b3cea5d15a9f7 Mon Sep 17 00:00:00 2001 -From: Enrico Scholz -Date: Mon, 25 Feb 2008 17:48:25 +0100 -Subject: [PATCH 2/9] fixed broken format string modifiers - ---- - examples/json.c | 4 ++-- - 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) { - 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_CLEAN(char, &out); -@@ -70,7 +70,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_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 - diff --git a/xmlrpc-c.spec b/xmlrpc-c.spec index 2f5a492..9184ace 100644 --- a/xmlrpc-c.spec +++ b/xmlrpc-c.spec @@ -1,36 +1,25 @@ -# Upstream libxml2 backend is completely broken since 2015 -# https://sourceforge.net/p/xmlrpc-c/patches/49/ -%bcond_with libxml2 +# build order matters and multiple threads break it +%global _smp_mflags -j1 Name: xmlrpc-c -Version: 1.51.08 -Release: 3%{?dist} +Version: 1.60.04 +Release: 7%{?dist} Summary: Lightweight RPC library based on XML and HTTP # See doc/COPYING for details. # The Python 1.5.2 license used by a few files is just BSD. -License: BSD and MIT +# Automatically converted from old format: BSD and MIT - review is highly recommended. +License: LicenseRef-Callaway-BSD AND LicenseRef-Callaway-MIT URL: http://xmlrpc-c.sourceforge.net/ -Source: http://dl.sourceforge.net/sourceforge/xmlrpc-c/xmlrpc-%version.tgz -# generated by 'make svn-sources [SVN_VER=%%version SVN_REV=%%svnrev]'. Unfortunately, -# upstream does not tag versions so we must fetch from the branch and -# check which version was used for it -#%%{?advanced_branch:Source0: xmlrpc-c-%%version.tar.xz} +Source: http://dl.sourceforge.net/sourceforge/xmlrpc-c/xmlrpc-c-%version.tgz # Upstreamable patches -Patch101: 0001-xmlrpc_server_abyss-use-va_args-properly.patch Patch102: 0002-Use-proper-datatypes-for-long-long.patch Patch103: 0003-allow-30x-redirections.patch BuildRequires: git-core -BuildRequires: meson >= 0.36.0 BuildRequires: gcc BuildRequires: gcc-c++ -%if %{with libxml2} BuildRequires: pkgconfig(libxml-2.0) -%else -# upstream has its own fork of expat -Provides: bundled(expat) -%endif BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(libcurl) BuildRequires: readline-devel @@ -112,14 +101,13 @@ This package contains some handy XML-RPC demo applications. %prep -%autosetup -Sgit -n xmlrpc-%{version} +%autosetup -Sgit %build %configure -%make_build -# build order matters and multiple threads break it -%make_build -j1 -C tools +%make_build CFLAGS="%{optflags} -std=gnu17" +%make_build CFLAGS="%{optflags} -std=gnu17" -C tools %install @@ -134,10 +122,9 @@ This package contains some handy XML-RPC demo applications. %files %license doc/COPYING lib/abyss/license.txt %doc doc/CREDITS doc/HISTORY -%if ! %{with libxml2} %{_libdir}/libxmlrpc_xml*.so.* -%endif %{_libdir}/libxmlrpc.so.* +%{_libdir}/libxmlrpc_openssl.so.* %{_libdir}/libxmlrpc_util.so.* %{_libdir}/libxmlrpc_abyss.so.* %{_libdir}/libxmlrpc_server.so.* @@ -184,6 +171,49 @@ This package contains some handy XML-RPC demo applications. %{_bindir}/xmlrpc_dumpserver %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 1.60.04-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sat Jun 13 2026 Yaakov Selkowitz - 1.60.04-6 +- Rebuilt for openssl 4.0 + +* Sat Jan 17 2026 Fedora Release Engineering - 1.60.04-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Fri Jul 25 2025 Fedora Release Engineering - 1.60.04-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jan 23 2025 Jonathan Wright - 1.60.04-3 +- fix ftbfs on gcc15 rhbz#2341577 + +* Sun Jan 19 2025 Fedora Release Engineering - 1.60.04-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jan 02 2025 Jonathan Wright - 1.60.4-2 +- Use global macro to override make smp_flags + +* Thu Jan 02 2025 Jonathan Wright - 1.60.4-1 +- update to 1.60.4 rhbz#2334236 +- re-enable builds against libxml2, no more bundled libexpat +- fixes rhbz#2310136 +- fixes rhbz#2310146 +- fixes rhbz#2310152 + +* Wed Sep 04 2024 Miroslav Suchý - 1.59.03-3 +- convert license to SPDX + +* Sat Jul 20 2024 Fedora Release Engineering - 1.59.03-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Mar 26 2024 Jonathan Wright - 1.59.03-1 +- update to 1.59.03 rhbz#2271506 + +* Sat Jan 27 2024 Fedora Release Engineering - 1.59.02-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jan 03 2024 Jonathan Wright - 1.59.02-1 +- Update to 1.59.02 rhbz#1694044 + * Sat Jul 22 2023 Fedora Release Engineering - 1.51.08-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild