Compare commits

..

80 commits

Author SHA1 Message Date
Fedora Release Engineering
beddf7cc75 Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-17 09:18:42 +00:00
Yaakov Selkowitz
c94be9cd41 Rebuilt for openssl 4.0 2026-06-12 20:08:15 -04:00
Fedora Release Engineering
f19a94c8fa Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-17 20:45:54 +00:00
Fedora Release Engineering
f6aad88403 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 20:56:14 +00:00
Jonathan Wright
f12a5e24de Merge remote-tracking branch 'refs/remotes/origin/rawhide' into rawhide 2025-01-23 12:03:40 -06:00
Jonathan Wright
7a50a0484f fix ftbfs on gcc15 rhbz#2341577 2025-01-23 12:02:16 -06:00
Fedora Release Engineering
6a90c73483 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 16:01:43 +00:00
Jonathan Wright
2f9ade2902 Use global macro to override make smp_flags 2025-01-02 15:18:58 -06:00
Jonathan Wright
f92c101d05 - 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
2025-01-02 11:42:26 -06:00
Miroslav Suchý
0e279f2bdf convert license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2024-09-04 22:56:33 +02:00
Fedora Release Engineering
7eb15cf563 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 10:13:50 +00:00
Jonathan Wright
32d77fa707 update to 1.59.03 2024-03-26 12:32:50 -05:00
Fedora Release Engineering
53b1fc3aa9 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 09:53:03 +00:00
jonathanspw
8e001b534d update to 1.59.02 2024-01-03 23:50:30 -06:00
Fedora Release Engineering
973106e66e Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-22 19:02:13 +00:00
Fedora Release Engineering
beeafb4b11 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 07:38:23 +00:00
jonathanspw
398566348e update to 1.51.08, remove meson build 2022-12-12 13:23:53 -06:00
Jonathan
c5b672b392 update changelog 2022-12-06 21:42:05 -06:00
Yaakov Selkowitz
7ec2883a62 Fix build error with recent meson
Also, clean up a spec warning.

