Compare commits

..

10 commits

Author SHA1 Message Date
Enrico Scholz
0c24ea0385 forward ported two patches from stable branch
- fixes interruption with libcurl transport
- fixes parsing error of 64 bit integers
- fixes libxml2 related memory leak
2012-12-09 13:32:27 +01:00
Enrico Scholz
27fe80a495 forward-ported patch from stable branch which fixes exception handling
on invalid utf-8 strings
2012-08-26 16:51:46 +02:00
Enrico Scholz
3a4dd52146 backported "Fix double free of memory with failed xmlrpc_parse_value()" patch 2012-06-06 21:14:44 +02:00
Enrico Scholz
422854b729 backported IPv6 server related patch 2012-05-26 12:31:24 +02:00
Enrico Scholz
c70bcc1acb updated to 1.27.7
backported fix for "doesn't accept 'b/f' to mean boolean false"
2012-01-04 13:40:56 +01:00
Enrico Scholz
e009ec58bb fixed error handling when transfering too large files (#741980) 2011-10-03 20:57:02 +02:00
Enrico Scholz
4ca55d6112 Merge remote-tracking branch 'origin/master' into f16
Conflicts:
	xmlrpc-c.spec
2011-08-27 12:05:36 +02:00
Enrico Scholz
4f60fe2063 rebuilt with correct check for libcurl-devel 2011-08-08 00:12:00 +02:00
Enrico Scholz
c07f64c727 Merge remote-tracking branch 'origin/master' into f16 2011-08-07 23:48:18 +02:00
Enrico Scholz
f96417f815 tagged for f16
make sure that curl-devel with CURLOPT_GSSAPI_DELEGATION is used
2011-08-07 13:02:09 +02:00
22 changed files with 2894 additions and 316 deletions

10
.gitignore vendored
View file

@ -1,9 +1 @@
/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
/xmlrpc-c-1.27.7.tar.xz

10
Makefile Normal file
View file

@ -0,0 +1,10 @@
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

104
dfs.cc Normal file
View file

@ -0,0 +1,104 @@
/* --*- 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;
}
}

57
dso-fixup Executable file
View file

@ -0,0 +1,57 @@
#! /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

105
fix-double-free.patch Normal file
View file

@ -0,0 +1,105 @@
commit dc129ae656085855cf126e81183001a5c50fdd77
Author: giraffedata <giraffedata@adbb7d4b-a73a-0410-a071-c5f57c452bd4>
Date: Sat May 26 21:00:19 2012 +0000
Fix double free of memory with failed xmlrpc_parse_value()
git-svn-id: https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/trunk@2327 adbb7d4b-a73a-0410-a071-c5f57c452bd4
diff --git a/src/xmlrpc_decompose.c b/src/xmlrpc_decompose.c
index 6323a26..4a77426 100644
--- a/src/xmlrpc_decompose.c
+++ b/src/xmlrpc_decompose.c
@@ -165,37 +165,33 @@ struct decompTreeNode {
/* prototype for recursive calls */
static void
-releaseDecomposition(const struct decompTreeNode * const decompRootP,
- bool const oldstyleMemMgmt);
+releaseDecomposition(const struct decompTreeNode * const decompRootP);
static void
-releaseDecompArray(struct arrayDecomp const arrayDecomp,
- bool const oldstyleMemMgmt) {
+releaseDecompArray(struct arrayDecomp const arrayDecomp) {
unsigned int i;
for (i = 0; i < arrayDecomp.itemCnt; ++i) {
- releaseDecomposition(arrayDecomp.itemArray[i], oldstyleMemMgmt);
+ releaseDecomposition(arrayDecomp.itemArray[i]);
}
}
+
static void
-releaseDecompStruct(struct structDecomp const structDecomp,
- bool const oldstyleMemMgmt) {
+releaseDecompStruct(struct structDecomp const structDecomp) {
unsigned int i;
for (i = 0; i < structDecomp.mbrCnt; ++i) {
- releaseDecomposition(structDecomp.mbrArray[i].decompTreeP,
- oldstyleMemMgmt);
+ releaseDecomposition(structDecomp.mbrArray[i].decompTreeP);
}
}
static void
-releaseDecomposition(const struct decompTreeNode * const decompRootP,
- bool const oldstyleMemMgmt) {
+releaseDecomposition(const struct decompTreeNode * const decompRootP) {
/*----------------------------------------------------------------------------
Assuming that Caller has decomposed something according to 'decompRootP',
release whatever resources the decomposed information occupies.
@@ -236,10 +232,10 @@ releaseDecomposition(const struct decompTreeNode * const decompRootP,
xmlrpc_DECREF(*decompRootP->store.TstructVal.valueP);
break;
case '(':
- releaseDecompArray(decompRootP->store.Tarray, oldstyleMemMgmt);
+ releaseDecompArray(decompRootP->store.Tarray);
break;
case '{':
- releaseDecompStruct(decompRootP->store.Tstruct, oldstyleMemMgmt);
+ releaseDecompStruct(decompRootP->store.Tstruct);
break;
}
}
@@ -310,11 +306,12 @@ parsearray(xmlrpc_env * const envP,
}
}
if (envP->fault_occurred) {
- /* Release the items we completed before we failed. */
- unsigned int i;
- for (i = 0; i < doneCnt; ++i)
- releaseDecomposition(arrayDecomp.itemArray[i],
- oldstyleMemMgmt);
+ if (!oldstyleMemMgmt) {
+ /* Release the items we completed before we failed. */
+ unsigned int i;
+ for (i = 0; i < doneCnt; ++i)
+ releaseDecomposition(arrayDecomp.itemArray[i]);
+ }
}
}
}
@@ -351,10 +348,12 @@ parsestruct(xmlrpc_env * const envP,
}
if (envP->fault_occurred) {
- unsigned int i;
- for (i = 0; i < doneCount; ++i)
- releaseDecomposition(structDecomp.mbrArray[i].decompTreeP,
- oldstyleMemMgmt);
+ if (!oldstyleMemMgmt) {
+ /* Release the items we completed before we failed. */
+ unsigned int i;
+ for (i = 0; i < doneCount; ++i)
+ releaseDecomposition(structDecomp.mbrArray[i].decompTreeP);
+ }
}
}

View file

@ -0,0 +1,23 @@
commit e843bfc560ec7baabf9f88421ecdd1826e9fb578
Author: giraffedata <giraffedata@adbb7d4b-a73a-0410-a071-c5f57c452bd4>
Date: Wed Aug 22 03:18:22 2012 +0000
Release 1.25.19
git-svn-id: https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable@2385 adbb7d4b-a73a-0410-a071-c5f57c452bd4
diff --git a/src/xmlrpc_string.c b/src/xmlrpc_string.c
index ac9a1f5..9496bfa 100644
--- a/src/xmlrpc_string.c
+++ b/src/xmlrpc_string.c
@@ -673,6 +673,10 @@ stringNew(xmlrpc_env * const envP,
xmlrpc_value * valP;
+ // hack to work around old-style exception cleanup in
+ // convert_params() in xmlrpc_parse.c.
+ valP = NULL;
+
xmlrpc_validate_utf8(envP, value, length);
if (!envP->fault_occurred) {

22
ipv6-parse.patch Normal file
View file

@ -0,0 +1,22 @@
commit 2b92ed9855f4decbab5ba46d0cbf491f3fd6044b
Author: giraffedata <giraffedata@adbb7d4b-a73a-0410-a071-c5f57c452bd4>
Date: Sat May 19 02:06:59 2012 +0000
Fix parsing of host/port with colons in host portion
[backported]
git-svn-id: https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/trunk@2323 adbb7d4b-a73a-0410-a071-c5f57c452bd4
diff --git a/lib/abyss/src/http.c b/lib/abyss/src/http.c
index 096d93e..6b03e4c 100644
--- a/lib/abyss/src/http.c
+++ b/lib/abyss/src/http.c
@@ -527,7 +527,7 @@ parseHostPort(const char * const hostport,
buffer = strdup(hostport);
- colonPos = strchr(buffer, ':');
+ colonPos = strrchr(buffer, ':');
if (colonPos) {
const char * p;
uint32_t port;

1
lastver Normal file
View file

@ -0,0 +1 @@
2233

69
release-1.25.20.patch Normal file
View file

@ -0,0 +1,69 @@
From 1c76aa8abeaef8273f637324e43de78677535833 Mon Sep 17 00:00:00 2001
From: giraffedata <giraffedata@adbb7d4b-a73a-0410-a071-c5f57c452bd4>
Date: Fri, 19 Oct 2012 19:47:27 +0000
Subject: Release 1.25.20
git-svn-id: https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable@2435 adbb7d4b-a73a-0410-a071-c5f57c452bd4
---
lib/curl_transport/xmlrpc_curl_transport.c | 23 ++++++++++++++++++++---
version.mk | 2 +-
2 Dateien geändert, 21 Zeilen hinzugefügt(+), 4 Zeilen entfernt(-)
diff --git a/lib/curl_transport/xmlrpc_curl_transport.c b/lib/curl_transport/xmlrpc_curl_transport.c
index c48b927..96a403e 100644
--- a/lib/curl_transport/xmlrpc_curl_transport.c
+++ b/lib/curl_transport/xmlrpc_curl_transport.c
@@ -1170,6 +1170,16 @@ createRpc(xmlrpc_env * const envP,
if (rpcP == NULL)
xmlrpc_faultf(envP, "Couldn't allocate memory for rpc object");
else {
+ curlt_progressFn * curlProgressFn;
+
+ if (progress || clientTransportP->interruptP)
+ curlProgressFn = &curlTransactionProgress;
+ else {
+ /* There's nothing for curlTransactionProgress() to do, so save
+ the time and complexity of calling it.
+ */
+ curlProgressFn = NULL;
+ }
rpcP->transportP = clientTransportP;
rpcP->curlSessionP = curlSessionP;
rpcP->callInfoP = callInfoP;
@@ -1186,7 +1196,7 @@ createRpc(xmlrpc_env * const envP,
&clientTransportP->curlSetupStuff,
rpcP,
complete ? &finishRpcCurlTransaction : NULL,
- progress ? &curlTransactionProgress : NULL,
+ curlProgressFn,
&rpcP->curlTransactionP);
if (!envP->fault_occurred) {
if (envP->fault_occurred)
@@ -1296,15 +1306,22 @@ curlTransactionProgress(void * const context,
assert(rpcP);
assert(transportP);
- assert(rpcP->progress);
progressData.response.total = dlTotal;
progressData.response.now = dlNow;
progressData.call.total = ulTotal;
progressData.call.now = ulNow;
- rpcP->progress(rpcP->callInfoP, progressData);
+ if (rpcP->progress) {
+ struct xmlrpc_progress_data progressData;
+
+ progressData.response.total = dlTotal;
+ progressData.response.now = dlNow;
+ progressData.call.total = ulTotal;
+ progressData.call.now = ulNow;
+ rpcP->progress(rpcP->callInfoP, progressData);
+ }
if (transportP->interruptP)
*abortP = *transportP->interruptP;
else
--
1.7.11.7

59
release-1.25.21.patch Normal file
View file

@ -0,0 +1,59 @@
From c880196664ca3902cbf8fd806a58a9e9f362abb0 Mon Sep 17 00:00:00 2001
From: giraffedata <giraffedata@adbb7d4b-a73a-0410-a071-c5f57c452bd4>
Date: Thu, 29 Nov 2012 04:37:55 +0000
Subject: Release 1.25.21
git-svn-id: https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable@2452 adbb7d4b-a73a-0410-a071-c5f57c452bd4
---
lib/abyss/src/channel.c | 2 +-
src/method.c | 1 +
src/xmlrpc_libxml2.c | 6 ++++--
version.mk | 2 +-
4 Dateien geändert, 7 Zeilen hinzugefügt(+), 4 Zeilen entfernt(-)
diff --git a/lib/abyss/src/channel.c b/lib/abyss/src/channel.c
index 5044e23..5454bd0 100644
--- a/lib/abyss/src/channel.c
+++ b/lib/abyss/src/channel.c
@@ -181,7 +181,7 @@ void
ChannelInterrupt(TChannel * const channelP) {
if (ChannelTraceIsActive)
- fprintf(stderr, "Interrupting channel waits");
+ fprintf(stderr, "Interrupting channel waits\n");
(*channelP->vtbl.interrupt)(channelP);
}
diff --git a/src/method.c b/src/method.c
index 467bbbe..e375e5f 100644
--- a/src/method.c
+++ b/src/method.c
@@ -54,6 +54,7 @@ translateTypeSpecifierToName(xmlrpc_env * const envP,
case 'S': *typeNameP = "struct"; break;
case 'A': *typeNameP = "array"; break;
case 'n': *typeNameP = "nil"; break;
+ case 'I': *typeNameP = "i8"; break;
default:
xmlrpc_faultf(envP,
"Method registry contains invalid signature "
diff --git a/src/xmlrpc_libxml2.c b/src/xmlrpc_libxml2.c
index 3df6231..574af86 100644
--- a/src/xmlrpc_libxml2.c
+++ b/src/xmlrpc_libxml2.c
@@ -422,9 +422,11 @@ xml_parse(xmlrpc_env * const envP,
*resultPP = context.root;
cleanup:
- if (parser)
+ if (parser) {
+ if (parser->myDoc)
+ xmlFreeDoc(parser->myDoc);
xmlFreeParserCtxt(parser);
-
+ }
if (envP->fault_occurred) {
if (context.root)
xml_element_free(context.root);
--
1.7.11.7

View file

@ -1 +1 @@
SHA512 (xmlrpc-c-1.60.04.tgz) = 68407053eec1e3f32187169f5bb976e9f043f1576dd9fb7a9076ed00414dd0293cfdf72527a314c244dd48986402af3c9cc33d110ed3b382a13190eb8dddb734
2805f07ba44ceb0d66eacd948884d2f4 xmlrpc-c-1.27.7.tar.xz

2
verinfo Normal file
View file

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

View file

@ -0,0 +1,21 @@
commit 2764e9684ec9284cf86ad602505cb03ea77a2ad2
Author: giraffedata <giraffedata@adbb7d4b-a73a-0410-a071-c5f57c452bd4>
Date: Sat Dec 10 21:13:10 2011 +0000
Fix bug: doesn't accept 'b/f' to mean boolean false
git-svn-id: https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/trunk@2224 adbb7d4b-a73a-0410-a071-c5f57c452bd4
diff --git a/tools/xmlrpc/xmlrpc.c b/tools/xmlrpc/xmlrpc.c
index 06da3e5..3f24431 100644
--- a/tools/xmlrpc/xmlrpc.c
+++ b/tools/xmlrpc/xmlrpc.c
@@ -352,7 +352,7 @@ buildBool(xmlrpc_env * const envP,
if (streq(valueString, "t") || streq(valueString, "true"))
*paramPP = xmlrpc_bool_new(envP, true);
- else if (streq(valueString, "f") == 0 || streq(valueString, "false"))
+ else if (streq(valueString, "f") || streq(valueString, "false"))
*paramPP = xmlrpc_bool_new(envP, false);
else
setError(envP, "Boolean argument has unrecognized value '%s'. "

View file

@ -1,28 +1,27 @@
From 9bb040a9ae29e1b5afcb674c74f107114b316818 Mon Sep 17 00:00:00 2001
From 07f7798d0b6c9b187dd6bfa567be74a224baf1fb 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 3/3] allow 30x redirections
Subject: [PATCH 5/5] allow 30x redirections
---
lib/curl_transport/curltransaction.c | 4 ++++
1 file changed, 4 insertions(+)
lib/curl_transport/curltransaction.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/lib/curl_transport/curltransaction.c b/lib/curl_transport/curltransaction.c
index f0aafae..b5392a9 100644
index 3c75010..e1cfc64 100644
--- a/lib/curl_transport/curltransaction.c
+++ b/lib/curl_transport/curltransaction.c
@@ -671,6 +671,10 @@ setupCurlSession(xmlrpc_env * const envP,
@@ -495,6 +495,10 @@ setupCurlSession(xmlrpc_env * const envP,
curl_easy_setopt(curlSessionP, CURLOPT_POST, 1);
curl_easy_setopt(curlSessionP, CURLOPT_URL, transP->serverUrl);
curl_easy_setopt(curlSessionP, CURLOPT_URL, curlTransactionP->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, transP->postDataP, "\0", 1);
XMLRPC_MEMBLOCK_APPEND(char, envP, callXmlP, "\0", 1);
if (!envP->fault_occurred) {
curl_easy_setopt(curlSessionP, CURLOPT_POSTFIELDS,
--
2.13.1
1.7.1.1

View file

@ -0,0 +1,41 @@
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

2022
xmlrpc-c-cmake.patch Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,32 @@
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,7 +1,7 @@
From aca713786debd68c81a823c5989afb3de82da45b Mon Sep 17 00:00:00 2001
From 4d3bbc5d59418666a5fc91c8fe3e301ee9c89b32 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 2/3] Use proper datatypes for 'long long'
Subject: [PATCH 3/8] 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 | 2 +-
3 files changed, 6 insertions(+), 4 deletions(-)
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(-)
diff --git a/include/xmlrpc-c/base.h b/include/xmlrpc-c/base.h
index e74e2c5..90f2c91 100644
index cdc9161..cbdf3d0 100644
--- a/include/xmlrpc-c/base.h
+++ b/include/xmlrpc-c/base.h
@@ -5,6 +5,7 @@
@ -31,9 +31,9 @@ index e74e2c5..90f2c91 100644
#include <stdarg.h>
+#include <stdint.h>
#include <time.h>
#include <xmlrpc-c/c_util.h> /* For XMLRPC_DLLEXPORT */
#include <xmlrpc-c/c_util.h>
#include <xmlrpc-c/util.h>
@@ -73,9 +74,9 @@ xmlrpc_version(unsigned int * const majorP,
@@ -50,9 +51,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 e74e2c5..90f2c91 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
@@ -112,7 +113,7 @@ typedef int xmlrpc_socket;
@@ -89,7 +90,7 @@ typedef int xmlrpc_socket;
#define XMLRPC_INT32_MAX 0x7fffffff
#define XMLRPC_INT32_MIN (-XMLRPC_INT32_MAX - 1)
@ -67,9 +67,23 @@ index 1c284af..a7e78ad 100644
#include <xmlrpc-c/base.h>
diff --git a/src/cpp/param_list.cpp b/src/cpp/param_list.cpp
index 1f7ae41..60f7df9 100644
index 67c636b..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));
@ -80,5 +94,5 @@ index 1f7ae41..60f7df9 100644
if (longlongvalue < minimum)
--
2.13.1
1.7.4

View file

@ -0,0 +1,48 @@
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

@ -0,0 +1,29 @@
From 9b65c6488a51d36513b9315c11dfb42f319079ac Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Mon, 3 Oct 2011 20:49:57 +0200
Subject: [PATCH] xmlrpc_serialize: check for faults before appending
</struct>
fixes https://bugzilla.redhat.com/show_bug.cgi?id=741980 which was
caused by transmitting too large files within a structure.
---
src/xmlrpc_serialize.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/xmlrpc_serialize.c b/src/xmlrpc_serialize.c
index 78bbc10..e0d9376 100644
--- a/src/xmlrpc_serialize.c
+++ b/src/xmlrpc_serialize.c
@@ -370,7 +370,8 @@ serializeStruct(xmlrpc_env * const envP,
memberKeyP, memberValueP, dialect);
}
}
- addString(envP, outputP, "</struct>");
+ if (!envP->fault_occurred)
+ addString(envP, outputP, "</struct>");
}
}
}
--
1.7.6

View file

@ -0,0 +1,28 @@
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,57 +1,75 @@
# build order matters and multiple threads break it
%global _smp_mflags -j1
%global advanced_branch 1
%global svnrev 2185
Name: xmlrpc-c
Version: 1.60.04
Release: 7%{?dist}
Summary: Lightweight RPC library based on XML and HTTP
# See doc/COPYING for details.
%{!?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.27.7
Release: %release_func 1604.svn%svnrev
# See COPYING for details.
# The Python 1.5.2 license used by a few files is just BSD.
# 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
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}
# Upstreamable patches
Patch102: 0002-Use-proper-datatypes-for-long-long.patch
Patch103: 0003-allow-30x-redirections.patch
Source100: dfs.cc
Source101: dso-fixup
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
Patch0: xmlrpc-boolean-meaning.patch
Patch2: ipv6-parse.patch
Patch3: fix-double-free.patch
Patch4: fix-string-exceptions.patch
Patch5: release-1.25.20.patch
Patch6: release-1.25.21.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
Patch111: xmlrpc-c-struct-serialize.patch
BuildRoot: %_tmppath/%name-%version-%release-root
BuildRequires: cmake
BuildRequires: curl-devel libxml2-devel readline-devel ncurses-devel
%package c++
Summary: C++ libraries for xmlrpc-c
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Summary: C++ libraries for xmlrpc-c
Group: System Environment/Libraries
Requires: %name%{?_isa} = %version-%release
%package client
Summary: C client libraries for xmlrpc-c
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Summary: C client libraries for xmlrpc-c
Group: System Environment/Libraries
Requires: %name%{?_isa} = %version-%release
# we need a CURLOPT_GSSAPI_DELEGATION patched libcurl
BuildConflicts: libcurl-devel < 7.21.7-2
%package client++
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}
Summary: C++ client libraries for xmlrpc-c
Group: System Environment/Libraries
Requires: %name%{?_isa} = %version-%release
%package devel
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}
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
%package apps
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}
Summary: Sample XML-RPC applications
Group: Applications/Internet
%description
@ -101,294 +119,175 @@ This package contains some handy XML-RPC demo applications.
%prep
%autosetup -Sgit
%setup -q
%patch0 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch100 -p1
%patch102 -p1
%patch105 -p1
%patch107 -p1
%patch108 -p1
%patch109 -p1
%patch110 -p1
%patch111 -p1
## not needed...
rm doc/{INSTALL,configure_doc}
%build
%configure
%make_build CFLAGS="%{optflags} -std=gnu17"
%make_build CFLAGS="%{optflags} -std=gnu17" -C tools
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
%install
%make_install
%make_install -C tools
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]
%check
#%%make_test
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
%files
%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
%defattr(-,root,root,-)
%doc doc/*
%_libdir/*.so.3*
%exclude %_libdir/libxmlrpc_client.so*
%files client
%{_libdir}/libxmlrpc_client.so.*
%defattr(-,root,root,-)
%_libdir/libxmlrpc_client.so.*
%files c++
%{_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.*
%defattr(-,root,root,-)
%_libdir/*.so.7*
%exclude %_libdir/libxmlrpc_client++.so*
%files client++
%{_libdir}/libxmlrpc_client++.so.*
%defattr(-,root,root,-)
%_libdir/libxmlrpc_client++.so.*
%files devel
%{_bindir}/xmlrpc-c-config
%{_includedir}/xmlrpc-c/
%{_includedir}/*.h
%{_libdir}/pkgconfig/xmlrpc*.pc
%{_libdir}/libxmlrpc*.so
%defattr(-,root,root,-)
%_bindir/xmlrpc-c-config
%_includedir/xmlrpc-c
%_includedir/*.h
%_libdir/pkgconfig/*.pc
%_libdir/*.so
%files apps
%{_bindir}/xmlrpc_parsecall
%{_bindir}/xmlrpc
%{_bindir}/xmlrpc_transport
%defattr(-,root,root,-)
%doc tools/xmlrpc/xmlrpc.html
%doc tools/xmlrpc_transport/xmlrpc_transport.html
%{_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
%_mandir/man1/*
%_bindir/xmlrpc
%_bindir/xmlrpc_transport
%_bindir/xml-rpc-api2cpp
%_bindir/xmlrpc_cpp_proxy
%_bindir/xmlrpc_pstream
%exclude %_bindir/xml-rpc-api2txt
%changelog
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.60.04-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Sun Dec 9 2012 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.7-1604.svn2185
- forward ported two patches from stable branch
- fixes interruption with libcurl transport
- fixes parsing error of 64 bit integers
- fixes libxml2 related memory leak
* Sat Jun 13 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 1.60.04-6
- Rebuilt for openssl 4.0
* Sun Aug 26 2012 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.7-1603.svn2185
- forward-ported patch from stable branch which fixes exception
handling on invalid utf-8 strings
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.60.04-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Wed Jun 6 2012 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.7-1602.svn2185
- backported "Fix double free of memory with failed xmlrpc_parse_value()"
patch
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.60.04-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Sat May 26 2012 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.7-1601.svn2185
- backported IPv6 server related patch
* Thu Jan 23 2025 Jonathan Wright <jonathan@almalinux.org> - 1.60.04-3
- fix ftbfs on gcc15 rhbz#2341577
* Wed Jan 4 2012 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.7-1600.svn2185
- updated to 1.27.7; only build fixes not affecting us
- backported fix for "doesn't accept 'b/f' to mean boolean false"
* 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
* Mon Oct 3 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.5-1601.svn2185
- fixed error handling when transfering too large files (#741980)
* Sat Aug 27 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.5-1700.svn2185
* Sat Aug 27 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.5-1600.svn2185
- updated to 1.27.5
* Sun Aug 7 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.4-1700.svn2171
* Mon Aug 8 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.4-1601.svn2171
- rebuilt with correct check for libcurl-devel
* Sun Aug 7 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.4-1600.svn2171
- updated to 1.27.4
* Sun Aug 7 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.3-1700.svn2145
* Sun Aug 7 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.3-1600.svn2145
- updated to 1.27.3
* Mon Jun 27 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.27.0-1600.svn2145
@ -567,5 +466,6 @@ This package contains some handy XML-RPC demo applications.
- 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.