9 Commits

Author SHA256 Message Date
f851d745b6 Accepting request 1268446 from devel:libraries:c_c++
OBS-URL: https://build.opensuse.org/request/show/1268446
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xmlrpc-c?expand=0&rev=13
2025-04-11 14:44:30 +00:00
Martin Pluskal
a9188a5d75 - Update descriptions for some component library subpackages
- Simpler download URL

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/xmlrpc-c?expand=0&rev=97
2025-04-10 15:46:47 +00:00
Martin Pluskal
49fd279d2c - Update to 1.60.05
* Fix crash when memory allocation fails in XML parsing, when
    built to use libxml2 XML parser. Broken in Xmlrpc-c 1.57
    (December 2019).
  * Build: fix failure to install interface header files when
    using separate build directory.
- from version 1.60.04
  * CGI server: fix crash when client does not send content
    type header field.
- from version 1.60.03
  * Fix always incorrect results, wild memory reference with
    xmlrpc_value_new of array or structure. Always broken
    (xmlrpc_value_new was new in Xmlrpc-c 1.43 (September 2015))
- from version 1.60.02
  * Build: fix compiler warning about format not being a string literal.
- from version 1.60.01
  * Build: fix missing options on compile of openssl.o.
- from version 1.60
  * Abyss HTTP server: use MSG_MORE to cause OS to send larger,
    logically complete TCP packets.
  * Use PKG_CONFIG environment variable for the name of the
    pkg-config program.
  * Abyss HTTP server: Fix memory corruption in processing of
    "authorization" header field. Broken in Xmlrpc-c 1.41 (March 2015).
- Add new libxmlrpc_openssl binary package

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/xmlrpc-c?expand=0&rev=96
2025-04-10 10:37:42 +00:00
315902d2ae Accepting request 1267828 from devel:libraries:c_c++
OBS-URL: https://build.opensuse.org/request/show/1267828
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xmlrpc-c?expand=0&rev=12
2025-04-09 19:49:14 +00:00
Martin Pluskal
0b9f9a9069 add -std=gnu11 to CFLAGS to fix gcc15 compile time error, and to still allow build on Leap 15.6
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/xmlrpc-c?expand=0&rev=94
2025-04-08 07:08:24 +00:00
acd0b1d1f5 Accepting request 1248333 from devel:libraries:c_c++
OBS-URL: https://build.opensuse.org/request/show/1248333
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xmlrpc-c?expand=0&rev=11
2025-02-27 13:50:13 +00:00
Martin Pluskal
ae7da1d026 - Modernize specfile
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/xmlrpc-c?expand=0&rev=92
2025-02-25 10:41:48 +00:00
ff87993af8 Accepting request 1226802 from devel:libraries:c_c++
OBS-URL: https://build.opensuse.org/request/show/1226802
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xmlrpc-c?expand=0&rev=10
2024-11-27 21:09:23 +00:00
Martin Pluskal
33d68c352b - update to 1.59.03:
* Build of client libraries: fix failure to find Curl stuff.
  * Build: Fix link failure in several tools because they fail to
    link the Curl library. Don't know how long this was broken.
  * Build: Eliminate compiler warnings with GCC 6.3
  * Build: fix bug: won't compile with --enable-libxml2,
    introduced with Release 1.44 (December 2015).
  * Build: update config.guess and config.sub so Configure can
    recognize newer environments.
  * Abyss XML-RPC server 'runConn' method: throw exception
    instead of exiting program when unable to execute an HTTP
    transaction.
  * Build: fix bug: ignores LDFLAGS_FOR_BUILD, LDFLAGS_PERSONAL,
    and LDFLAGS_PTHREAD when building the build tool Gennmtab.