Resolves: #2047128
2022-11-23 12:14:24 -05:00
Fedora Release Engineering
9bbd63d057 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 13:18:02 +00:00
Fedora Release Engineering
349aa4369b - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 05:16:07 +00:00
Sahana Prasad
7321f88182 Rebuilt with OpenSSL 3.0.0 2021-09-14 19:18:06 +02:00
Fedora Release Engineering
26b35488da - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 21:43:24 +00:00
Fedora Release Engineering
549b6ee65d - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-28 00:10:07 +00:00
Fedora Release Engineering
5db1e53dea - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 14:50:46 +00:00
Fedora Release Engineering
7ea18d7ffa - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-31 04:36:36 +00:00
Fedora Release Engineering
a3a8fe5af2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-27 04:21:26 +00:00
2fefbf50d0 Rebuild for readline 8.0 2019-02-17 09:30:53 +01:00
Fedora Release Engineering
50e919084e - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-03 12:33:45 +00:00
Fedora Release Engineering
4219eb7a8a - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-14 09:23:54 +00:00
Adam Williamson
e3dd5b7410 Backport fix for console spam with debug messages (#1541868) 2018-04-19 14:34:19 -07:00
Fedora Release Engineering
b03580677f - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-09 21:47:38 +00:00
419f03570f
Switch to %ldconfig_scriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-01-31 17:16:44 +01:00
c85811e257 BuildRequire openssl by pkgconfig()
DO NOT REVERT THIS! EVER!

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-01-17 18:57:26 +01:00
b442cf537e Update to 1.51.0
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-01-01 17:33:14 +01:00
e1bf03ae31 Fix Requires.private in xmlrpc_server++.pc
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-10-01 14:55:47 +02:00
b2dc9e9333 Update to 1.49.02
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-09-29 17:26:28 +02:00
1d08af0f0c Add xmlrpc_client++.pc
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-09-29 17:03:48 +02:00
Fedora Release Engineering
732293b8fa - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 10:47:27 +00:00
Fedora Release Engineering
01b2a6becd - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 22:14:07 +00:00
cd1fc7a892 Fix underlinking issue causing FTBFS
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-06-30 10:54:21 +02:00
Peter Robinson
c820a8d95f Build with openssl 1.1 2017-03-13 10:08:57 +00:00
Fedora Release Engineering
46bffbbc77 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-11 17:57:56 +00:00
Igor Gnatenko
3269ec56f9 Apply patches via git to preserve permissions
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
2017-01-21 15:06:18 +01:00
Igor Gnatenko
5c1623f34b Update to 1.48.0
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-01-21 10:49:13 +01:00
Mikolaj Izdebski
e0d259d271 Add patch for conversion from int to usnigned char 2016-02-16 08:44:23 +01:00
Fedora Release Engineering
9b508d46df - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-05 03:36:37 +00:00
Dennis Gilmore
a87a379e51 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-19 04:09:33 +00:00
Kalev Lember
e293c8a88d Rebuilt for GCC 5 C++11 ABI change 2015-05-02 18:43:41 +02:00
7fb8589d8d - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-18 10:15:30 +00:00
Dennis Gilmore
68118b90af - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-08 01:08:05 -05:00
Mikolaj Izdebski
d2a7787f4a Add patch to silence format-security compiler warning
- Resolves: rhbz#1037399
2014-03-28 15:58:12 +01:00
Dennis Gilmore
83cd9f838a - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild 2013-08-04 03:31:33 -05:00
Mikolaj Izdebski
0df88c01ac Add missing inter-package dependencies
- Rename fedora directory to build
2013-04-25 10:12:46 +02:00
Dennis Gilmore
c6d591656f - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild 2013-02-14 21:50:55 -06:00
Enrico Scholz
846941c222 updated to 1.32.5 2012-12-09 13:36:25 +01:00
Enrico Scholz
8fe97bfc13 updated to 1.32.2 2012-10-21 13:31:51 +02:00
Enrico Scholz
923c039adb updated to 1.32.1 2012-10-06 12:39:58 +02:00
Enrico Scholz
e9e8624ee7 updated to 1.31.4 2012-08-26 16:38:24 +02:00
Dennis Gilmore
6a4ed1f50d - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild 2012-07-22 00:54:32 -05:00
Enrico Scholz
cd8280011f updated to 1.31.0 2012-07-01 14:16:54 +02:00
Enrico Scholz
0e9394f400 updated to 1.30.6 2012-06-06 21:23:19 +02:00
Enrico Scholz
37ab753dec updated to 1.30.5 2012-05-26 12:23:12 +02:00
Enrico Scholz
b6b7ab61c4 updated to 1.30.4 2012-05-12 11:05:27 +02:00
Enrico Scholz
c23389e325 updated release 2012-04-05 13:11:22 +02:00
Enrico Scholz
839b0f0f50 updated to 1.30.1 2012-04-05 13:10:16 +02:00
Dennis Gilmore
8f316e0746 - Rebuilt for c++ ABI breakage 2012-02-28 14:38:23 -06:00
Enrico Scholz
2de7849299 updated to 1.29.0
rediffed some patches; removed 'struct-serialize' patch which was
applied upstream in 1.28.2
2012-01-04 13:22:04 +01:00
Enrico Scholz
0c94a1bf13 updated to 1.28.1 2011-10-03 21:27:23 +02:00
Enrico Scholz
066519debf fixed error handling when transfering too large files (#741980) 2011-10-03 20:54:24 +02:00
Enrico Scholz
bf23117dc3 updated to 1.27.5 2011-08-27 12:01:55 +02:00
Enrico Scholz
bc4adf1278 updated to 1.27.4 2011-08-07 23:46:09 +02:00
Enrico Scholz
6f18c9002b updated to 1.27.3 2011-08-07 12:55:27 +02:00
Enrico Scholz
d4aaad0037 made it build with recent curl 2011-06-27 21:10:50 +02:00
Enrico Scholz
073698a54c updated to 1.27.0 2011-06-27 20:30:16 +02:00
Enrico Scholz
e56061cd89 removed default-constructor patch; issue is solved upstream 2011-06-13 17:18:01 +02:00
Enrico Scholz
ed2dc7266f updated to 1.26.3 2011-06-13 17:17:39 +02:00
Enrico Scholz
a453e46a1e added default-constructor patch 2011-04-02 15:34:16 +02:00
Enrico Scholz
aab85350fb updated to 1.26.0
rediffed patches
2011-04-02 15:02:12 +02:00
Enrico Scholz
a2a5a0d39a makefile: autoset SVN_VER 2011-04-02 14:58:32 +02:00
16 changed files with 347 additions and 2797 deletions

10
.gitignore vendored
View file

@ -1 +1,9 @@
/xmlrpc-c-1.25.16.tar.xz
/xmlrpc-c-1.32.5.tar.xz
/xmlrpc-c-1.47.1.tar.xz
/xmlrpc-c-1.48.0.tar.xz
/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

View file

@ -1,7 +1,7 @@
From b06183b4942036f06b560cdb18b9eac26d2be89a Mon Sep 17 00:00:00 2001
From aca713786debd68c81a823c5989afb3de82da45b Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Sat, 5 Apr 2008 11:41:34 +0200
Subject: [PATCH 3/8] Use proper datatypes for 'long long'
Subject: [PATCH 2/3] Use proper datatypes for 'long long'
xmlrpc-c uses 'long long' at some places (e.g. in printf
statements with PRId64) under the assumption that it has a
@ -16,13 +16,13 @@ It is arguable whether 'int_least64_t' (and 'int_least32_t')
would be a better choice for 'int64_t' (and 'int32_t'), but
for now, the patch uses datatypes with exact widths.
---
include/xmlrpc-c/base.h | 7 ++++---
lib/libutil/string_number.c | 1 +
src/cpp/param_list.cpp | 8 ++++----
3 files changed, 9 insertions(+), 7 deletions(-)
include/xmlrpc-c/base.h | 7 ++++---
lib/libutil/string_number.c | 1 +
src/cpp/param_list.cpp | 2 +-
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/include/xmlrpc-c/base.h b/include/xmlrpc-c/base.h
index 66bf3f2..b7b654a 100644
index e74e2c5..90f2c91 100644
--- a/include/xmlrpc-c/base.h
+++ b/include/xmlrpc-c/base.h
@@ -5,6 +5,7 @@
@ -31,9 +31,9 @@ index 66bf3f2..b7b654a 100644
#include <stdarg.h>
+#include <stdint.h>
#include <time.h>
#include <xmlrpc-c/c_util.h>
#include <xmlrpc-c/c_util.h> /* For XMLRPC_DLLEXPORT */
#include <xmlrpc-c/util.h>
@@ -50,9 +51,9 @@ xmlrpc_version(unsigned int * const majorP,
@@ -73,9 +74,9 @@ xmlrpc_version(unsigned int * const majorP,
typedef signed int xmlrpc_int;
/* An integer of the type defined by XML-RPC <int>; i.e. 32 bit */
@ -45,7 +45,7 @@ index 66bf3f2..b7b654a 100644
/* An integer of the type defined by "XML-RPC" <i8>; i.e. 64 bit */
typedef int xmlrpc_bool;
/* A boolean (of the type defined by XML-RPC <boolean>, but there's
@@ -89,7 +90,7 @@ typedef int xmlrpc_socket;
@@ -112,7 +113,7 @@ typedef int xmlrpc_socket;
#define XMLRPC_INT32_MAX 0x7fffffff
#define XMLRPC_INT32_MIN (-XMLRPC_INT32_MAX - 1)
@ -54,24 +54,22 @@ index 66bf3f2..b7b654a 100644
#define XMLRPC_INT64_MIN (-XMLRPC_INT64_MAX - 1)
diff --git a/lib/libutil/string_number.c b/lib/libutil/string_number.c
index 1c284af..a7e78ad 100644
--- a/lib/libutil/string_number.c
+++ b/lib/libutil/string_number.c
@@ -6,6 +6,7 @@
============================================================================*/
#include <stdlib.h>
#include <string.h>
+#include <inttypes.h>
#include <errno.h>
#include <xmlrpc-c/base.h>
diff --git a/src/cpp/param_list.cpp b/src/cpp/param_list.cpp
index 67c636b..60f7df9 100644
index 1f7ae41..60f7df9 100644
--- a/src/cpp/param_list.cpp
+++ b/src/cpp/param_list.cpp
@@ -265,10 +265,10 @@ paramList::getNil(unsigned int const paramNumber) const {
-long long
+xmlrpc_int64
paramList::getI8(unsigned int const paramNumber,
- long long const minimum,
- long long const maximum) const {
+ xmlrpc_int64 const minimum,
+ xmlrpc_int64 const maximum) const {
if (paramNumber >= this->paramVector.size())
throw(fault("Not enough parameters", fault::CODE_TYPE));
@@ -277,7 +277,7 @@ paramList::getI8(unsigned int const paramNumber,
throw(fault("Parameter that is supposed to be 64-bit integer is not",
fault::CODE_TYPE));
@ -82,5 +80,5 @@ index 67c636b..60f7df9 100644
if (longlongvalue < minimum)
--
1.7.3.4
2.13.1

View file

@ -1,27 +1,28 @@
From 07f7798d0b6c9b187dd6bfa567be74a224baf1fb Mon Sep 17 00:00:00 2001
From 9bb040a9ae29e1b5afcb674c74f107114b316818 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Thu, 29 Jul 2010 19:25:32 +0200
Subject: [PATCH 5/5] allow 30x redirections
Subject: [PATCH 3/3] allow 30x redirections
---
lib/curl_transport/curltransaction.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
lib/curl_transport/curltransaction.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/lib/curl_transport/curltransaction.c b/lib/curl_transport/curltransaction.c
index 3c75010..e1cfc64 100644
index f0aafae..b5392a9 100644
--- a/lib/curl_transport/curltransaction.c
+++ b/lib/curl_transport/curltransaction.c
@@ -495,6 +495,10 @@ setupCurlSession(xmlrpc_env * const envP,
@@ -671,6 +671,10 @@ setupCurlSession(xmlrpc_env * const envP,
curl_easy_setopt(curlSessionP, CURLOPT_POST, 1);
curl_easy_setopt(curlSessionP, CURLOPT_URL, curlTransactionP->serverUrl);
curl_easy_setopt(curlSessionP, CURLOPT_URL, transP->serverUrl);
+ curl_easy_setopt(curlSessionP, CURLOPT_FOLLOWLOCATION, 1);
+ curl_easy_setopt(curlSessionP, CURLOPT_MAXREDIRS, (long)10);
+ curl_easy_setopt(curlSessionP, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL);
+
XMLRPC_MEMBLOCK_APPEND(char, envP, callXmlP, "\0", 1);
XMLRPC_MEMBLOCK_APPEND(char, envP, transP->postDataP, "\0", 1);
if (!envP->fault_occurred) {
curl_easy_setopt(curlSessionP, CURLOPT_POSTFIELDS,
--
1.7.1.1
2.13.1

View file

@ -1,8 +0,0 @@
MAKEFILE_COMMON = $(HOME)/.fedora/common.mk
-include $(MAKEFILE_COMMON)
all:
svn-sources:
cd $(DESTDIR) . && svn export https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable@${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

104
dfs.cc
View file

@ -1,104 +0,0 @@
/* --*- c++ -*--
* Copyright (C) 2010 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 3 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <string>
#include <list>
#include <map>
#include <iostream>
class node {
public:
node(std::string const &name) : name_(name) {}
void add_child(class node *n)
{
children_.push_back(n);
}
void dfs(std::list<std::string> &res);
bool visited;
private:
std::string const name_;
std::list<class node *> children_;
};
void node::dfs(std::list<std::string> &res)
{
std::list<class node *>::iterator i;
visited = true;
for (i = children_.begin(); i != children_.end(); ++i) {
if ((*i)->visited)
continue;
(*i)->dfs(res);
}
res.push_front(name_);
}
int main(void)
{
std::map<std::string, class node *> nodes;
for (;;) {
std::string name;
class node *cur_node;
std::cin >> name;
if (!std::cin.good())
break;
if (nodes.find(name) == nodes.end())
nodes[name] = new node(name);
cur_node = nodes[name];
while (std::cin.good()) {
std::cin >> name;
if (name == "##")
break;
if (nodes.find(name) == nodes.end())
nodes[name] = new node(name);
cur_node->add_child(nodes[name]);
}
}
typedef std::map<std::string, class node *>::iterator node_iterator;
for (node_iterator n = nodes.begin(); n != nodes.end(); ++n) {
for (node_iterator m = nodes.begin();
m != nodes.end(); ++m)
m->second->visited = false;
std::list<std::string> res(nodes.size());
n->second->dfs(res);
for (std::list<std::string>::const_iterator i = res.begin();
i != res.end(); ++i)
std::cout << *i << " ";
std::cout << std::endl;
}
}

View file

@ -1,57 +0,0 @@
#! /bin/bash
# Copyright (C) 2010 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 3 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
## Usage: dso-fixup <build-root> <libdir> <pattern> <libs>*
BR=$1
LIBDIR=$2
PATTERN=$3
shift 3
for i; do
echo -n $(basename "$i")' '
readelf -d $i | sed "\\!(NEEDED).*${PATTERN}!"'s/[^:]\+: \[\(.*\)\]/\1/p;d' | xargs echo -n
echo " ##"
done | ./depsort | while read lib deps; do
link=$BR$LIBDIR/${lib%.so.*}.so
test -L "$link" || {
echo "bad file '$link'" >&2
exit 1
}
set -- $deps
test $# -ne 0 || continue
rm -f $link
{
echo '/* GNU ld script */'
echo -n "INPUT($LIBDIR/$lib"
d=
if test "$#" -gt 0; then
echo -n " AS_NEEDED("
for i; do
echo -n "$d$LIBDIR/$i"
d=' '
done
echo -n ")"
fi
echo ")"
} > "$link"
chmod 0644 "$link"
done

View file

@ -1,276 +0,0 @@
From 867cf74ae3a95da7483e94052fd9b3743beb86ec Mon Sep 17 00:00:00 2001
From: giraffedata <giraffedata@adbb7d4b-a73a-0410-a071-c5f57c452bd4>
Date: Sun, 7 Aug 2011 02:50:57 +0000
Subject: [PATCH 9/9] backported GSSAPI_DELEGATION patch
---
include/xmlrpc-c/client.h | 1 +
include/xmlrpc-c/client_transport.hpp | 1 +
lib/curl_transport/curltransaction.c | 108 +++++++++++++++++++++++++++-
lib/curl_transport/curltransaction.h | 3 +
lib/curl_transport/curlversion.h | 6 ++
lib/curl_transport/xmlrpc_curl_transport.c | 5 ++
src/cpp/curl.cpp | 8 ++-
7 files changed, 129 insertions(+), 3 deletions(-)
diff --git a/include/xmlrpc-c/client.h b/include/xmlrpc-c/client.h
index 99eefd7..8dd3842 100644
--- a/include/xmlrpc-c/client.h
+++ b/include/xmlrpc-c/client.h
@@ -108,6 +108,7 @@ struct xmlrpc_curl_xportparms {
enum xmlrpc_httpproxyauth values
*/
const char * proxy_userpwd;
+ xmlrpc_bool gssapi_delegation;
};
diff --git a/include/xmlrpc-c/client_transport.hpp b/include/xmlrpc-c/client_transport.hpp
index ada5b5d..58a8c52 100644
--- a/include/xmlrpc-c/client_transport.hpp
+++ b/include/xmlrpc-c/client_transport.hpp
@@ -292,6 +292,7 @@ public:
constrOpt & proxy_auth (unsigned int const& arg);
constrOpt & proxy_userpwd (std::string const& arg);
constrOpt & proxy_type (xmlrpc_httpproxytype const& arg);
+ constrOpt & gssapi_delegation (bool const& arg);
private:
struct constrOpt_impl * implP;
diff --git a/lib/curl_transport/curltransaction.c b/lib/curl_transport/curltransaction.c
index 1ae6765..9cd6204 100644
--- a/lib/curl_transport/curltransaction.c
+++ b/lib/curl_transport/curltransaction.c
@@ -448,6 +448,99 @@ assertConstantsMatch(void) {
+/* About Curl and GSSAPI credential delegation:
+
+ Up through Curl 7.21.6, libcurl always delegates GSSAPI credentials, which
+ means it gives the client's secrets to the server so the server can operate
+ on the client's behalf. In mid-2011, this was noticed to be a major
+ security exposure, because the server is not necessarily trustworthy.
+ One is supposed to delegate one's credentials only to a server one trusts.
+ So in 7.21.7, Curl never delegates GSSAPI credentials.
+
+ But that causes problems for clients that _do_ trust their server, which
+ had always relied upon Curl's delegation.
+
+ So starting in 7.21.8, Curl gives the user the choice. The default is no
+ delegation, but the Curl user can set the CURLOPT_GSSAPI_DELEGATION flag to
+ order delegation.
+
+ Complicating matters is that some people made local variations of Curl
+ during the transition phase, so the version number alone isn't
+ determinative, so we rely on it only where we have to.
+
+ So Xmlrpc-c gives the same choice to its own user, via its
+ 'gssapi_delegation' Curl transport option.
+
+ Current Xmlrpc-c can be linked with, and compiled with, any version of
+ Curl, so it has to carefully consider all the possibilities.
+*/
+
+
+
+static bool
+curlAlwaysDelegatesGssapi(void) {
+/*----------------------------------------------------------------------------
+ The Curl library we're using always delegates GSSAPI credentials
+ (we don't have a choice).
+
+ This works with Curl as distributed by the Curl project, but there are
+ other versions of Curl for which it doesn't -- those versions report
+ older version numbers but in fact don't always delegate. Some never
+ delegate, and some give the user the option.
+-----------------------------------------------------------------------------*/
+ curl_version_info_data * const curlInfoP =
+ curl_version_info(CURLVERSION_NOW);
+
+ return (curlInfoP->version_num <= 0x071506); /* 7.21.6 */
+}
+
+
+
+static void
+requestGssapiDelegation(CURL * const curlSessionP ATTR_UNUSED,
+ bool * const gotItP) {
+/*----------------------------------------------------------------------------
+ Set up the Curl session *curlSessionP to delegate its GSSAPI credentials to
+ the server.
+
+ Return *gotitP is true iff we succeed. We fail when the version of libcurl
+ for which we are compiled or to which we are linked is not capable of such
+ delegation.
+-----------------------------------------------------------------------------*/
+#if HAVE_CURL_GSSAPI_DELEGATION
+ int rc;
+
+ rc = curl_easy_setopt(curlSessionP, CURLOPT_GSSAPI_DELEGATION,
+ CURLGSSAPI_DELEGATION_FLAG);
+
+ if (rc == CURLE_OK)
+ *gotItP = true;
+ else {
+ /* The only way curl_easy_setopt() could have failed is that we
+ are running with an old libcurl from before
+ CURLOPT_GSSAPI_DELEGATION was invented.
+ */
+ if (curlAlwaysDelegatesGssapi()) {
+ /* No need to request delegation; we got it anyway */
+ *gotItP = true;
+ } else
+ *gotItP = false;
+ }
+#else
+ if (curlAlwaysDelegatesGssapi())
+ *gotItP = true;
+ else {
+ /* The library may be able to do credential delegation on request, but
+ we have no way to request it; the Curl for which we are compiled is
+ too old.
+ */
+ *gotItP = false;
+ }
+#endif
+}
+
+
+
static void
setupCurlSession(xmlrpc_env * const envP,
curlTransaction * const curlTransactionP,
@@ -482,7 +575,7 @@ setupCurlSession(xmlrpc_env * const envP,
a particular transaction finished.
*/
- /* It is out policy to do a libcurl call only where necessary, I.e. not
+ /* It is our policy to do a libcurl call only where necessary, I.e. not
to set what is the default anyhow. The reduction in calls may save
some time, but mostly, it will save us encountering rare bugs or
suffering from backward incompatibilities in future libcurl. I.e. we
@@ -593,7 +686,18 @@ setupCurlSession(xmlrpc_env * const envP,
if (curlSetupP->timeout)
setCurlTimeout(curlSessionP, curlSetupP->timeout);
- {
+ if (curlSetupP->gssapiDelegation) {
+ bool gotIt;
+ requestGssapiDelegation(curlSessionP, &gotIt);
+
+ if (!gotIt)
+ xmlrpc_faultf(envP, "Cannot honor 'gssapi_delegation' "
+ "Curl transport option. "
+ "This version of libcurl is not "
+ "capable of delegating GSSAPI credentials");
+ }
+
+ if (!envP->fault_occurred) {
const char * authHdrValue;
/* NULL means we don't have to construct an explicit
Authorization: header. non-null means we have to
diff --git a/lib/curl_transport/curltransaction.h b/lib/curl_transport/curltransaction.h
index 4edc365..585dcca 100644
--- a/lib/curl_transport/curltransaction.h
+++ b/lib/curl_transport/curltransaction.h
@@ -81,6 +81,9 @@ struct curlSetup {
unsigned int proxyType;
/* see enum curl_proxytype: CURLPROXY_HTTP, CURLPROXY_SOCKS4, ... */
+ bool gssapiDelegation;
+ /* allow GSSAPI credential delegation */
+
unsigned int timeout;
/* 0 = no Curl timeout. This is in milliseconds. */
diff --git a/lib/curl_transport/curlversion.h b/lib/curl_transport/curlversion.h
index 71c5a68..4ad445a 100644
--- a/lib/curl_transport/curlversion.h
+++ b/lib/curl_transport/curlversion.h
@@ -14,6 +14,12 @@
#define HAVE_CURL_STRERROR 0
#endif
+#ifdef CURLGSSAPI_DELEGATION_FLAG
+#define HAVE_CURL_GSSAPI_DELEGATION 1
+#else
+#define HAVE_CURL_GSSAPI_DELEGATION 0
+#endif
+
#undef CMAJOR
#undef CMINOR
diff --git a/lib/curl_transport/xmlrpc_curl_transport.c b/lib/curl_transport/xmlrpc_curl_transport.c
index c48b927..9fedcda 100644
--- a/lib/curl_transport/xmlrpc_curl_transport.c
+++ b/lib/curl_transport/xmlrpc_curl_transport.c
@@ -836,6 +836,11 @@ getXportParms(xmlrpc_env * const envP,
else
curlSetupP->proxyType = curlXportParmsP->proxy_type;
+ if (!curlXportParmsP || parmSize < XMLRPC_CXPSIZE(gssapi_delegation))
+ curlSetupP->gssapiDelegation = false;
+ else
+ curlSetupP->gssapiDelegation = !!curlXportParmsP->gssapi_delegation;
+
getTimeoutParm(envP, curlXportParmsP, parmSize, &curlSetupP->timeout);
}
diff --git a/src/cpp/curl.cpp b/src/cpp/curl.cpp
index 9f38ffb..24a84ff 100644
--- a/src/cpp/curl.cpp
+++ b/src/cpp/curl.cpp
@@ -157,6 +157,7 @@ struct clientXmlTransport_curl::constrOpt_impl {
unsigned int proxy_port;
std::string proxy_userpwd;
xmlrpc_httpproxytype proxy_type;
+ bool gssapi_delegation;
} value;
struct {
bool network_interface;
@@ -184,6 +185,7 @@ struct clientXmlTransport_curl::constrOpt_impl {
bool proxy_port;
bool proxy_userpwd;
bool proxy_type;
+ bool gssapi_delegation;
} present;
};
@@ -214,6 +216,7 @@ clientXmlTransport_curl::constrOpt_impl::constrOpt_impl() {
present.proxy_auth = false;
present.proxy_userpwd = false;
present.proxy_type = false;
+ present.gssapi_delegation = false;
}
@@ -251,6 +254,7 @@ DEFINE_OPTION_SETTER(proxy_port, unsigned int);
DEFINE_OPTION_SETTER(proxy_auth, unsigned int);
DEFINE_OPTION_SETTER(proxy_userpwd, string);
DEFINE_OPTION_SETTER(proxy_type, xmlrpc_httpproxytype);
+DEFINE_OPTION_SETTER(gssapi_delegation, bool);
#undef DEFINE_OPTION_SETTER
@@ -333,6 +337,8 @@ clientXmlTransport_curl::initialize(constrOpt const& optExt) {
opt.value.proxy_userpwd.c_str() : NULL;
transportParms.proxy_type = opt.present.proxy_type ?
opt.value.proxy_type : XMLRPC_HTTPPROXY_HTTP;
+ transportParms.gssapi_delegation = opt.present.gssapi_delegation ?
+ opt.value.gssapi_delegation : false;
this->c_transportOpsP = &xmlrpc_curl_transport_ops;
@@ -340,7 +346,7 @@ clientXmlTransport_curl::initialize(constrOpt const& optExt) {
xmlrpc_curl_transport_ops.create(
&env.env_c, 0, "", "",
- &transportParms, XMLRPC_CXPSIZE(proxy_userpwd),
+ &transportParms, XMLRPC_CXPSIZE(gssapi_delegation),
&this->c_transportP);
if (env.env_c.fault_occurred)
--
1.7.7.5

View file

@ -1 +0,0 @@
2321

View file

@ -1 +1 @@
8548eb0e2bdb85c42373a497fb64ea01 xmlrpc-c-1.25.16.tar.xz
SHA512 (xmlrpc-c-1.60.04.tgz) = 68407053eec1e3f32187169f5bb976e9f043f1576dd9fb7a9076ed00414dd0293cfdf72527a314c244dd48986402af3c9cc33d110ed3b382a13190eb8dddb734

View file

@ -1,2 +0,0 @@
http://xmlrpc-c.svn.sourceforge.net/viewvc/xmlrpc-c/stable/
revision=([0-9]+)

View file

@ -1,41 +0,0 @@
From 80047d74644eeda55c451aea59951eb502649cf4 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
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

File diff suppressed because it is too large Load diff

View file

@ -1,32 +0,0 @@
From df68067713ab58bf14ac1e75eace9fac45dba7d9 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Thu, 30 Dec 2010 20:44:06 +0100
Subject: [PATCH 8/8] include missing <xmlrpc-c/string_int.h>
gives
| /tmp/xmlrpc-c/src/xmlrpc_libxml2.c: In function 'end_element':
| /tmp/xmlrpc-c/src/xmlrpc_libxml2.c:303:2: warning: implicit declaration of function 'xmlrpc_streq'
| ...
| ../src/libxmlrpc.so.3.25: undefined reference to `xmlrpc_streq'
else.
---
src/xmlrpc_libxml2.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/src/xmlrpc_libxml2.c b/src/xmlrpc_libxml2.c
index 57ae06b..ef073d4 100644
--- a/src/xmlrpc_libxml2.c
+++ b/src/xmlrpc_libxml2.c
@@ -38,6 +38,7 @@
#include "xmlrpc-c/base.h"
#include "xmlrpc-c/base_int.h"
+#include "xmlrpc-c/string_int.h"
#include "xmlrpc-c/xmlparser.h"
/* Define the contents of our internal structure. */
--
1.7.3.4

View file

@ -1,48 +0,0 @@
From c06a722a77198ae42fb79b67d185556ac6c1e246 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Mon, 25 Feb 2008 17:48:25 +0100
Subject: [PATCH 2/7] fixed broken format string modifiers
---
examples/json.c | 4 ++--
tools/xmlrpc_pstream/xmlrpc_pstream.cpp | 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/tools/xmlrpc_pstream/xmlrpc_pstream.cpp b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp
index 1417708..0d6ec11 100644
--- a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp
+++ b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp
@@ -103,7 +103,7 @@ bytestringValFromParm(string const& valueString) {
if (valueString.length() / 2 * 2 != valueString.length())
throwf("Hexadecimal text is not an even "
- "number of characters (it is %u characters)",
+ "number of characters (it is %zu characters)",
valueString.length());
else {
vector<unsigned char> byteString(valueString.length() / 2);
--
1.7.2.3

View file

@ -1,28 +0,0 @@
From 6affc342b968ec042d9efe84ca0ea40c8d88e8bf Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@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

View file

@ -1,67 +1,57 @@
%global advanced_branch 1
%global svnrev 2321
# build order matters and multiple threads break it
%global _smp_mflags -j1
%{!?release_func:%global release_func() %%{?prerelease:0.}%1%%{?prerelease:.%%prerelease}%%{?dist}}
Summary: A lightweight RPC library based on XML and HTTP
Name: xmlrpc-c
Version: 1.25.16
Release: %release_func 1500.svn%svnrev
# See COPYING for details.
Name: xmlrpc-c
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
Group: System Environment/Libraries
URL: http://xmlrpc-c.sourceforge.net/
%{!?advanced_branch:Source0: 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}
# 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-c-%version.tgz
Source100: dfs.cc
Source101: dso-fixup
# Upstreamable patches
Patch102: 0002-Use-proper-datatypes-for-long-long.patch
Patch103: 0003-allow-30x-redirections.patch
Patch100: xmlrpc-c-cmake.patch
Patch102: xmlrpc-c-printf-size_t.patch
Patch105: xmlrpc-c-longlong.patch
Patch107: xmlrpc-c-uninit-curl.patch
Patch108: xmlrpc-c-30x-redirect.patch
Patch109: xmlrpc-c-check-vasprintf-return-value.patch
Patch110: xmlrpc-c-include-string_int.h.patch
BuildRoot: %_tmppath/%name-%version-%release-root
BuildRequires: cmake
BuildRequires: curl-devel libxml2-devel readline-devel ncurses-devel
BuildRequires: git-core
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(libcurl)
BuildRequires: readline-devel
BuildRequires: ncurses-devel
%package c++
Summary: C++ libraries for xmlrpc-c
Group: System Environment/Libraries
Requires: %name%{?_isa} = %version-%release
Summary: C++ libraries for xmlrpc-c
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%package client
Summary: C client libraries for xmlrpc-c
Group: System Environment/Libraries
Requires: %name%{?_isa} = %version-%release
BuildConflicts: libcurl-devel < 7.21.3-9
Patch200: gssapi-delegate.patch
Summary: C client libraries for xmlrpc-c
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%package client++
Summary: C++ client libraries for xmlrpc-c
Group: System Environment/Libraries
Requires: %name%{?_isa} = %version-%release
Summary: C++ client libraries for xmlrpc-c
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-c++%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-client%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%package devel
Summary: Development files for xmlrpc-c based programs
Group: Development/Libraries
Requires: %name%{?_isa} = %version-%release
Requires: %name-c++%{?_isa} = %version-%release
Requires: %name-client%{?_isa} = %version-%release
Requires: %name-client++%{?_isa} = %version-%release
Summary: Development files for xmlrpc-c based programs
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-c++%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-client%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-client++%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%package apps
Summary: Sample XML-RPC applications
Group: Applications/Internet
Summary: Sample XML-RPC applications
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-c++%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-client%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-client++%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description
@ -111,151 +101,306 @@ This package contains some handy XML-RPC demo applications.
%prep
%setup -q
%patch100 -p1
%patch102 -p1
%patch105 -p1
%patch107 -p1
%patch108 -p1
%patch109 -p1
%patch110 -p1
%patch200 -p1
## not needed...
rm doc/{INSTALL,configure_doc}
%autosetup -Sgit
%build
mkdir -p fedora
cd fedora
export CFLAGS="$RPM_OPT_FLAGS -Wno-uninitialized -Wno-unknown-pragmas"
export CXXFLAGS="$RPM_OPT_FLAGS"
export LDFLAGS="-Wl,-as-needed"
cmake .. \
-D_lib:STRING=%_lib \
-DMUST_BUILD_CURL_CLIENT:BOOL=ON \
-DMUST_BUILD_LIBWWW_CLIENT:BOOL=OFF \
-DCMAKE_INSTALL_PREFIX:PATH=%_prefix \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DENABLE_TOOLS:BOOL=ON
make VERBOSE=1 %{?_smp_mflags}
%__cxx $RPM_OPT_FLAGS %SOURCE100 -o depsort
%configure
%make_build CFLAGS="%{optflags} -std=gnu17"
%make_build CFLAGS="%{optflags} -std=gnu17" -C tools
%install
rm -rf $RPM_BUILD_ROOT
cd fedora
make install DESTDIR=$RPM_BUILD_ROOT
chmod +x $RPM_BUILD_ROOT%_libdir/*.so
%SOURCE101 "$RPM_BUILD_ROOT" "%_libdir" 'libxmlrpc' $RPM_BUILD_ROOT%_libdir/libxmlrpc*.so.[0-9]
%make_install
%make_install -C tools
%check
unset PKG_CONFIG_PATH
export PKG_CONFIG_LIBDIR=$RPM_BUILD_ROOT%_libdir/pkgconfig:%_libdir/pkgconfig:%_datadir/pkgconfig
PATH=$RPM_BUILD_ROOT%_bindir:$PATH
_e() {
echo "\$ $@"
"$@"
}
set +x
_e xmlrpc-c-config --help
for comp in c++ cgi-server server-util abyss-server client libwww-client; do
for opt in '--version' '--libs' 'c++2 --libs' 'c++ --libs --static'; do
_e xmlrpc-c-config "$comp" $opt
done
done
set -x
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post client -p /sbin/ldconfig
%postun client -p /sbin/ldconfig
%post c++ -p /sbin/ldconfig
%postun c++ -p /sbin/ldconfig
%post client++ -p /sbin/ldconfig
%postun client++ -p /sbin/ldconfig
#%%make_test
%files
%defattr(-,root,root,-)
%doc doc/*
%_libdir/*.so.3*
%exclude %_libdir/libxmlrpc_client.so*
%license doc/COPYING lib/abyss/license.txt
%doc doc/CREDITS doc/HISTORY
%{_libdir}/libxmlrpc_xml*.so.*
%{_libdir}/libxmlrpc.so.*
%{_libdir}/libxmlrpc_openssl.so.*
%{_libdir}/libxmlrpc_util.so.*
%{_libdir}/libxmlrpc_abyss.so.*
%{_libdir}/libxmlrpc_server.so.*
%{_libdir}/libxmlrpc_server_abyss.so.*
%{_libdir}/libxmlrpc_server_cgi.so.*
%exclude %{_libdir}/libxmlrpc*.a
%files client
%defattr(-,root,root,-)
%_libdir/libxmlrpc_client.so.*
%{_libdir}/libxmlrpc_client.so.*
%files c++
%defattr(-,root,root,-)
%_libdir/*.so.7*
%exclude %_libdir/libxmlrpc_client++.so*
%{_libdir}/libxmlrpc_cpp.so.*
%{_libdir}/libxmlrpc++.so.*
%{_libdir}/libxmlrpc_util++.so.*
%{_libdir}/libxmlrpc_abyss++.so.*
%{_libdir}/libxmlrpc_server++.so.*
%{_libdir}/libxmlrpc_server_abyss++.so.*
%{_libdir}/libxmlrpc_server_cgi++.so.*
%{_libdir}/libxmlrpc_packetsocket.so.*
%{_libdir}/libxmlrpc_server_pstream++.so.*
%files client++
%defattr(-,root,root,-)
%_libdir/libxmlrpc_client++.so.*
%{_libdir}/libxmlrpc_client++.so.*
%files devel
%defattr(-,root,root,-)
%_bindir/xmlrpc-c-config
%_includedir/xmlrpc-c
%_includedir/*.h
%_libdir/pkgconfig/*.pc
%_libdir/*.so
%{_bindir}/xmlrpc-c-config
%{_includedir}/xmlrpc-c/
%{_includedir}/*.h
%{_libdir}/pkgconfig/xmlrpc*.pc
%{_libdir}/libxmlrpc*.so
%files apps
%defattr(-,root,root,-)
%doc tools/xmlrpc/xmlrpc.html
%{_bindir}/xmlrpc_parsecall
%{_bindir}/xmlrpc
%{_bindir}/xmlrpc_transport
%doc tools/xmlrpc_transport/xmlrpc_transport.html
%_mandir/man1/*
%_bindir/xmlrpc
%_bindir/xmlrpc_transport
%_bindir/xml-rpc-api2cpp
%_bindir/xmlrpc_cpp_proxy
%_bindir/xmlrpc_pstream
%exclude %_bindir/xml-rpc-api2txt
%{_bindir}/xml-rpc-api2cpp
%{_mandir}/man1/xml-rpc-api2cpp.1*
%{_bindir}/xml-rpc-api2txt
%{_mandir}/man1/xml-rpc-api2txt.1*
%{_bindir}/xmlrpc_cpp_proxy
%{_bindir}/xmlrpc_pstream
%{_bindir}/xmlrpc_dumpserver
%changelog
* Wed Jun 6 2012 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.25.16-1500.svn2321
- updated to 1.25.16
- removed 'default-constructor' patch which is now upstream
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.60.04-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Wed Jan 4 2012 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.25.13-1500.svn2225
- updated to 1.25.13; bugfixes in utility programs
* Sat Jun 13 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 1.60.04-6
- Rebuilt for openssl 4.0
* Mon Oct 3 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.25.4-1501.svn2077
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.60.04-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.60.04-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jan 23 2025 Jonathan Wright <jonathan@almalinux.org> - 1.60.04-3
- fix ftbfs on gcc15 rhbz#2341577
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.60.04-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Jan 02 2025 Jonathan Wright <jonathan@almalinux.org> - 1.60.4-2
- Use global macro to override make smp_flags
* Thu Jan 02 2025 Jonathan Wright <jonathan@almalinux.org> - 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ý <msuchy@redhat.com> - 1.59.03-3
- convert license to SPDX
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.59.03-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Mar 26 2024 Jonathan Wright <jonathan@almalinux.org> - 1.59.03-1
- update to 1.59.03 rhbz#2271506
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.59.02-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jan 03 2024 Jonathan Wright <jonathan@almalinux.org> - 1.59.02-1
- Update to 1.59.02 rhbz#1694044
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.51.08-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.51.08-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Dec 06 2022 Jonathan Wright <jonathan@almalinux.org> - 1.51.08-1
- update to 1.51.08
- Remove meson build code, follow upstream build methods
- rhbz#2009098
- rhbz#2010890
* Tue Dec 06 2022 Jonathan Wright <jonathan@almalinux.org> - 1.51.0-17
- Merge PR from yselkowitz to fix meson builds
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.51.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.51.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 1.51.0-14
- Rebuilt with OpenSSL 3.0.0
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.51.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Jan 28 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.51.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.51.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.51.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.51.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.51.0-8
- Rebuild for readline 8.0
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.51.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.51.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Apr 19 2018 Adam Williamson <awilliam@redhat.com> - 1.51.0-5
- Backport upstream fix for console spam with debug messages (#1541868)
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.51.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Jan 31 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.51.0-3
- Switch to %%ldconfig_scriptlets
* Wed Jan 17 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.51.0-2
- BuildRequire openssl by pkgconfig()
* Mon Jan 01 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.51.0-1
- Update to 1.51.0
* Sun Oct 01 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.49.02-2
- Fix Requires.private in xmlrpc_server++.pc
* Fri Sep 29 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.49.02-1
- Update to 1.49.02
* Fri Sep 29 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.48.0-8
- Add xmlrpc_client++.pc
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.48.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.48.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Jun 30 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.48.0-5
- Fix underlinking issue causing FTBFS
* Mon Mar 13 2017 Peter Robinson <pbrobinson@fedoraproject.org> 1.48.0-4
- Build with openssl 1.1
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.48.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Sat Jan 21 2017 Igor Gnatenko <ignatenko@redhat.com> - 1.48.0-2
- Apply patches via git to preserve permissions
* Sun Dec 18 2016 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 1.48.0-1
- Update to 1.48.0
* Tue Feb 16 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.32.5-1909.svn2451
- Add patch for conversion from int to usnigned char
- Resolves: rhbz#1308254
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.32.5-1909.svn2451
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.32.5-1908.svn2451
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 1.32.5-1907.svn2451
- Rebuilt for GCC 5 C++11 ABI change
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.32.5-1906.svn2451
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.32.5-1905.svn2451
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Fri Mar 28 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.32.5-1904.svn2451
- Add patch to silence format-security compiler warning
- Resolves: rhbz#1037399
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.32.5-1903.svn2451
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Thu Apr 25 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.32.5-1902.svn2451
- Add missing inter-package dependencies
- Rename fedora directory to build
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.32.5-1901.svn2451
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Sun Dec 9 2012 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.32.5-1900.svn2451
- updated to 1.32.5
* Sun Oct 21 2012 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.32.2-1900.svn2434
- updated to 1.32.2
* Sat Oct 6 2012 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.32.1-1900.svn2413
- updated to 1.32.1
* Sun Aug 26 2012 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.31.4-1900.svn2386
- updated to 1.31.4
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.31.0-1801.svn2365
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Sun Jul 1 2012 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.31.0-1800.svn2365
- updated to 1.31.0
* Wed Jun 6 2012 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.30.6-1800.svn2328
- updated to 1.30.6
* Sat May 26 2012 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.30.5-1800.svn2324
- updated to 1.30.5 (IPv6 server fixes)
* Sat May 12 2012 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.30.4-1800.svn2318
- updated to 1.30.4
* Thu Apr 5 2012 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.30.1-1800.svn2298
- updated to 1.30.1
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.29.0-1701.svn2233
- Rebuilt for c++ ABI breakage
* Wed Jan 4 2012 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.29.0-1700.svn2233
- updated to 1.29.0
* Mon Oct 3 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.28.1-1700.svn2203
- updated to 1.28.1
* Mon Oct 3 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.5-1701.svn2185
- fixed error handling when transfering too large files (#741980)
* Sun Aug 7 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.25.4-1500.svn2077
- updated to 1.25.4
- backported GSSAPI_DELEGATION patch from 1.27.3; added BuildConflict
for old curl-devel
* Sat Aug 27 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.5-1700.svn2185
- updated to 1.27.5
* Tue May 10 2011 Karsten Hopp <karsten@redhat.com> 1.25.1-1501.1.svn2077
- apply Enrico's default constructor patch to F-15 for the PPC rebuild (#703469)
* Sun Aug 7 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.4-1700.svn2171
- updated to 1.27.4
* Sun Aug 7 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.3-1700.svn2145
- updated to 1.27.3
* Mon Jun 27 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.0-1600.svn2145
- updated to 1.27.0
- made it build with recent curl
* Mon Jun 13 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.26.3-1600.svn2134
- updated to 1.26.3
- removed default-constructor patch; issue is solved upstream
* Sat Apr 2 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.26.0-1600.svn2188
- updated to 1.26.0
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.25.1-1501.svn2077
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
@ -422,6 +567,5 @@ rm -rf $RPM_BUILD_ROOT
- fixed gcc4.1 build issues
- removed static libraries when there exists a corresponding dynamic one
* Tue Aug 2 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.03.02-1
- Initial build.