rpms/xmlrpc-c/devel xmlrpc-c-verbose-curl.patch, NONE, 1.1 xmlrpc-c-uninit-curl.patch, NONE, 1.1 xmlrpc-c.spec, 1.36, 1.37 xmlrpc-c-va_list.patch, 1.2, 1.3 xmlrpc-c-printf-size_t.patch, 1.2, 1.3 xmlrpc-c-longlong.patch, 1.2, 1.3 xmlrpc-c-cmake.patch, 1.2, 1.3 sources, 1.19, 1.20 lastver, 1.9, 1.10 .cvsignore, 1.10, 1.11

ensc ensc at fedoraproject.org
Sat Nov 21 14:02:54 UTC 2009


Author: ensc

Update of /cvs/extras/rpms/xmlrpc-c/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv22859

Modified Files:
	xmlrpc-c.spec xmlrpc-c-va_list.patch 
	xmlrpc-c-printf-size_t.patch xmlrpc-c-longlong.patch 
	xmlrpc-c-cmake.patch sources lastver .cvsignore 
Added Files:
	xmlrpc-c-verbose-curl.patch xmlrpc-c-uninit-curl.patch 
Log Message:
updated


xmlrpc-c-verbose-curl.patch:
 curltransaction.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- NEW FILE xmlrpc-c-verbose-curl.patch ---
>From 6e9ccf34512f878be1a98a6b007aa338e891180e Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
Date: Sat, 21 Nov 2009 14:21:13 +0100
Subject: [PATCH 6/6] added option to make curl verbose

With this patch, when the $XMLRPC_TRACE_CURL environment variable is
set, verbose curl output/debugging will be enabled.  Based upon a
patch from John Dennis <jdennis AT redhat.com>
---
 lib/curl_transport/curltransaction.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/lib/curl_transport/curltransaction.c b/lib/curl_transport/curltransaction.c
