commit
1bf73fcc84
@ -1,84 +0,0 @@
|
||||
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 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
|
||||
width of exactly 64 bits.
|
||||
|
||||
On 64 bit machines 'long long' has a width of 128 bit and
|
||||
will cause overhead both in memory and cpu usage there. As
|
||||
'long long' is used only to handle <i8> datatypes, the patch
|
||||
uses a plain 64 integer type there.
|
||||
|
||||
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(-)
|
||||
|
||||
diff --git a/include/xmlrpc-c/base.h b/include/xmlrpc-c/base.h
|
||||
index e74e2c5..90f2c91 100644
|
||||
--- a/include/xmlrpc-c/base.h
|
||||
+++ b/include/xmlrpc-c/base.h
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdarg.h>
|
||||
+#include <stdint.h>
|
||||
#include <time.h>
|
||||
#include <xmlrpc-c/c_util.h> /* For XMLRPC_DLLEXPORT */
|
||||
#include <xmlrpc-c/util.h>
|
||||
@@ -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 */
|
||||
-typedef XMLRPC_INT32 xmlrpc_int32;
|
||||
+typedef int32_t xmlrpc_int32;
|
||||
/* An integer of the type defined by XML-RPC <i4>; i.e. 32 bit */
|
||||
-typedef XMLRPC_INT64 xmlrpc_int64;
|
||||
+typedef int64_t xmlrpc_int64;
|
||||
/* 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;
|
||||
#define XMLRPC_INT32_MAX 0x7fffffff
|
||||
#define XMLRPC_INT32_MIN (-XMLRPC_INT32_MAX - 1)
|
||||
|
||||
-#define XMLRPC_INT64_MAX 0x7fffffffffffffffll
|
||||
+#define XMLRPC_INT64_MAX ((xmlrpc_int64)0x7fffffffffffffffll)
|
||||
#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 1f7ae41..60f7df9 100644
|
||||
--- a/src/cpp/param_list.cpp
|
||||
+++ b/src/cpp/param_list.cpp
|
||||
@@ -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));
|
||||
|
||||
- long long const longlongvalue(static_cast<long long>(
|
||||
+ xmlrpc_int64 const longlongvalue(static_cast<xmlrpc_int64>(
|
||||
value_i8(this->paramVector[paramNumber])));
|
||||
|
||||
if (longlongvalue < minimum)
|
||||
--
|
||||
2.13.1
|
||||
|
||||
@ -1,16 +0,0 @@
|
||||
From d97ec6e652690a321d7ce8c81aa30f87d9c0de8f Mon Sep 17 00:00:00 2001
|
||||
From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
||||
Date: Mon, 19 Dec 2016 21:33:47 +0100
|
||||
Subject: [PATCH 2/2] chmod +x xml-rpc-api2txt
|
||||
|
||||
It's script which is installing into $bindir, so it must be executable.
|
||||
|
||||
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
||||
---
|
||||
tools/xml-rpc-api2txt/xml-rpc-api2txt | 0
|
||||
1 file changed, 0 insertions(+), 0 deletions(-)
|
||||
mode change 100644 => 100755 tools/xml-rpc-api2txt/xml-rpc-api2txt
|
||||
|
||||
diff --git a/tools/xml-rpc-api2txt/xml-rpc-api2txt b/tools/xml-rpc-api2txt/xml-rpc-api2txt
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
@ -1,27 +0,0 @@
|
||||
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 3/3] allow 30x redirections
|
||||
|
||||
---
|
||||
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 f0aafae..b5392a9 100644
|
||||
--- a/lib/curl_transport/curltransaction.c
|
||||
+++ b/lib/curl_transport/curltransaction.c
|
||||
@@ -671,6 +671,10 @@ setupCurlSession(xmlrpc_env * const envP,
|
||||
curl_easy_setopt(curlSessionP, CURLOPT_POST, 1);
|
||||
curl_easy_setopt(curlSessionP, CURLOPT_URL, transP->serverUrl);
|
||||
|
||||
+ 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);
|
||||
if (!envP->fault_occurred) {
|
||||
curl_easy_setopt(curlSessionP, CURLOPT_POSTFIELDS,
|
||||
--
|
||||
2.13.1
|
||||
|
||||
@ -2,18 +2,15 @@
|
||||
|
||||
Name: xmlrpc-c
|
||||
Version: 1.51.03
|
||||
Release: 1
|
||||
Release: 2
|
||||
Summary: Library implementing XML-based Remote Procedure Calls
|
||||
License: BSD and MIT
|
||||
URL: http://xmlrpc-c.sourceforge.net/
|
||||
Source0: https://sourceforge.net/projects/xmlrpc-c/files/Xmlrpc-c%20Super%20Stable/1.51.03/xmlrpc-c-1.51.03.tgz
|
||||
|
||||
Patch0001: 0001-xmlrpc_server_abyss-use-va_args-properly.patch
|
||||
Patch0002: 0002-Use-proper-datatypes-for-long-long.patch
|
||||
Patch0003: 0003-allow-30x-redirections.patch
|
||||
Patch0004: 0001-Remove-trace-statements-accidentally-committed-with-.patch
|
||||
Patch0005: 0001-add-meson-buildsystem-definitions.patch
|
||||
Patch0006: 0002-chmod-x-xml-rpc-api2txt.patch
|
||||
Patch0002: 0001-Remove-trace-statements-accidentally-committed-with-.patch
|
||||
Patch0003: 0001-add-meson-buildsystem-definitions.patch
|
||||
|
||||
BuildRequires: git-core meson >= 0.36.0 gcc gcc-c++ ncurses-devel
|
||||
BuildRequires: libcurl-devel readline-devel pkgconfig(openssl)
|
||||
@ -87,6 +84,12 @@ Header files for xmlrpc-c.
|
||||
%{_mandir}/man1/*
|
||||
|
||||
%changelog
|
||||
* Fri Jan 10 2020 openEuler Buildteam <buildteam@openeuler.org> - 1.51.03-2
|
||||
- Type:NA
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:optimization the spec
|
||||
|
||||
* Tue Dec 31 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.51.03-1
|
||||
- Type:NA
|
||||
- ID:NA
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user