- add skip-expat.patch: add patch to skip using expat

    header field. Broken in Xmlrpc-c 1.41
  * fix bug: wild memory reference when server times out waiting for request header.
  * Fix bug: infinite recursion if you try to format a floating
		point value that was created from something other than a
		finite number. Creation of a floating point XML-RPC value from
  * Packet stream socket: fix: sends corrupted packet when the
    packet contains an ESC character. Always broken. (packet
  * Build: fix 'make distclean' so it doesn't leave src/cpp/srcdir
  * Build: fix 'make distclean' so it doesn't leave src/cpp/srcdir

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/xmlrpc-c?expand=0&rev=90
2024-11-27 08:05:07 +00:00
6 changed files with 176 additions and 67 deletions

28
skip-expat.patch Normal file
View File

@@ -0,0 +1,28 @@
Index: xmlrpc-c-1.59.03/common.mk
===================================================================
--- xmlrpc-c-1.59.03.orig/common.mk
+++ xmlrpc-c-1.59.03/common.mk
@@ -472,9 +472,11 @@ $(LIBXMLRPC_UTILPP) $(LIBXMLRPC_UTILPP_A
$(MAKE) -C $(dir $@) -f $(SRCDIR)/lib/libutil++/Makefile \
$(notdir $@)
+ifneq ($(ENABLE_LIBXML2_BACKEND),yes)
$(LIBXMLRPC_XMLPARSE) $(LIBXMLRPC_XMLPARSE_A) : FORCE
$(MAKE) -C $(dir $@) -f $(SRCDIR)/lib/expat/xmlparse/Makefile \
$(notdir $@)
+endif
$(LIBXMLRPC_XMLTOK) $(LIBXMLRPC_XMLTOK_A) : FORCE
$(MAKE) -C $(dir $@) -f $(SRCDIR)/lib/expat/xmltok/Makefile \
Index: xmlrpc-c-1.59.03/test/Makefile
===================================================================
--- xmlrpc-c-1.59.03.orig/test/Makefile
+++ xmlrpc-c-1.59.03/test/Makefile
@@ -70,7 +70,6 @@ test: \
$(TEST_OBJS) $(LIBXMLRPC_A) $(LIBXMLRPC_UTIL_A) \
$(LIBXMLRPC_SERVER_A) $(LIBXMLRPC_SERVER_ABYSS_DEP) $(LIBXMLRPC_XML) \
$(LIBXMLRPC_CLIENT_DEP) $(LIBXMLRPC_ABYSS_DEP) \
- $(LIBXMLRPC_XMLPARSE_A) $(LIBXMLRPC_XMLTOK_A) \
$(CASPRINTF)
$(CCLD) -o $@ $(LDFLAGS_ALL) \
$(TEST_OBJS) $(LDADD_CLIENT) $(LDADD_ABYSS_SERVER) $(CASPRINTF)

BIN
xmlrpc-c-1.54.06.tgz (Stored with Git LFS)

Binary file not shown.

3
xmlrpc-c-1.60.05.tgz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:67d860062459ea2784c07b4d7913319d9539fa729f534378e8e41c8918f2adf6
size 936486

2
xmlrpc-c-rpmlintrc Normal file
View File

@@ -0,0 +1,2 @@
# xmlrpc-c is its own name
addFilter("summary-not-capitalized")

View File

@@ -1,9 +1,74 @@
-------------------------------------------------------------------
Thu Apr 10 08:26:56 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update descriptions for some component library subpackages
- Simpler download URL
-------------------------------------------------------------------
Thu Apr 10 06:36:03 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 1.60.05
* Fix crash when memory allocation fails in XML parsing, when
built to use libxml2 XML parser. Broken in Xmlrpc-c 1.57
(December 2019).
* Build: fix failure to install interface header files when
using separate build directory.
- from version 1.60.04
* CGI server: fix crash when client does not send content
type header field.
- from version 1.60.03
* Fix always incorrect results, wild memory reference with
xmlrpc_value_new of array or structure. Always broken
(xmlrpc_value_new was new in Xmlrpc-c 1.43 (September 2015))
- from version 1.60.02
* Build: fix compiler warning about format not being a string literal.
- from version 1.60.01
* Build: fix missing options on compile of openssl.o.
- from version 1.60
* Abyss HTTP server: use MSG_MORE to cause OS to send larger,
logically complete TCP packets.
* Use PKG_CONFIG environment variable for the name of the
pkg-config program.
* Abyss HTTP server: Fix memory corruption in processing of
"authorization" header field. Broken in Xmlrpc-c 1.41 (March 2015).
- Add new libxmlrpc_openssl binary package
-------------------------------------------------------------------
Mon Apr 7 16:36:22 UTC 2025 - Friedrich Haubensak <hsk17@mail.de>
- add -std=gnu11 to CFLAGS to fix gcc15 compile time error, and to
still allow build on Leap 15.6
-------------------------------------------------------------------
Mon Feb 24 12:55:49 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Modernize specfile
-------------------------------------------------------------------
Tue Nov 26 20:42:57 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 1.59.03:
* Build of client libraries: fix failure to find Curl stuff.
* Build: Fix link failure in several tools because they fail to
link the Curl library. Don't know how long this was broken.
* Build: Eliminate compiler warnings with GCC 6.3
* Build: fix bug: won't compile with --enable-libxml2,
introduced with Release 1.44 (December 2015).
* Build: update config.guess and config.sub so Configure can
recognize newer environments.
* Abyss XML-RPC server 'runConn' method: throw exception
instead of exiting program when unable to execute an HTTP
transaction.
* Build: fix bug: ignores LDFLAGS_FOR_BUILD, LDFLAGS_PERSONAL,
and LDFLAGS_PTHREAD when building the build tool Gennmtab.
- add skip-expat.patch: add patch to skip using expat
-------------------------------------------------------------------
Sat Oct 29 12:46:08 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 1.54.06:
* Abyss HTTP server: Fix memory corruption in processing of "authorization"
header field. Broken in Xmlrpc-c 1.41
header field. Broken in Xmlrpc-c 1.41
-------------------------------------------------------------------
Mon Aug 8 20:47:54 UTC 2022 - Dirk Müller <dmueller@suse.com>
@@ -23,7 +88,7 @@ Mon Aug 8 20:47:54 UTC 2022 - Dirk Müller <dmueller@suse.com>
Mon May 31 20:03:01 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 1.51.07:
* fix bug: wild memory reference when server times out waiting for request header.
* fix bug: wild memory reference when server times out waiting for request header.
-------------------------------------------------------------------
Thu Aug 20 12:37:37 UTC 2020 - Dirk Mueller <dmueller@suse.com>
@@ -89,9 +154,9 @@ Wed Jul 27 10:16:05 UTC 2016 - schwab@suse.de
Tue Nov 17 12:20:54 UTC 2015 - mpluskal@suse.com
- Update to 1.33.18
* Fix bug: infinite recursion if you try to format a floating
point value that was created from something other than a
finite number. Creation of a floating point XML-RPC value from
* Fix bug: infinite recursion if you try to format a floating
point value that was created from something other than a
finite number. Creation of a floating point XML-RPC value from
something other than a number now fails.
-------------------------------------------------------------------
@@ -112,13 +177,13 @@ Sun Mar 8 10:45:39 UTC 2015 - mpluskal@suse.com
- Cleanup spec file with spec-cleaner
- Use url for source
- Update to 1.33.16
* Packet stream socket: fix: sends corrupted packet when the
packet contains an ESC character. Always broken. (packet
* Packet stream socket: fix: sends corrupted packet when the
packet contains an ESC character. Always broken. (packet
stream sockets were new in Xmlrpc-c 1.11 - June 2007).
* Build: fix 'make distclean' so it doesn't leave src/cpp/srcdir
* Build: fix 'make distclean' so it doesn't leave src/cpp/srcdir
and src/cpp/blddir.
- Changes for 1.33.15
* Build: fix 'make distclean' so it doesn't leave src/cpp/srcdir
* Build: fix 'make distclean' so it doesn't leave src/cpp/srcdir
and src/cpp/blddir.
-------------------------------------------------------------------

View File

@@ -1,7 +1,7 @@
#
# spec file for package xmlrpc-c
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,16 +16,19 @@
#
%define soname_openssl 1
%define soname 3
%define soname_cpp 8
%define soname_cpp 9
Name: xmlrpc-c
Version: 1.54.06
Version: 1.60.05
Release: 0
Summary: Library implementing XML-based Remote Procedure Calls
License: BSD-3-Clause AND MIT
Group: Development/Libraries/C and C++
URL: https://xmlrpc-c.sourceforge.net/
Source: https://sourceforge.net/projects/xmlrpc-c/files/Xmlrpc-c%{20}Super%{20}Stable/%{version}/xmlrpc-c-%{version}.tgz
Source: https://downloads.sourceforge.net/xmlrpc-c/xmlrpc-c-%{version}.tgz
Source9: %{name}-rpmlintrc
Patch1: skip-expat.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gcc-c++
@@ -50,6 +53,7 @@ Requires: libxmlrpc_abyss++%{soname_cpp} = %{version}
Requires: libxmlrpc_client%{soname} = %{version}
Requires: libxmlrpc_client++%{soname_cpp} = %{version}
Requires: libxmlrpc_cpp%{soname_cpp} = %{version}
Requires: libxmlrpc_openssl%{soname_openssl} = %{version}
Requires: libxmlrpc_packetsocket%{soname_cpp} = %{version}
Requires: libxmlrpc_server%{soname} = %{version}
Requires: libxmlrpc_server++%{soname_cpp} = %{version}
@@ -78,15 +82,19 @@ XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc++%{soname_cpp}
Summary: A library implementing XML-based remote procedure calls
Summary: Legacy C++ interface for xmlrpc-c
Group: System/Libraries
%description -n libxmlrpc++%{soname_cpp}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
libxmlrpc_cpp is the legacy C++ wrapper library.
libxmlrpc_server++, libxmlrpc_server_cgi++,
libxmlrpc_server_pstream++, libxmlrpc_packetsocket,
libxmlrpc_server_abyss++, and libxmlrpc_client++ are the more
elaborate replacements.
%package -n libxmlrpc_abyss%{soname}
Summary: Library implementing XML-based Remote Procedure Calls
Summary: HTTP server component for xmlrpc-c
Group: System/Libraries
%description -n libxmlrpc_abyss%{soname}
@@ -94,7 +102,7 @@ XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc_abyss++%{soname_cpp}
Summary: Library implementing XML-based Remote Procedure Calls
Summary: HTTP server component for xmlrpc-c
Group: System/Libraries
%description -n libxmlrpc_abyss++%{soname_cpp}
@@ -125,13 +133,24 @@ Group: System/Libraries
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc_packetsocket%{soname_cpp}
%package -n libxmlrpc_openssl1
Summary: Library implementing XML-based Remote Procedure Calls
Group: System/Libraries
%description -n libxmlrpc_openssl1
This xmlrpc-c component library deals with OpenSSL 3.x's locking state.
%package -n libxmlrpc_packetsocket%{soname_cpp}
Summary: xmlrpc-c packet socket emulation on stream sockets
Group: System/Libraries
%description -n libxmlrpc_packetsocket%{soname_cpp}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
This xmlrpc-c component library contains a facility for communicating
socket-style, with defined packets like a datagram socket but with
reliable delivery like a stream socket. It's like a POSIX "sequential
packet" socket, except it is built on top of a stream socket, so it
is usable on the many systems that have stream sockets but not
sequential packet sockets.
%package -n libxmlrpc_server%{soname}
Summary: Library implementing XML-based Remote Procedure Calls
@@ -174,20 +193,22 @@ XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc_server_cgi++%{soname_cpp}
Summary: Library implementing XML-based Remote Procedure Calls
Summary: XMLRPC interface for CGI programs
Group: System/Libraries
%description -n libxmlrpc_server_cgi++%{soname_cpp}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
This library contains the xmlrpc_c::server_cgi class, used to contain
the guts of a CGI-based XML-RPC server. It runs inside a CGI script
and gets the XML-RPC call from, and delivers the XML-RPC response to,
the CGI environment.
%package -n libxmlrpc_server_pstream++%{soname_cpp}
Summary: Library implementing XML-based Remote Procedure Calls
Summary: Non-HTTP RPC server with XML payloads
Group: System/Libraries
%description -n libxmlrpc_server_pstream++%{soname_cpp}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
libxmlrpc_server_pstream++ provides a (non-HTTP) RPC server based on
a simple byte stream and XML-RPC XML.
%package -n libxmlrpc_util4
Summary: Library implementing XML-based Remote Procedure Calls
@@ -206,60 +227,50 @@ XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%prep
%setup -q
%autosetup -p1
echo "Not using the embedded libexpat copy"
rm -rvf lib/expat
%build
export CFLAGS_PERSONAL="%{optflags}"
## -std=gnu11 as the code decidedly does not include stdbool.h but
## includes it's own bool.h all over the place
export CFLAGS_PERSONAL="%{optflags} -std=gnu11"
%configure \
--enable-libxml2-backend
%make_build CADD="-fPIC -DPIC" AR=ar RANLIB=ranlib --jobs 1
%check
## see comment on -std=gnu11 above
export CFLAGS_PERSONAL="%{optflags} -std=gnu11"
%make_build check CADD="-fPIC -DPIC" AR=ar RANLIB=ranlib --jobs 1
%install
%make_install AR=ar RANLIB=ranlib
# Remove static libraries
rm -f %{buildroot}%{_libdir}/*.a
rm -fv %{buildroot}%{_libdir}/*.a
make -C examples clean
make -C examples/cpp clean
%post -n libxmlrpc%{soname} -p /sbin/ldconfig
%post -n libxmlrpc++%{soname_cpp} -p /sbin/ldconfig
%post -n libxmlrpc_abyss%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_abyss++%{soname_cpp} -p /sbin/ldconfig
%post -n libxmlrpc_client%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_client++%{soname_cpp} -p /sbin/ldconfig
%post -n libxmlrpc_cpp%{soname_cpp} -p /sbin/ldconfig
%post -n libxmlrpc_packetsocket%{soname_cpp} -p /sbin/ldconfig
%post -n libxmlrpc_server%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_server++%{soname_cpp} -p /sbin/ldconfig
%post -n libxmlrpc_server_abyss%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_server_abyss++%{soname_cpp} -p /sbin/ldconfig
%post -n libxmlrpc_server_cgi%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_server_cgi++%{soname_cpp} -p /sbin/ldconfig
%post -n libxmlrpc_server_pstream++%{soname_cpp} -p /sbin/ldconfig
%post -n libxmlrpc_util4 -p /sbin/ldconfig
%post -n libxmlrpc_util++%{soname_cpp} -p /sbin/ldconfig
%postun -n libxmlrpc%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc++%{soname_cpp} -p /sbin/ldconfig
%postun -n libxmlrpc_abyss%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_abyss++%{soname_cpp} -p /sbin/ldconfig
%postun -n libxmlrpc_client%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_client++%{soname_cpp} -p /sbin/ldconfig
%postun -n libxmlrpc_cpp%{soname_cpp} -p /sbin/ldconfig
%postun -n libxmlrpc_packetsocket%{soname_cpp} -p /sbin/ldconfig
%postun -n libxmlrpc_server%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_server++%{soname_cpp} -p /sbin/ldconfig
%postun -n libxmlrpc_server_abyss%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_server_abyss++%{soname_cpp} -p /sbin/ldconfig
%postun -n libxmlrpc_server_cgi%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_server_cgi++%{soname_cpp} -p /sbin/ldconfig
%postun -n libxmlrpc_server_pstream++%{soname_cpp} -p /sbin/ldconfig
%postun -n libxmlrpc_util4 -p /sbin/ldconfig
%postun -n libxmlrpc_util++%{soname_cpp} -p /sbin/ldconfig
%ldconfig_scriptlets -n libxmlrpc%{soname}
%ldconfig_scriptlets -n libxmlrpc++%{soname_cpp}
%ldconfig_scriptlets -n libxmlrpc_abyss%{soname}
%ldconfig_scriptlets -n libxmlrpc_abyss++%{soname_cpp}
%ldconfig_scriptlets -n libxmlrpc_client%{soname}
%ldconfig_scriptlets -n libxmlrpc_client++%{soname_cpp}
%ldconfig_scriptlets -n libxmlrpc_cpp%{soname_cpp}
%ldconfig_scriptlets -n libxmlrpc_openssl%{soname_openssl}
%ldconfig_scriptlets -n libxmlrpc_packetsocket%{soname_cpp}
%ldconfig_scriptlets -n libxmlrpc_server%{soname}
%ldconfig_scriptlets -n libxmlrpc_server++%{soname_cpp}
%ldconfig_scriptlets -n libxmlrpc_server_abyss%{soname}
%ldconfig_scriptlets -n libxmlrpc_server_abyss++%{soname_cpp}
%ldconfig_scriptlets -n libxmlrpc_server_cgi%{soname}
%ldconfig_scriptlets -n libxmlrpc_server_cgi++%{soname_cpp}
%ldconfig_scriptlets -n libxmlrpc_server_pstream++%{soname_cpp}
%ldconfig_scriptlets -n libxmlrpc_util4
%ldconfig_scriptlets -n libxmlrpc_util++%{soname_cpp}
%files devel
%doc examples/
@@ -290,6 +301,9 @@ make -C examples/cpp clean
%files -n libxmlrpc_cpp%{soname_cpp}
%{_libdir}/libxmlrpc_cpp.so.%{soname_cpp}*
%files -n libxmlrpc_openssl%{soname_openssl}
%{_libdir}/libxmlrpc_openssl.so.%{soname_openssl}*
%files -n libxmlrpc_packetsocket%{soname_cpp}
%{_libdir}/libxmlrpc_packetsocket.so.%{soname_cpp}*