index 4239385..9089d04 100644
--- a/lib/curl_transport/curltransaction.c
+++ b/lib/curl_transport/curltransaction.c
@@ -503,6 +503,9 @@ setupCurlSession(xmlrpc_env *               const envP,
             curl_easy_setopt(curlSessionP, CURLOPT_SSL_CIPHER_LIST,
                              curlSetupP->sslCipherList);
 
+        if (getenv("XMLRPC_TRACE_CURL"))
+            curl_easy_setopt(curlSessionP, CURLOPT_VERBOSE, 1l);
+
         if (curlSetupP->timeout)
             setCurlTimeout(curlSessionP, curlSetupP->timeout);
 
-- 
1.6.5.2


xmlrpc-c-uninit-curl.patch:
 curltransaction.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE xmlrpc-c-uninit-curl.patch ---
>From fa520fd88d776435c90e054601dddf06f7077254 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
Date: Sat, 21 Nov 2009 14:12:41 +0100
Subject: [PATCH 5/6] 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 bf7fa99..4239385 100644
--- a/lib/curl_transport/curltransaction.c
+++ b/lib/curl_transport/curltransaction.c
@@ -555,6 +555,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.6.5.2



Index: xmlrpc-c.spec
===================================================================
RCS file: /cvs/extras/rpms/xmlrpc-c/devel/xmlrpc-c.spec,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -p -r1.36 -r1.37
--- xmlrpc-c.spec	27 Jul 2009 08:12:19 -0000	1.36
+++ xmlrpc-c.spec	21 Nov 2009 14:02:53 -0000	1.37
@@ -1,17 +1,17 @@
 %global advanced_branch		1
-%global svnrev			1582
+%global svnrev			1841
 
 %{!?release_func:%global release_func() %1%{?dist}}
 
 Summary:	A lightweight RPC library based on XML and HTTP
 Name:		xmlrpc-c
-Version:	1.16.6
-Release:	%release_func 3.%svnrev
+Version:	1.20.3
+Release:	%release_func 1.%svnrev
 # See 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/
+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
@@ -21,6 +21,8 @@ Patch100:	xmlrpc-c-cmake.patch
 Patch102:	xmlrpc-c-printf-size_t.patch
 Patch105:	xmlrpc-c-longlong.patch
 Patch106:	xmlrpc-c-va_list.patch
+Patch107:	xmlrpc-c-uninit-curl.patch
+Patch108:	xmlrpc-c-verbose-curl.patch
 
 
 BuildRoot:	%_tmppath/%name-%version-%release-root
@@ -107,6 +109,8 @@ This package contains some handy XML-RPC
 %patch102 -p1
 %patch105 -p1
 %patch106 -p1
+%patch107 -p1
+%patch108 -p1
 
 ## not needed...
 rm doc/{INSTALL,configure_doc}
@@ -117,12 +121,14 @@ mkdir -p fedora
 cd fedora
 export CFLAGS="$RPM_OPT_FLAGS"
 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
+        -DBUILD_SHARED_LIBS:BOOL=ON		\
+	-DENABLE_TOOLS:BOOL=ON
 make VERBOSE=1 %{?_smp_mflags}
 
 
@@ -178,7 +184,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %files c++
 %defattr(-,root,root,-)
-%_libdir/*.so.4*
+%_libdir/*.so.6*
 %exclude %_libdir/libxmlrpc_client++.so*
 
 
@@ -205,9 +211,18 @@ rm -rf $RPM_BUILD_ROOT
 %_bindir/xmlrpc_transport
 %_bindir/xml-rpc-api2cpp
 %_bindir/xmlrpc_cpp_proxy
+%_bindir/xmlrpc_pstream
+
+%exclude %_bindir/xml-rpc-api2txt
 
 
 %changelog
+* Sat Nov 21 2009 Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de> - 1.20.3-1.1841
+- updated to rev1841
+- rediffed patches
+- added patch fix handling of wrong certificates (Nikola Pajkovsky)
+- added support for $XMLRPC_TRACE_CURL env (John Dennis)
+
 * Mon Jul 27 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.16.6-3.1582
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
 

xmlrpc-c-va_list.patch:
 include/xmlrpc-c/util.h |    2 +-
 lib/libutil/error.c     |    3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

Index: xmlrpc-c-va_list.patch
===================================================================
RCS file: /cvs/extras/rpms/xmlrpc-c/devel/xmlrpc-c-va_list.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- xmlrpc-c-va_list.patch	11 Dec 2008 08:37:36 -0000	1.2
+++ xmlrpc-c-va_list.patch	21 Nov 2009 14:02:53 -0000	1.3
@@ -1,7 +1,7 @@
-From 9ea7a544eef6498ea061696a594c50acc137ab40 Mon Sep 17 00:00:00 2001
+From 009465f70f4941968f0f8abbbc7e0ba9252f68b5 Mon Sep 17 00:00:00 2001
 From: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
 Date: Sat, 15 Nov 2008 12:07:25 +0100
-Subject: [PATCH] 'va_list' param must be non-const
+Subject: [PATCH 4/6] 'va_list' param must be non-const
 
 vasprintf(3) uses a non-const 'va_list ap' parameter.
 Hence, do not accept a 'const' on in the wrapper function.
@@ -11,7 +11,7 @@ Hence, do not accept a 'const' on in the
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/include/xmlrpc-c/util.h b/include/xmlrpc-c/util.h
-index 5b6e4f5..9387ef7 100644
+index 30689bc..777ee01 100644
 --- a/include/xmlrpc-c/util.h
 +++ b/include/xmlrpc-c/util.h
 @@ -140,7 +140,7 @@ void
@@ -24,10 +24,10 @@ index 5b6e4f5..9387ef7 100644
  /* The same as the above, but using a printf-style format string. */
  void 
 diff --git a/lib/libutil/error.c b/lib/libutil/error.c
-index fd964d0..b182308 100644
+index 02e66c9..1e0ab12 100644
 --- a/lib/libutil/error.c
 +++ b/lib/libutil/error.c
-@@ -86,7 +86,7 @@ void
+@@ -88,7 +88,7 @@ void
  xmlrpc_set_fault_formatted_v(xmlrpc_env * const envP,
                               int          const code,
                               const char * const format,
@@ -37,5 +37,5 @@ index fd964d0..b182308 100644
      const char * faultDescription;
  
 -- 
-1.6.0.4
+1.6.5.2
 

xmlrpc-c-printf-size_t.patch:
 lib/abyss/src/socket_unix.c             |    4 ++--
 lib/libutil/memblock.c                  |    2 +-
 lib/libutil/utf8.c                      |    4 ++--
 src/cpp/packetsocket.cpp                |    6 +++---
 src/cpp/server_cgi.cpp                  |    2 +-
 src/parse_datetime.c                    |    2 +-
 src/xmlrpc_data.c                       |    2 +-
 src/xmlrpc_datetime.c                   |    2 +-
 src/xmlrpc_decompose.c                  |    4 ++--
 src/xmlrpc_parse.c                      |    8 ++++----
 src/xmlrpc_server_abyss.c               |    2 +-
 src/xmlrpc_string.c                     |    8 ++++----
 tools/xmlrpc/xmlrpc.c                   |    2 +-
 tools/xmlrpc_pstream/xmlrpc_pstream.cpp |    3 +--
 14 files changed, 25 insertions(+), 26 deletions(-)

Index: xmlrpc-c-printf-size_t.patch
===================================================================
RCS file: /cvs/extras/rpms/xmlrpc-c/devel/xmlrpc-c-printf-size_t.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- xmlrpc-c-printf-size_t.patch	11 Dec 2008 08:37:36 -0000	1.2
+++ xmlrpc-c-printf-size_t.patch	21 Nov 2009 14:02:53 -0000	1.3
@@ -1,20 +1,24 @@
-From f9eeb8d7996aa84456bd4ce1f17d71f7d65fc4da Mon Sep 17 00:00:00 2001
+From 39c5b1cac226afa9dd5511fc55886691473fc730 Mon Sep 17 00:00:00 2001
 From: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
 Date: Mon, 25 Feb 2008 17:48:25 +0100
-Subject: [PATCH] fixed broken format string modifiers for size_t typed arguments
+Subject: [PATCH 2/6] fixed broken format string modifiers for size_t typed arguments
 
 ---
- lib/abyss/src/socket_unix.c |    4 ++--
- lib/libutil/memblock.c      |    2 +-
- src/cpp/server_cgi.cpp      |    2 +-
- src/xmlrpc_data.c           |    2 +-
- src/xmlrpc_datetime.c       |    2 +-
- src/xmlrpc_decompose.c      |    4 ++--
- src/xmlrpc_parse.c          |    8 ++++----
- src/xmlrpc_server_abyss.c   |    2 +-
- src/xmlrpc_string.c         |    8 ++++----
- tools/xmlrpc/xmlrpc.c       |    2 +-
- 10 files changed, 18 insertions(+), 18 deletions(-)
+ lib/abyss/src/socket_unix.c             |    4 ++--
+ lib/libutil/memblock.c                  |    2 +-
+ lib/libutil/utf8.c                      |    4 ++--
+ src/cpp/packetsocket.cpp                |    6 +++---
+ src/cpp/server_cgi.cpp                  |    2 +-
+ src/parse_datetime.c                    |    2 +-
+ src/xmlrpc_data.c                       |    2 +-
+ src/xmlrpc_datetime.c                   |    2 +-
+ src/xmlrpc_decompose.c                  |    4 ++--
+ src/xmlrpc_parse.c                      |    8 ++++----
+ src/xmlrpc_server_abyss.c               |    2 +-
+ src/xmlrpc_string.c                     |    8 ++++----
+ tools/xmlrpc/xmlrpc.c                   |    2 +-
+ tools/xmlrpc_pstream/xmlrpc_pstream.cpp |    2 +-
+ 14 files changed, 25 insertions(+), 25 deletions(-)
 
 diff --git a/lib/abyss/src/socket_unix.c b/lib/abyss/src/socket_unix.c
 index 3da48cc..51a32a7 100644
@@ -32,10 +36,10 @@ index 3da48cc..51a32a7 100644
          if (rc <= 0)
              /* 0 means connection closed; < 0 means severe error */
 diff --git a/lib/libutil/memblock.c b/lib/libutil/memblock.c
-index d79d4ca..25992e8 100644
+index 0026ec3..b96cb89 100644
 --- a/lib/libutil/memblock.c
 +++ b/lib/libutil/memblock.c
-@@ -73,7 +73,7 @@ xmlrpc_mem_block_init(xmlrpc_env *       const envP,
+@@ -74,7 +74,7 @@ xmlrpc_mem_block_init(xmlrpc_env *       const envP,
  
      blockP->_block = (void*) malloc(blockP->_allocated);
      if (!blockP->_block)
@@ -44,8 +48,54 @@ index d79d4ca..25992e8 100644
                        blockP->_allocated);
  }
  
+diff --git a/lib/libutil/utf8.c b/lib/libutil/utf8.c
+index 520c292..d7a211e 100644
+--- a/lib/libutil/utf8.c
++++ b/lib/libutil/utf8.c
+@@ -277,8 +277,8 @@ decode_utf8(xmlrpc_env * const envP,
+                 if (utf8Cursor + length > utf8_len) {
+                     xmlrpc_env_set_fault_formatted(
+                         envP, XMLRPC_INVALID_UTF8_ERROR,
+-                        "Invalid UTF-8 sequence indicates a %u-byte sequence "
+-                        "when only %u bytes are left in the string",
++                        "Invalid UTF-8 sequence indicates a %zu-byte sequence "
++                        "when only %zu bytes are left in the string",
+                         length, utf8_len - utf8Cursor);
+                 } else {
+                     decodeMultibyte(envP, &utf8_data[utf8Cursor], length, &wc);
+diff --git a/src/cpp/packetsocket.cpp b/src/cpp/packetsocket.cpp
+index bed2385..8cf55e6 100644
+--- a/src/cpp/packetsocket.cpp
++++ b/src/cpp/packetsocket.cpp
+@@ -307,7 +307,7 @@ packet::initialize(const unsigned char * const data,
+     this->bytes = reinterpret_cast<unsigned char *>(malloc(dataLength));
+ 
+     if (this->bytes == NULL)
+-        throwf("Can't get storage for a %u-byte packet.", dataLength);
++        throwf("Can't get storage for a %zu-byte packet.", dataLength);
+ 
+     this->allocSize = dataLength;
+ 
+@@ -359,7 +359,7 @@ packet::addData(const unsigned char * const data,
+             realloc(this->bytes, neededSize));
+ 
+     if (this->bytes == NULL)
+-        throwf("Can't get storage for a %u-byte packet.", neededSize);
++        throwf("Can't get storage for a %zu-byte packet.", neededSize);
+ 
+     memcpy(this->bytes + this->length, data, dataLength);
+ 
+@@ -610,7 +610,7 @@ packetSocket_impl::verifyNothingAccumulated() {
+     
+     if (this->inPacket)
+         throwf("Stream socket closed in the middle of a packet "
+-               "(%u bytes of packet received; no END marker to mark "
++               "(%zu bytes of packet received; no END marker to mark "
+                "end of packet)", this->packetAccumP->getLength());
+ }
+ 
 diff --git a/src/cpp/server_cgi.cpp b/src/cpp/server_cgi.cpp
-index 5b8e9ef..15996a0 100644
+index c476dae..65518c7 100644
 --- a/src/cpp/server_cgi.cpp
 +++ b/src/cpp/server_cgi.cpp
 @@ -241,7 +241,7 @@ writeNormalHttpResp(FILE * const  fileP,
@@ -57,8 +107,21 @@ index 5b8e9ef..15996a0 100644
      fprintf(fileP, "\n");
  
      // HTTP body
+diff --git a/src/parse_datetime.c b/src/parse_datetime.c
+index f764c6e..5f91494 100644
+--- a/src/parse_datetime.c
++++ b/src/parse_datetime.c
+@@ -375,7 +375,7 @@ validateFormatNoRegex(xmlrpc_env * const envP,
+     if (strlen(dt) < 17)
+         xmlrpc_env_set_fault_formatted(
+             envP, XMLRPC_PARSE_ERROR, 
+-            "Invalid length of %u of datetime.  "
++            "Invalid length of %zu of datetime.  "
+             "Must be at least 17 characters",
+             strlen(dt));
+     else {
 diff --git a/src/xmlrpc_data.c b/src/xmlrpc_data.c
-index 28827fe..415dd6d 100644
+index 2a6baea..c9fd75c 100644
 --- a/src/xmlrpc_data.c
 +++ b/src/xmlrpc_data.c
 @@ -221,7 +221,7 @@ xmlrpc_read_base64(xmlrpc_env *           const envP,
@@ -71,17 +134,17 @@ index 28827fe..415dd6d 100644
          else {
              memcpy(byteStringValue, contents, size);
 diff --git a/src/xmlrpc_datetime.c b/src/xmlrpc_datetime.c
-index a4b6454..b7a08e2 100644
+index e7160ac..f129671 100644
 --- a/src/xmlrpc_datetime.c
 +++ b/src/xmlrpc_datetime.c
-@@ -428,7 +428,7 @@ validateFormat(xmlrpc_env * const envP,
+@@ -468,7 +468,7 @@ validateFormat(xmlrpc_env * const envP,
+ 
      if (strlen(dt) < 17)
-         xmlrpc_env_set_fault_formatted(
-             envP, XMLRPC_PARSE_ERROR, 
--            "Invalid length of %u of datetime.  "
-+            "Invalid length of %zu of datetime.  "
-             "Must be at least 17 characters",
-             strlen(dt));
+         xmlrpc_faultf(envP,
+-                      "Invalid length of %u of datetime string.  "
++                      "Invalid length of %zu of datetime string.  "
+                       "Must be at least 17 characters",
+                       strlen(dt));
      else {
 diff --git a/src/xmlrpc_decompose.c b/src/xmlrpc_decompose.c
 index eeb3414..36e62f6 100644
@@ -106,10 +169,10 @@ index eeb3414..36e62f6 100644
          else {
              struct mbrDecomp * const mbrP =
 diff --git a/src/xmlrpc_parse.c b/src/xmlrpc_parse.c
-index 43d9d54..6638654 100644
+index 980e7cd..a7dd973 100644
 --- a/src/xmlrpc_parse.c
 +++ b/src/xmlrpc_parse.c
-@@ -44,7 +44,7 @@
+@@ -46,7 +46,7 @@
      do \
          if (xml_element_children_size(elem) != (count)) \
              XMLRPC_FAIL3(env, XMLRPC_PARSE_ERROR, \
@@ -118,7 +181,7 @@ index 43d9d54..6638654 100644
                           xml_element_name(elem), (count), \
                           xml_element_children_size(elem)); \
      while (0)
-@@ -293,7 +293,7 @@ xmlrpc_parse_call(xmlrpc_env *    const envP,
+@@ -295,7 +295,7 @@ xmlrpc_parse_call(xmlrpc_env *    const envP,
      if (xmlLen > xmlrpc_limit_get(XMLRPC_XML_SIZE_LIMIT_ID))
          xmlrpc_env_set_fault_formatted(
              envP, XMLRPC_LIMIT_EXCEEDED_ERROR,
@@ -127,7 +190,7 @@ index 43d9d54..6638654 100644
              xmlrpc_limit_get(XMLRPC_XML_SIZE_LIMIT_ID));
      else {
          xml_element * callElemP;
-@@ -545,8 +545,8 @@ xmlrpc_parse_response2(xmlrpc_env *    const envP,
+@@ -547,8 +547,8 @@ xmlrpc_parse_response2(xmlrpc_env *    const envP,
      if (xmlDataLen > xmlrpc_limit_get(XMLRPC_XML_SIZE_LIMIT_ID))
          xmlrpc_env_set_fault_formatted(
              envP, XMLRPC_LIMIT_EXCEEDED_ERROR,
@@ -139,10 +202,10 @@ index 43d9d54..6638654 100644
      else {
          xmlrpc_env env;
 diff --git a/src/xmlrpc_server_abyss.c b/src/xmlrpc_server_abyss.c
-index 64cd133..551298a 100644
+index 4c8262d..6e2be53 100644
 --- a/src/xmlrpc_server_abyss.c
 +++ b/src/xmlrpc_server_abyss.c
-@@ -464,7 +464,7 @@ processCall(TSession *        const abyssSessionP,
+@@ -485,7 +485,7 @@ processCall(TSession *        const abyssSessionP,
      if (contentSize > xmlrpc_limit_get(XMLRPC_XML_SIZE_LIMIT_ID))
          xmlrpc_env_set_fault_formatted(
              &env, XMLRPC_LIMIT_EXCEEDED_ERROR,
@@ -152,7 +215,7 @@ index 64cd133..551298a 100644
          xmlrpc_mem_block * body;
          /* Read XML data off the wire. */
 diff --git a/src/xmlrpc_string.c b/src/xmlrpc_string.c
-index 8bf299d..8354b42 100644
+index 93ac6d0..f51fba7 100644
 --- a/src/xmlrpc_string.c
 +++ b/src/xmlrpc_string.c
 @@ -141,7 +141,7 @@ xmlrpc_read_string(xmlrpc_env *         const envP,
@@ -192,10 +255,10 @@ index 8bf299d..8354b42 100644
          const wchar_t * p;  /* source pointer */
          wchar_t * q;        /* destination pointer */
 diff --git a/tools/xmlrpc/xmlrpc.c b/tools/xmlrpc/xmlrpc.c
-index 1bdc44c..c4e0618 100644
+index 2cf4fee..93255f3 100644
 --- a/tools/xmlrpc/xmlrpc.c
 +++ b/tools/xmlrpc/xmlrpc.c
-@@ -268,7 +268,7 @@ buildBytestring(xmlrpc_env *    const envP,
+@@ -295,7 +295,7 @@ buildBytestring(xmlrpc_env *    const envP,
  
      if (valueStringSize / 2 * 2 != valueStringSize)
          xmlrpc_faultf(envP, "Hexadecimal text is not an even "
@@ -204,6 +267,19 @@ index 1bdc44c..c4e0618 100644
                        strlen(valueString));
      else {
          size_t const byteStringSize = strlen(valueString)/2;
+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.6.0.4
+1.6.5.2
 

xmlrpc-c-longlong.patch:
 include/xmlrpc-c/base.h |   10 ++++++----
 src/cpp/param_list.cpp  |    8 ++++----
 src/cpp/value.cpp       |    3 +--
 3 files changed, 11 insertions(+), 10 deletions(-)

Index: xmlrpc-c-longlong.patch
===================================================================
RCS file: /cvs/extras/rpms/xmlrpc-c/devel/xmlrpc-c-longlong.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- xmlrpc-c-longlong.patch	11 Dec 2008 08:37:36 -0000	1.2
+++ xmlrpc-c-longlong.patch	21 Nov 2009 14:02:53 -0000	1.3
@@ -1,7 +1,7 @@
-From c589ecbb9258837fa8825a004b98bf8a46b2381c Mon Sep 17 00:00:00 2001
+From fceba968292c52b67e331384206652350d5331ea Mon Sep 17 00:00:00 2001
 From: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
 Date: Sat, 5 Apr 2008 11:41:34 +0200
-Subject: [PATCH] Use proper datatypes for 'long long'
+Subject: [PATCH 3/6] 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
@@ -22,7 +22,7 @@ for now, the patch uses datatypes with e
  3 files changed, 11 insertions(+), 9 deletions(-)
 
 diff --git a/include/xmlrpc-c/base.h b/include/xmlrpc-c/base.h
-index 6cf1fc8..886d39b 100644
+index a768b70..0069fc2 100644
 --- a/include/xmlrpc-c/base.h
 +++ b/include/xmlrpc-c/base.h
 @@ -5,7 +5,9 @@
@@ -34,8 +34,8 @@ index 6cf1fc8..886d39b 100644
 +#include <stdint.h>
  #include <xmlrpc-c/util.h>
  #include <xmlrpc-c/config.h>
-   /* Defines XMLRPC_HAVE_WCHAR, XMLRPC_INT64 */
-@@ -36,9 +38,9 @@ extern unsigned int const xmlrpc_version_point;
+   /* Defines XMLRPC_HAVE_WCHAR, XMLRPC_INT64, XMLRPC_HAVE_TIMEVAL */
+@@ -40,9 +42,9 @@ extern unsigned int const xmlrpc_version_point;
  
  typedef signed int xmlrpc_int;  
      /* An integer of the type defined by XML-RPC <int>; i.e. 32 bit */
@@ -47,7 +47,7 @@ index 6cf1fc8..886d39b 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
-@@ -113,7 +115,7 @@ extern xmlrpc_type xmlrpc_value_type (xmlrpc_value* const value);
+@@ -130,7 +132,7 @@ extern xmlrpc_type xmlrpc_value_type (xmlrpc_value* const value);
  
  xmlrpc_value *
  xmlrpc_int_new(xmlrpc_env * const envP,
@@ -56,7 +56,7 @@ index 6cf1fc8..886d39b 100644
  
  xmlrpc_value *
  xmlrpc_i8_new(xmlrpc_env * const envP, 
-@@ -122,7 +124,7 @@ xmlrpc_i8_new(xmlrpc_env * const envP,
+@@ -139,7 +141,7 @@ xmlrpc_i8_new(xmlrpc_env * const envP,
  void 
  xmlrpc_read_int(xmlrpc_env *         const envP,
                  const xmlrpc_value * const valueP,
@@ -93,7 +93,7 @@ index 67c636b..60f7df9 100644
  
      if (longlongvalue < minimum)
 diff --git a/src/cpp/value.cpp b/src/cpp/value.cpp
-index ff3a011..9f2f88e 100644
+index e952a5f..fa2e5ce 100644
 --- a/src/cpp/value.cpp
 +++ b/src/cpp/value.cpp
 @@ -265,7 +265,7 @@ value_int::value_int(xmlrpc_c::value const baseValue) {
@@ -106,5 +106,5 @@ index ff3a011..9f2f88e 100644
  
      xmlrpc_read_int(&env.env_c, this->cValueP, &retval);
 -- 
-1.6.0.4
+1.6.5.2
 

xmlrpc-c-cmake.patch:
 CMakeLists.txt                              |  275 ++++++++++++++++++++++++++++
 cmake/try-attr.cc                           |    3 
 cmake/va-list-is-array.c                    |    9 
 examples/CMakeLists.txt                     |   57 +++++
 examples/config.h                           |    1 
 examples/cpp/CMakeLists.txt                 |   34 +++
 include/CMakeLists.txt                      |    3 
 include/xmlrpc-c/CMakeLists.txt             |   73 +++++++
 include/xmlrpc-c/config.h.cmake             |   30 +++
 lib/CMakeLists.txt                          |   12 +
 lib/abyss/CMakeLists.txt                    |    3 
 lib/abyss/src/CMakeLists.txt                |   66 ++++++
 lib/abyss/src/xmlrpc_abyss.pc.cmake         |   12 +
 lib/curl_transport/CMakeLists.txt           |   20 ++
 lib/expat/CMakeLists.txt                    |    9 
 lib/expat/gennmtab/CMakeLists.txt           |    3 
 lib/expat/xmlparse/CMakeLists.txt           |    7 
 lib/expat/xmlparse/xmlrpc_xmlparse.pc.cmake |   12 +
 lib/expat/xmltok/CMakeLists.txt             |   22 ++
 lib/expat/xmltok/xmlrpc_xmltok.pc.cmake     |    9 
 lib/libutil/CMakeLists.txt                  |   25 ++
 lib/libutil/xmlrpc_util.pc.cmake            |   10 +
 lib/libwww_transport/CMakeLists.txt         |    7 
 lib/util/CMakeLists.txt                     |   17 +
 lib/wininet_transport/CMakeLists.txt        |    7 
 src/CMakeLists.txt                          |  121 ++++++++++++
 src/cpp/CMakeLists.txt                      |   70 +++++++
 src/cpp/test/CMakeLists.txt                 |   17 +
 src/cpp/xmlrpc++.pc.cmake                   |   12 +
 src/cpp/xmlrpc_client++.pc.cmake            |   12 +
 src/cpp/xmlrpc_cpp.pc.cmake                 |   12 +
 src/cpp/xmlrpc_packetsocket.pc.cmake        |   12 +
 src/cpp/xmlrpc_server++.pc.cmake            |   12 +
 src/cpp/xmlrpc_server_abyss++.pc.cmake      |   12 +
 src/cpp/xmlrpc_server_cgi++.pc.cmake        |   12 +
 src/cpp/xmlrpc_server_pstream++.pc.cmake    |   12 +
 src/test/CMakeLists.txt                     |   37 +++
 src/xmlrpc.pc.cmake                         |   12 +
 src/xmlrpc_client.pc.cmake                  |   12 +
 src/xmlrpc_server.pc.cmake                  |   12 +
 src/xmlrpc_server_abyss.pc.cmake            |   12 +
 src/xmlrpc_server_cgi.pc.cmake              |   12 +
 tools/CMakeLists.txt                        |   21 ++
 tools/binmode-rpc-kit/CMakeLists.txt        |    2 
 tools/lib/CMakefiles.txt                    |    1 
 tools/turbocharger/CMakeLists.txt           |    1 
 tools/xml-rpc-api2cpp/CMakeLists.txt        |   15 +
 tools/xml-rpc-api2txt/CMakeLists.txt        |    7 
 tools/xmlrpc/CMakeLists.txt                 |   17 +
 tools/xmlrpc/config.h                       |    1 
 tools/xmlrpc_cpp_proxy/CMakeLists.txt       |   17 +
 tools/xmlrpc_pstream/CMakeLists.txt         |   16 +
 tools/xmlrpc_transport/CMakeLists.txt       |    9 
 tools/xmlrpc_transport/config.h             |    1 
 transport_config.h.cmake                    |   16 +
 version.h.cmake                             |    5 
 xmlrpc-c-config                             |  108 ++++++++++
 xmlrpc_config.h.cmake                       |  106 ++++++++++
 58 files changed, 1469 insertions(+), 1 deletion(-)

Index: xmlrpc-c-cmake.patch
===================================================================
RCS file: /cvs/extras/rpms/xmlrpc-c/devel/xmlrpc-c-cmake.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- xmlrpc-c-cmake.patch	11 Dec 2008 08:37:36 -0000	1.2
+++ xmlrpc-c-cmake.patch	21 Nov 2009 14:02:53 -0000	1.3
@@ -1,36 +1,36 @@
-From d446ef878fb5984180ecf15a961af9550ae4f1c8 Mon Sep 17 00:00:00 2001
+From afe99001ee31f4cf827fc6aee0b2088bd4e7b85b Mon Sep 17 00:00:00 2001
 From: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
 Date: Sat, 5 Apr 2008 10:55:02 +0200
-Subject: [PATCH] make -> cmake transition
+Subject: [PATCH 1/6] make -> cmake transition
 
 ---
- CMakeLists.txt                              |  254 +++++++++++++++++++++++++++
+ CMakeLists.txt                              |  275 +++++++++++++++++++++++++++
  cmake/try-attr.cc                           |    3 +
  cmake/va-list-is-array.c                    |    9 +
  examples/CMakeLists.txt                     |   57 ++++++
  examples/config.h                           |    1 +
- examples/cpp/CMakeLists.txt                 |   30 +++
+ examples/cpp/CMakeLists.txt                 |   34 ++++
  include/CMakeLists.txt                      |    3 +
- include/xmlrpc-c/CMakeLists.txt             |   73 ++++++++
+ include/xmlrpc-c/CMakeLists.txt             |   73 +++++++
  include/xmlrpc-c/config.h.cmake             |   30 +++
  lib/CMakeLists.txt                          |   12 ++
  lib/abyss/CMakeLists.txt                    |    3 +
- lib/abyss/src/CMakeLists.txt                |   64 +++++++
+ lib/abyss/src/CMakeLists.txt                |   66 +++++++
  lib/abyss/src/xmlrpc_abyss.pc.cmake         |   12 ++
  lib/curl_transport/CMakeLists.txt           |   20 ++
  lib/expat/CMakeLists.txt                    |    9 +
  lib/expat/gennmtab/CMakeLists.txt           |    3 +
  lib/expat/xmlparse/CMakeLists.txt           |    7 +
  lib/expat/xmlparse/xmlrpc_xmlparse.pc.cmake |   12 ++
- lib/expat/xmltok/CMakeLists.txt             |   20 ++
+ lib/expat/xmltok/CMakeLists.txt             |   22 ++
  lib/expat/xmltok/xmlrpc_xmltok.pc.cmake     |    9 +
- lib/libutil/CMakeLists.txt                  |   24 +++
+ lib/libutil/CMakeLists.txt                  |   25 +++
  lib/libutil/xmlrpc_util.pc.cmake            |   10 +
  lib/libwww_transport/CMakeLists.txt         |    7 +
  lib/util/CMakeLists.txt                     |   17 ++
  lib/wininet_transport/CMakeLists.txt        |    7 +
- src/CMakeLists.txt                          |  121 +++++++++++++
- src/cpp/CMakeLists.txt                      |   70 ++++++++
+ src/CMakeLists.txt                          |  121 ++++++++++++
+ src/cpp/CMakeLists.txt                      |   70 +++++++
  src/cpp/test/CMakeLists.txt                 |   17 ++
  src/cpp/xmlrpc++.pc.cmake                   |   12 ++
  src/cpp/xmlrpc_client++.pc.cmake            |   12 ++
@@ -46,22 +46,23 @@ Subject: [PATCH] make -> cmake transitio
  src/xmlrpc_server.pc.cmake                  |   12 ++
  src/xmlrpc_server_abyss.pc.cmake            |   12 ++
  src/xmlrpc_server_cgi.pc.cmake              |   12 ++
- tools/CMakeLists.txt                        |   12 ++
+ tools/CMakeLists.txt                        |   21 ++
  tools/binmode-rpc-kit/CMakeLists.txt        |    2 +
  tools/lib/CMakefiles.txt                    |    1 +
  tools/turbocharger/CMakeLists.txt           |    1 +
  tools/xml-rpc-api2cpp/CMakeLists.txt        |   15 ++
+ tools/xml-rpc-api2txt/CMakeLists.txt        |    7 +
  tools/xmlrpc/CMakeLists.txt                 |   17 ++
  tools/xmlrpc/config.h                       |    1 +
  tools/xmlrpc_cpp_proxy/CMakeLists.txt       |   17 ++
- tools/xmlrpc_pstream/CMakefiles.txt         |    6 +
+ tools/xmlrpc_pstream/CMakeLists.txt         |   16 ++
  tools/xmlrpc_transport/CMakeLists.txt       |    9 +
  tools/xmlrpc_transport/config.h             |    1 +
  transport_config.h.cmake                    |   16 ++
  version.h.cmake                             |    5 +
- xmlrpc-c-config                             |   80 +++++++++
- xmlrpc_config.h.cmake                       |   99 +++++++++++
- 57 files changed, 1379 insertions(+), 0 deletions(-)
+ xmlrpc-c-config                             |  108 +++++++++++
+ xmlrpc_config.h.cmake                       |  105 ++++++++++
+ 58 files changed, 1469 insertions(+), 0 deletions(-)
  create mode 100644 CMakeLists.txt
  create mode 100644 cmake/try-attr.cc
  create mode 100644 cmake/va-list-is-array.c
@@ -109,10 +110,11 @@ Subject: [PATCH] make -> cmake transitio
  create mode 100644 tools/lib/CMakefiles.txt
  create mode 100644 tools/turbocharger/CMakeLists.txt
  create mode 100644 tools/xml-rpc-api2cpp/CMakeLists.txt
+ create mode 100644 tools/xml-rpc-api2txt/CMakeLists.txt
  create mode 100644 tools/xmlrpc/CMakeLists.txt
  create mode 100644 tools/xmlrpc/config.h
  create mode 100644 tools/xmlrpc_cpp_proxy/CMakeLists.txt
- create mode 100644 tools/xmlrpc_pstream/CMakefiles.txt
+ create mode 100644 tools/xmlrpc_pstream/CMakeLists.txt
  create mode 100644 tools/xmlrpc_transport/CMakeLists.txt
  create mode 100644 tools/xmlrpc_transport/config.h
  create mode 100644 transport_config.h.cmake
@@ -122,19 +124,22 @@ Subject: [PATCH] make -> cmake transitio
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
 new file mode 100644
-index 0000000..800f7fd
+index 0000000..f64b143
 --- /dev/null
 +++ b/CMakeLists.txt
-@@ -0,0 +1,254 @@
+@@ -0,0 +1,275 @@
 +## -*- cmake -*-
 +project(xmlrpc-c)
 +include(FindPkgConfig)
 +include(CheckIncludeFile)
 +include(CheckFunctionExists)
 +
++cmake_minimum_required(VERSION 2.6)
++
++
 +set(XMLRPC_C_VERSION_MAJOR "1"  CACHE STRING "Version (major) of xmlrpc-c")
-+set(XMLRPC_C_VERSION_MINOR "16" CACHE STRING "Version (minor) of xmlrpc-c")
-+set(XMLRPC_C_VERSION_POINT "6"  CACHE STRING "Version (point) of xmlrpc-c")
++set(XMLRPC_C_VERSION_MINOR "20" CACHE STRING "Version (minor) of xmlrpc-c")
++set(XMLRPC_C_VERSION_POINT "03" CACHE STRING "Version (point) of xmlrpc-c")
 +
 +set(XMLRPC_C_VERSION
 +  "${XMLRPC_C_VERSION_MAJOR}.${XMLRPC_C_VERSION_MINOR}.${XMLRPC_C_VERSION_POINT}"
@@ -143,8 +148,8 @@ index 0000000..800f7fd
 +set(XMLRPC_C_LIBVERSION "3.${XMLRPC_C_VERSION_MINOR}")
 +set(XMLRPC_C_SOVERSION  "3")
 +
-+set(XMLRPC_CXX_LIBVERSION "4.${XMLRPC_C_VERSION_MINOR}")
-+set(XMLRPC_CXX_SOVERSION  "4")
++set(XMLRPC_CXX_LIBVERSION "6.${XMLRPC_C_VERSION_MINOR}")
++set(XMLRPC_CXX_SOVERSION  "6")
 +
 +string(REGEX REPLACE "^0+" "" XMLRPC_C_VERSION_MAJOR_NUM "${XMLRPC_C_VERSION_MAJOR}")
 +string(REGEX REPLACE "^0+" "" XMLRPC_C_VERSION_MINOR_NUM "${XMLRPC_C_VERSION_MINOR}")
@@ -184,7 +189,6 @@ index 0000000..800f7fd
 +  endif(NOT MUST_BUILD_LIBWWW_CLIENT)
 +endmacro(ensc_set_link_exe_flags)
 +
-+
 +###########
 +if(WIN32)
 +  find_program(WININET_CONFIG_EXECUTABLE wininet-config)
@@ -264,10 +268,26 @@ index 0000000..800f7fd
 +  pkg_check_modules(LIBXML2 libxml-2.0)
 +
 +  if(LIBXML2_FOUND)
-+    set(libxml_pkgconfig libxml-2.0)  # TODO: enhance more alternative modules
++    set(libxml_pkgconfig libxml-2.0)  # TODO: add more alternative modules
 +  endif(LIBXML2_FOUND)
 +endif(ENABLE_LIBXML2_BACKEND)
 +
++###########
++
++set(ENABLE_TOOLS           0 CACHE BOOL "Build the tools")
++pkg_check_modules(NCURSES ncurses)
++find_library(READLINE readline)
++
++if (ENABLE_TOOLS)
++  message(STATUS "Building tools")
++  if (MUST_BUILD_LIBWWW_CLIENT OR MUST_BUILD_WININET_CLIENT OR MUST_BUILD_CURL_CLIENT)
++    if (NCURSES_FOUND AND READLINE)
++      set(BUILD_XMLRPC_PSTREAM 1)
++      message(STATUS "Building xmlrpc_pstream tool")
++    endif()
++    set(BUILD_TOOLS 1)
++  endif()
++endif()
 +
 +####  <wchar.h> tests
 +check_include_file(wchar.h _have_wchar_h)
@@ -317,10 +337,10 @@ index 0000000..800f7fd
 +
 +check_include_file(sys/filio.h HAVE_SYS_FILIO_H)
 +check_include_file(sys/ioctl.h HAVE_SYS_IOCTL_H)
-+check_function_exists(setenv     	HAVE_SETENV)
-+check_function_exists(strcasecmp 	HAVE_STRCASECMP)
-+check_function_exists(_stricmp   	HAVE__STRICMP)
-+check_function_exists(stricmp    	HAVE_STRICMP)
++check_function_exists(setenv		HAVE_SETENV)
++check_function_exists(strcasecmp	HAVE_STRCASECMP)
++check_function_exists(_stricmp		HAVE__STRICMP)
++check_function_exists(stricmp		HAVE_STRICMP)
 +check_function_exists(gettimeofday	HAVE_GETTIMEOFDAY)
 +check_function_exists(setgroups		HAVE_SETGROUPS)
 +check_function_exists(asprintf		HAVE_ASPRINTF)
@@ -379,7 +399,10 @@ index 0000000..800f7fd
 +add_subdirectory(examples)
 +add_subdirectory(include)
 +add_subdirectory(src)
-+add_subdirectory(tools)
++
++if (BUILD_TOOLS)
++  add_subdirectory(tools)
++endif()
 diff --git a/cmake/try-attr.cc b/cmake/try-attr.cc
 new file mode 100644
 index 0000000..4668c5b
@@ -476,16 +499,19 @@ index 0000000..31d5f9b
 +#include "../xmlrpc_config.h"
 diff --git a/examples/cpp/CMakeLists.txt b/examples/cpp/CMakeLists.txt
 new file mode 100644
-index 0000000..f27edbb
+index 0000000..093a75d
 --- /dev/null
 +++ b/examples/cpp/CMakeLists.txt
-@@ -0,0 +1,30 @@
+@@ -0,0 +1,34 @@
 +# -*- cmake -*-
 +
 +if(ENABLE_ABYSS_SERVER)
 +  set(abyss_serverxx_LIBS xmlrpc_server_abyss++)
 +
 +  ensc_add_example(xmlrpc_inetd_server cpp abyss_serverxx)
++  ensc_add_example(xmlrpc_loop_server  cpp abyss_serverxx)
++  ensc_add_example(xmlrpc_sample_add_server cpp abyss_serverxx)
++  ensc_add_example(callinfo_abyss_server    cpp abyss_serverxx)
 +endif(ENABLE_ABYSS_SERVER)
 +
 +if (ENABLE_CGI_SERVER)
@@ -506,6 +532,7 @@ index 0000000..f27edbb
 +
 +set(pstream_serverxx_LIBS	xmlrpc_server_pstream++)
 +ensc_add_example(pstream_inetd_server  cpp pstream_serverxx)
++ensc_add_example(pstream_serial_server cpp pstream_serverxx)
 +
 +
 +
@@ -663,10 +690,10 @@ index 0000000..2358061
 +SUBDIRS(src)
 diff --git a/lib/abyss/src/CMakeLists.txt b/lib/abyss/src/CMakeLists.txt
 new file mode 100644
-index 0000000..e0373e6
+index 0000000..e7f89bf
 --- /dev/null
 +++ b/lib/abyss/src/CMakeLists.txt
-@@ -0,0 +1,64 @@
+@@ -0,0 +1,66 @@
 +## -*- cmake -*-
 +
 +set(xmlrpc_abyss_SOURCES
@@ -704,6 +731,8 @@ index 0000000..e0373e6
 +  trace.c
 +  trace.h)
 +
++add_definitions(-D_UNIX)
++
 +if(ENABLE_ABYSS_THREADS)
 +  list(APPEND xmlrpc_abyss_SOURCES thread_pthread.c)
 +else(ENABLE_ABYSS_THREADS)
@@ -832,14 +861,16 @@ index 0000000..5b2a7e4
 +Cflags:
 diff --git a/lib/expat/xmltok/CMakeLists.txt b/lib/expat/xmltok/CMakeLists.txt
 new file mode 100644
-index 0000000..c3247ad
+index 0000000..359c4e4
 --- /dev/null
 +++ b/lib/expat/xmltok/CMakeLists.txt
-@@ -0,0 +1,20 @@
+@@ -0,0 +1,22 @@
 +# -*- cmake -*-
 +
 +include_directories(${CMAKE_CURRENT_BINARY_DIR})
 +
++add_definitions(-DXML_BYTE_ORDER=0)
++
 +add_library(xmlrpc_xmltok STATIC
 +  xmltok.c xmlrole.c ${CMAKE_CURRENT_BINARY_DIR}/nametab.h)
 +
@@ -873,14 +904,15 @@ index 0000000..88e7ad8
 +Cflags:
 diff --git a/lib/libutil/CMakeLists.txt b/lib/libutil/CMakeLists.txt
 new file mode 100644
-index 0000000..0f9a7f3
+index 0000000..06136db
 --- /dev/null
 +++ b/lib/libutil/CMakeLists.txt
-@@ -0,0 +1,24 @@
+@@ -0,0 +1,25 @@
 +# -*- cmake -*-
 +
 +add_library(xmlrpc_util SHARED
 +  asprintf.c
++  base64.c
 +  error.c
 +  make_printable.c
 +  memblock.c
@@ -968,7 +1000,7 @@ index 0000000..17535ab
 +endif(MUST_BUILD_WININET_CLIENT)
 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
 new file mode 100644
-index 0000000..8490f9d
+index 0000000..4c03b5b
 --- /dev/null
 +++ b/src/CMakeLists.txt
 @@ -0,0 +1,121 @@
@@ -1027,7 +1059,7 @@ index 0000000..8490f9d
 +
 +### libxmlrpc.so
 +add_library(xmlrpc SHARED
-+  double.c parse_value.c resource.c trace.c version.c
++  double.c parse_datetime.c parse_value.c resource.c trace.c version.c
 +  ${xmlrpc_xml_parser}
 +  xmlrpc_data.c xmlrpc_datetime.c xmlrpc_string.c
 +  xmlrpc_array.c xmlrpc_struct.c
@@ -1095,7 +1127,7 @@ index 0000000..8490f9d
 +enable_testing()
 diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
 new file mode 100644
-index 0000000..8bfe077
+index 0000000..345c5ac
 --- /dev/null
 +++ b/src/cpp/CMakeLists.txt
 @@ -0,0 +1,70 @@
@@ -1138,7 +1170,7 @@ index 0000000..8bfe077
 +endif(ENABLE_CGI_SERVER)
 +
 +####### libxmlrpc_server_pstream++.so
-+add_library(xmlrpc_server_pstream++ SHARED server_pstream.cpp)
++add_library(xmlrpc_server_pstream++ SHARED server_pstream.cpp server_pstream_conn)
 +target_link_libraries(xmlrpc_server_pstream++ xmlrpc_server++ xmlrpc_packetsocket)
 +list(APPEND lib_TARGETS xmlrpc_server_pstream++)
 +ensc_pkgconfig(xmlrpc_server_pstream++)
@@ -1471,22 +1503,31 @@ index 0000000..4d174ef
 +Cflags:			-I${includedir}
 diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
 new file mode 100644
-index 0000000..750fed4
+index 0000000..0bc45a9
 --- /dev/null
 +++ b/tools/CMakeLists.txt
-@@ -0,0 +1,12 @@
+@@ -0,0 +1,21 @@
 +# -*- cmake -*-
 +
 +add_subdirectory(lib)
-+
 +add_subdirectory(binmode-rpc-kit)
 +add_subdirectory(turbocharger)
 +
-+add_subdirectory(xmlrpc)
-+add_subdirectory(xmlrpc_transport)
++if (MUST_BUILD_CLIENT)
++  add_subdirectory(xmlrpc)
++  add_subdirectory(xmlrpc_transport)
++
 +
-+add_subdirectory(xmlrpc_cpp_proxy)
-+add_subdirectory(xml-rpc-api2cpp )
++  if (ENABLE_CPLUSPLUS)
++    add_subdirectory(xml-rpc-api2cpp)
++    add_subdirectory(xml-rpc-api2txt)
++    add_subdirectory(xmlrpc_cpp_proxy)
++
++    if (BUILD_XMLRPC_PSTREAM AND ENABLE_CGI_SERVER)
++      add_subdirectory(xmlrpc_pstream)
++    endif()
++  endif()
++endif()
 diff --git a/tools/binmode-rpc-kit/CMakeLists.txt b/tools/binmode-rpc-kit/CMakeLists.txt
 new file mode 100644
 index 0000000..a707c75
@@ -1511,7 +1552,7 @@ index 0000000..342423d
 +# -*- cmake -*-
 diff --git a/tools/xml-rpc-api2cpp/CMakeLists.txt b/tools/xml-rpc-api2cpp/CMakeLists.txt
 new file mode 100644
-index 0000000..c759dec
+index 0000000..1e9134a
 --- /dev/null
 +++ b/tools/xml-rpc-api2cpp/CMakeLists.txt
 @@ -0,0 +1,15 @@
@@ -1523,13 +1564,26 @@ index 0000000..c759dec
 +  XmlRpcFunction.cpp
 +  XmlRpcClass.cpp
 +  SystemProxy.cpp)
-+target_link_libraries(xml-rpc-api2cpp xmlrpc_cpp xmlrpc_client xmlrpc_server)
++target_link_libraries(xml-rpc-api2cpp xmlrpc_cpp xmlrpc_client)
 +
 +install(TARGETS xml-rpc-api2cpp
 +  RUNTIME DESTINATION bin)
 +
 +install(FILES xml-rpc-api2cpp.1
 +  DESTINATION ${mandir}/man1)
+diff --git a/tools/xml-rpc-api2txt/CMakeLists.txt b/tools/xml-rpc-api2txt/CMakeLists.txt
+new file mode 100644
+index 0000000..5b01824
+--- /dev/null
++++ b/tools/xml-rpc-api2txt/CMakeLists.txt
+@@ -0,0 +1,7 @@
++# -*- cmake -*-
++
++install(PROGRAMS xml-rpc-api2txt
++  DESTINATION ${bindir})
++
++install(FILES xml-rpc-api2txt.1
++  DESTINATION ${mandir}/man1)
 diff --git a/tools/xmlrpc/CMakeLists.txt b/tools/xmlrpc/CMakeLists.txt
 new file mode 100644
 index 0000000..da01ec3
@@ -1583,18 +1637,28 @@ index 0000000..4166023
 +
 +install(TARGETS xmlrpc_cpp_proxy
 +  RUNTIME DESTINATION bin)
-diff --git a/tools/xmlrpc_pstream/CMakefiles.txt b/tools/xmlrpc_pstream/CMakefiles.txt
+diff --git a/tools/xmlrpc_pstream/CMakeLists.txt b/tools/xmlrpc_pstream/CMakeLists.txt
 new file mode 100644
-index 0000000..67ae8c5
+index 0000000..b277bc8
 --- /dev/null
-+++ b/tools/xmlrpc_pstream/CMakefiles.txt
-@@ -0,0 +1,6 @@
++++ b/tools/xmlrpc_pstream/CMakeLists.txt
+@@ -0,0 +1,16 @@
 +# -*- cmake -*-
 +
 +add_executable(xmlrpc_pstream
 +  xmlrpc_pstream.cpp
-+  ${tools_lib_SOURCES})
-+target_link_libraries(xmlrpc_pstream readline util)
++  ../lib/dumpvalue.c)
++
++target_link_libraries(xmlrpc_pstream
++  ${READLINE}
++  ${NCURSES_LIBRARIES}
++  xmlrpc_client++
++  util)
++
++include_directories(../lib/include)
++
++install(TARGETS xmlrpc_pstream
++  RUNTIME DESTINATION bin)
 diff --git a/tools/xmlrpc_transport/CMakeLists.txt b/tools/xmlrpc_transport/CMakeLists.txt
 new file mode 100644
 index 0000000..b73d7c0
@@ -1641,21 +1705,21 @@ index 0000000..1ec3cf6
 +  ;
 diff --git a/version.h.cmake b/version.h.cmake
 new file mode 100644
-index 0000000..12ab86d
+index 0000000..0c964a3
 --- /dev/null
 +++ b/version.h.cmake
 @@ -0,0 +1,5 @@
 +/* This file was generated by a make rule */
-+#define XMLRPC_C_VERSION 	"@XMLRPC_C_VERSION@"
++#define XMLRPC_C_VERSION	"@XMLRPC_C_VERSION@"
 +#define XMLRPC_VERSION_MAJOR	@XMLRPC_C_VERSION_MAJOR_NUM@
 +#define XMLRPC_VERSION_MINOR	@XMLRPC_C_VERSION_MINOR_NUM@
 +#define XMLRPC_VERSION_POINT	@XMLRPC_C_VERSION_POINT_NUM@
 diff --git a/xmlrpc-c-config b/xmlrpc-c-config
 new file mode 100755
-index 0000000..c32555e
+index 0000000..327fad7
 --- /dev/null
 +++ b/xmlrpc-c-config
-@@ -0,0 +1,80 @@
+@@ -0,0 +1,108 @@
 +#! /bin/sh
 +
 +comp=
@@ -1668,16 +1732,44 @@ index 0000000..c32555e
 +need_packetsocket=
 +need_cgi=
 +
++show_help() {
++    cat <<EOF
++Usage: xmlrpc-c-config <feature> ... <option> ...
++
++The features are:
++  c++            legacy C++ wrapper API
++  c++2           modern C++ API
++  client         client functions
++  cgi-server     CGI-based server functions
++  abyss-server   ABYSS-based server functions
++  pstream-server pstream-based server functions
++  server-util    basic server functions (implied by *-server)
++
++Options are:
++  --version      The version number of the package
++  --features     List all features (aka modules) currently installed
++  --cflags       C compiler flags to use when '#include'ing package headers
++  --libs         Libraries and flags to use when linking programs normally
++  --ldadd        Libraries to use with automake
++  --ldflags      Flags to use with automake & libtool
++  --prefix       The prefix under which the package was installed
++EOF
++    exit $1
++}
++
++test $# -ne 0 || show_help 1 >&2
++
 +while test $# -gt 0; do
 +    case $1 in
-+      (c++)          		comp="$comp xmlrpc_cpp";;
-+      (server-util)  		need_server=1;;
-+      (cgi-server)   		need_cgi=1;;
-+      (c++2)         		need_cxx=1;;
-+      (abyss-server) 		need_abyss=1;;
-+      (pstream-server) 		need_pstream=1;;
++      (c++)			comp="$comp xmlrpc_cpp";;
++      (server-util)		need_server=1;;
++      (cgi-server)		need_cgi=1;;
++      (c++2)			need_cxx=1;;
++      (abyss-server)		need_abyss=1;;
++      (pstream-server)		need_pstream=1;;
 +      (packetsocket)		need_packetsocket=1;;
 +      (client|libwww-client)	need_client=1;;
++      (--help)			show_help 0;;
 +      (--) shift; break;;
 +      (--*) break;;
 +      (*)
@@ -1738,10 +1830,10 @@ index 0000000..c32555e
 +exec pkg-config "$@" $comp
 diff --git a/xmlrpc_config.h.cmake b/xmlrpc_config.h.cmake
 new file mode 100644
-index 0000000..1c9ece8
+index 0000000..e4454e8
 --- /dev/null
 +++ b/xmlrpc_config.h.cmake
-@@ -0,0 +1,99 @@
+@@ -0,0 +1,105 @@
 +/* -*- c -*- */
 +
 +#ifndef H_XMLRPC_C_CONFIG_H
@@ -1822,6 +1914,12 @@ index 0000000..1c9ece8
 +  #define HAVE_REGEX 1
 +#endif
 +
++#if MSVCRT
++  #define XMLRPC_SOCKETPAIR xmlrpc_win32_socketpair
++#else
++  #define XMLRPC_SOCKETPAIR socketpair
++#endif
++
 +#if defined(_MSC_VER)
 +/* Starting with MSVC 8, the runtime library defines various POSIX functions
 +   such as strdup() whose names violate the ISO C standard (the standard
@@ -1842,5 +1940,5 @@ index 0000000..1c9ece8
 +
 +#endif
 -- 
-1.6.0.4
+1.6.5.2
 


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/xmlrpc-c/devel/sources,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -p -r1.19 -r1.20
--- sources	11 Dec 2008 08:37:36 -0000	1.19
+++ sources	21 Nov 2009 14:02:54 -0000	1.20
@@ -1 +1 @@
-8389b0e11d93a61d9bd130f0cb77eaa4  xmlrpc-c-1.16.6.tar.bz2
+d987c3d989ca1a4774ce12fada437238  xmlrpc-c-1.20.3.tar.bz2


Index: lastver
===================================================================
RCS file: /cvs/extras/rpms/xmlrpc-c/devel/lastver,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -p -r1.9 -r1.10
--- lastver	11 Dec 2008 08:37:36 -0000	1.9
+++ lastver	21 Nov 2009 14:02:54 -0000	1.10
@@ -1 +1 @@
-1.16.06
+1.20.03


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/xmlrpc-c/devel/.cvsignore,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -p -r1.10 -r1.11
--- .cvsignore	11 Dec 2008 08:37:36 -0000	1.10
+++ .cvsignore	21 Nov 2009 14:02:54 -0000	1.11
@@ -1 +1 @@
-xmlrpc-c-1.16.6.tar.bz2
+xmlrpc-c-1.20.3.tar.bz2




More information about the scm-commits mailing list