diff --git a/patches/FS-2746.diff b/patches/FS-2746.diff
deleted file mode 100644
index 28652625b7..0000000000
--- a/patches/FS-2746.diff
+++ /dev/null
@@ -1,76361 +0,0 @@
- .gitignore | 71 +-
- Freeswitch.2008.sln | 142 +-
- Freeswitch.2010.sln | 202 +-
- configure.in | 33 +-
- libs/.gitignore | 8 +-
- .../win32/apr-util/libaprutil.2010.vcxproj.filters | 7 +-
- libs/win32/xmlrpc-c/abyss.2008.vcproj | 410 +++
- libs/win32/xmlrpc-c/abyss.2010.vcxproj | 197 ++
- libs/win32/xmlrpc-c/abyss.2010.vcxproj.filters | 69 +
- libs/win32/xmlrpc-c/gennmtab.2008.vcproj | 404 +++
- libs/win32/xmlrpc-c/gennmtab.2010.vcxproj | 304 ++
- libs/win32/xmlrpc-c/xmlparse.2008.vcproj | 394 +++
- libs/win32/xmlrpc-c/xmlparse.2010.vcxproj | 254 ++
- libs/win32/xmlrpc-c/xmlrpc.2008.vcproj | 490 ++++
- libs/win32/xmlrpc-c/xmlrpc.2010.vcxproj | 240 ++
- libs/win32/xmlrpc-c/xmlrpc.2010.vcxproj.filters | 125 +
- libs/win32/xmlrpc-c/xmltok.2008.vcproj | 378 +++
- libs/win32/xmlrpc-c/xmltok.2010.vcxproj | 199 ++
- libs/win32/xmlrpc-c/xmltok.2010.vcxproj.filters | 45 +
- libs/xmlrpc-c/.cvsignore | 18 -
- libs/xmlrpc-c/.update | 1 -
- libs/xmlrpc-c/GNUmakefile | 53 +-
- libs/xmlrpc-c/Makefile.common | 272 --
- libs/xmlrpc-c/Makefile.config.in | 79 -
- libs/xmlrpc-c/Makefile.srcdir.in | 1 -
- libs/xmlrpc-c/Makefile.version | 11 -
- libs/xmlrpc-c/Windows/CleanWin32.bat | 73 +-
- libs/xmlrpc-c/Windows/ReadMeWin32.txt | 12 +-
- libs/xmlrpc-c/Windows/abyss.2008.vcproj | 1298 ---------
- libs/xmlrpc-c/Windows/abyss.2010.vcxproj | 437 ---
- libs/xmlrpc-c/Windows/abyss.2010.vcxproj.filters | 131 -
- libs/xmlrpc-c/Windows/cpptest.dsp | 9 +-
- libs/xmlrpc-c/Windows/curllink.h | 36 +-
- libs/xmlrpc-c/Windows/dll/cpptest.vcproj | 482 +++
- libs/xmlrpc-c/Windows/dll/gennmtab.vcproj | 449 +++
- libs/xmlrpc-c/Windows/dll/rpctest.vcproj | 574 ++++
- .../Windows/dll/sample_add_asynch_client.vcproj | 443 +++
- libs/xmlrpc-c/Windows/dll/sample_add_server.vcproj | 433 +++
- .../dll/sample_add_server_w32httpsys.vcproj | 433 +++
- .../Windows/dll/sample_add_sync_client.vcproj | 435 +++
- .../xmlrpc-c/Windows/dll/sample_auth_client.vcproj | 435 +++
- .../Windows/dll/tool_xmlrpc-transport.vcproj | 430 +++
- libs/xmlrpc-c/Windows/dll/tool_xmlrpc.vcproj | 430 +++
- libs/xmlrpc-c/Windows/dll/xmlrpc.sln | 327 +++
- libs/xmlrpc-c/Windows/dll/xmlrpc.vcproj | 479 +++
- libs/xmlrpc-c/Windows/dll/xmlrpc__.vcproj | 1296 +++++++++
- libs/xmlrpc-c/Windows/dll/xmlrpc_abyss.vcproj | 1342 +++++++++
- libs/xmlrpc-c/Windows/dll/xmlrpc_client.vcproj | 425 +++
- libs/xmlrpc-c/Windows/dll/xmlrpc_server.vcproj | 413 +++
- .../Windows/dll/xmlrpc_server_abyss.vcproj | 401 +++
- libs/xmlrpc-c/Windows/dll/xmlrpc_server_cgi.vcproj | 401 +++
- .../Windows/dll/xmlrpc_server_w32httpsys.vcproj | 405 +++
- libs/xmlrpc-c/Windows/dll/xmlrpc_util.vcproj | 449 +++
- libs/xmlrpc-c/Windows/dll/xmlrpc_xmlparse.vcproj | 417 +++
- libs/xmlrpc-c/Windows/dll/xmlrpc_xmltok.vcproj | 483 +++
- libs/xmlrpc-c/Windows/gennmtab.2008.vcproj | 242 --
- libs/xmlrpc-c/Windows/mkvers.bat | 8 +-
- libs/xmlrpc-c/Windows/query_meerkat.dsp | 100 -
- libs/xmlrpc-c/Windows/rpctest.dsp | 8 +
- libs/xmlrpc-c/Windows/socketpair.cpp | 71 +
- libs/xmlrpc-c/Windows/transport_config.h | 13 -
- libs/xmlrpc-c/Windows/transport_config_win32.h | 26 +-
- libs/xmlrpc-c/Windows/win32_config.h | 4 +
- libs/xmlrpc-c/Windows/xmlparse.2008.vcproj | 387 ---
- libs/xmlrpc-c/Windows/xmlparse.2010.vcxproj | 198 --
- libs/xmlrpc-c/Windows/xmlrpc-c/config.h | 38 -
- libs/xmlrpc-c/Windows/xmlrpc.2008.vcproj | 2042 -------------
- libs/xmlrpc-c/Windows/xmlrpc.2010.vcxproj | 620 ----
- libs/xmlrpc-c/Windows/xmlrpc.2010.vcxproj.filters | 287 --
- libs/xmlrpc-c/Windows/xmlrpc.dsp | 12 +
- libs/xmlrpc-c/Windows/xmlrpc.dsw | 30 +
- libs/xmlrpc-c/Windows/xmlrpc_config.h | 158 -
- libs/xmlrpc-c/Windows/xmlrpc_win32_config.h | 69 +-
- libs/xmlrpc-c/Windows/xmlrpcclient.dsp | 106 +
- libs/xmlrpc-c/Windows/xmlrpccpp.dsp | 5 +-
- libs/xmlrpc-c/Windows/xmltok.2008.vcproj | 455 ---
- libs/xmlrpc-c/Windows/xmltok.2010.vcxproj | 213 --
- libs/xmlrpc-c/Windows/xmltok.dsp | 4 +-
- libs/xmlrpc-c/common.mk | 130 +-
- libs/xmlrpc-c/conf/abyss_root/conf/abyss.conf | 56 -
- libs/xmlrpc-c/conf/abyss_root/conf/mime.types | 276 --
- libs/xmlrpc-c/conf/abyss_root/htdocs/index.htm | 21 -
- libs/xmlrpc-c/config.mk.in | 97 +-
- libs/xmlrpc-c/configure.gnu | 4 -
- libs/xmlrpc-c/configure.in | 165 +-
- libs/xmlrpc-c/debian/README.Debian | 7 -
- libs/xmlrpc-c/debian/changelog | 22 -
- libs/xmlrpc-c/debian/control | 30 -
- libs/xmlrpc-c/debian/copyright | 128 -
- libs/xmlrpc-c/debian/postinst | 47 -
- libs/xmlrpc-c/debian/postrm | 39 -
- libs/xmlrpc-c/debian/rules | 97 -
- libs/xmlrpc-c/debian/xmlrpc-c-apps.files | 4 -
- libs/xmlrpc-c/debian/xmlrpc-c-dev.files | 10 -
- libs/xmlrpc-c/debian/xmlrpc-c0.docs | 6 -
- libs/xmlrpc-c/debian/xmlrpc-c0.examples | 3 -
- libs/xmlrpc-c/debian/xmlrpc-c0.files | 2 -
- libs/xmlrpc-c/dll-common.make | 22 -
- libs/xmlrpc-c/dll-common.mk | 22 +
- libs/xmlrpc-c/doc/INSTALL | 44 +-
- libs/xmlrpc-c/dylib-common.make | 37 -
- libs/xmlrpc-c/dylib-common.mk | 37 +
- libs/xmlrpc-c/examples/.cvsignore | 11 -
- libs/xmlrpc-c/examples/Makefile | 57 +-
- libs/xmlrpc-c/examples/README | 15 +-
- libs/xmlrpc-c/examples/auth_client.c | 2 +-
- libs/xmlrpc-c/examples/compound_value_client.c | 161 +
- libs/xmlrpc-c/examples/compound_value_server.c | 199 ++
- libs/xmlrpc-c/examples/cpp/.cvsignore | 4 -
- libs/xmlrpc-c/examples/cpp/Makefile | 58 +-
- .../examples/cpp/callinfo_abyss_server.cpp | 133 +
- libs/xmlrpc-c/examples/cpp/meerkat-app-list.cpp | 108 -
- libs/xmlrpc-c/examples/cpp/pstream_client.cpp | 2 +-
- .../xmlrpc-c/examples/cpp/pstream_inetd_server.cpp | 9 +-
- .../examples/cpp/pstream_serial_server.cpp | 84 +
- libs/xmlrpc-c/examples/cpp/xmlrpc_inetd_server.cpp | 25 +-
- .../examples/cpp/xmlrpc_sample_add_server.cpp | 7 +-
- .../examples/cpp/xmlrpc_sample_add_server_cgi.cpp | 62 +
- libs/xmlrpc-c/examples/gen_sample_add_xml.c | 2 +-
- libs/xmlrpc-c/examples/interrupted_client.c | 3 +-
- libs/xmlrpc-c/examples/interrupted_server.c | 17 +-
- libs/xmlrpc-c/examples/json.c | 115 +
- libs/xmlrpc-c/examples/query-meerkat.c | 156 -
- libs/xmlrpc-c/examples/synch_client.c | 4 +-
- libs/xmlrpc-c/examples/xmlrpc_asynch_client.c | 6 +-
- libs/xmlrpc-c/examples/xmlrpc_inetd_server.c | 15 +-
- libs/xmlrpc-c/examples/xmlrpc_loop_server.c | 15 +-
- libs/xmlrpc-c/examples/xmlrpc_sample_add_client.c | 21 +-
- libs/xmlrpc-c/examples/xmlrpc_sample_add_server.c | 33 +-
- .../examples/xmlrpc_sample_add_server_cgi.c | 22 +-
- libs/xmlrpc-c/examples/xmlrpc_server_validatee.c | 18 +-
- libs/xmlrpc-c/examples/xmlrpc_socket_server.c | 21 +-
- libs/xmlrpc-c/include/Makefile | 18 +-
- libs/xmlrpc-c/include/xmlrpc-c/abyss.h | 144 +-
- libs/xmlrpc-c/include/xmlrpc-c/abyss_winsock.h | 4 +-
- libs/xmlrpc-c/include/xmlrpc-c/base.h | 282 +-
- libs/xmlrpc-c/include/xmlrpc-c/base.hpp | 252 +-
- libs/xmlrpc-c/include/xmlrpc-c/base64.hpp | 5 +-
- libs/xmlrpc-c/include/xmlrpc-c/base64_int.h | 11 +
- libs/xmlrpc-c/include/xmlrpc-c/base_int.h | 40 +-
- libs/xmlrpc-c/include/xmlrpc-c/c_util.h | 23 +-
- libs/xmlrpc-c/include/xmlrpc-c/client.h | 141 +-
- libs/xmlrpc-c/include/xmlrpc-c/client.hpp | 59 +-
- libs/xmlrpc-c/include/xmlrpc-c/client_global.h | 17 +
- libs/xmlrpc-c/include/xmlrpc-c/client_int.h | 29 +
- libs/xmlrpc-c/include/xmlrpc-c/client_simple.hpp | 4 +-
- .../xmlrpc-c/include/xmlrpc-c/client_transport.hpp | 128 +-
- libs/xmlrpc-c/include/xmlrpc-c/config.h.in | 37 -
- libs/xmlrpc-c/include/xmlrpc-c/girerr.hpp | 9 +-
- libs/xmlrpc-c/include/xmlrpc-c/girmem.hpp | 10 +-
- libs/xmlrpc-c/include/xmlrpc-c/inttypes.h | 3 +
- libs/xmlrpc-c/include/xmlrpc-c/json.h | 39 +
- libs/xmlrpc-c/include/xmlrpc-c/oldcppwrapper.hpp | 19 +-
- libs/xmlrpc-c/include/xmlrpc-c/packetsocket.hpp | 64 +-
- libs/xmlrpc-c/include/xmlrpc-c/registry.hpp | 90 +-
- libs/xmlrpc-c/include/xmlrpc-c/select_int.h | 4 +-
- libs/xmlrpc-c/include/xmlrpc-c/server.h | 42 +
- libs/xmlrpc-c/include/xmlrpc-c/server_abyss.h | 81 +-
- libs/xmlrpc-c/include/xmlrpc-c/server_abyss.hpp | 110 +-
- libs/xmlrpc-c/include/xmlrpc-c/server_cgi.h | 11 +-
- libs/xmlrpc-c/include/xmlrpc-c/server_cgi.hpp | 45 +
- libs/xmlrpc-c/include/xmlrpc-c/server_pstream.hpp | 139 +-
- libs/xmlrpc-c/include/xmlrpc-c/server_w32httpsys.h | 4 +-
- libs/xmlrpc-c/include/xmlrpc-c/sleep_int.h | 11 +
- libs/xmlrpc-c/include/xmlrpc-c/string_int.h | 53 +-
- libs/xmlrpc-c/include/xmlrpc-c/string_number.h | 21 +
- libs/xmlrpc-c/include/xmlrpc-c/time_int.h | 4 +
- libs/xmlrpc-c/include/xmlrpc-c/timeout.hpp | 7 +-
- libs/xmlrpc-c/include/xmlrpc-c/transport.h | 5 +
- libs/xmlrpc-c/include/xmlrpc-c/transport_int.h | 42 -
- libs/xmlrpc-c/include/xmlrpc-c/util.h | 36 +-
- libs/xmlrpc-c/include/xmlrpc-c/util_int.h | 13 +-
- libs/xmlrpc-c/include/xmlrpc-c/xml.hpp | 24 +-
- libs/xmlrpc-c/irix-common.make | 31 -
- libs/xmlrpc-c/irix-common.mk | 31 +
- libs/xmlrpc-c/lib/abyss/change.log | 34 -
- libs/xmlrpc-c/lib/abyss/htdocs/index.htm | 21 -
- libs/xmlrpc-c/lib/abyss/patch_notes.txt | 114 -
- libs/xmlrpc-c/lib/abyss/readme.txt | 160 -
- libs/xmlrpc-c/lib/abyss/src/Abyss.dsp | 136 -
- libs/xmlrpc-c/lib/abyss/src/Abyss.dsw | 29 -
- libs/xmlrpc-c/lib/abyss/src/Makefile | 28 +-
- libs/xmlrpc-c/lib/abyss/src/channel.c | 3 +-
- libs/xmlrpc-c/lib/abyss/src/channel.h | 2 +-
- libs/xmlrpc-c/lib/abyss/src/chanswitch.c | 3 +-
- libs/xmlrpc-c/lib/abyss/src/chanswitch.h | 2 +-
- libs/xmlrpc-c/lib/abyss/src/conf.c | 7 +-
- libs/xmlrpc-c/lib/abyss/src/conn.c | 302 +-
- libs/xmlrpc-c/lib/abyss/src/conn.h | 19 +-
- libs/xmlrpc-c/lib/abyss/src/data.c | 22 +-
- libs/xmlrpc-c/lib/abyss/src/file.c | 1 +
- libs/xmlrpc-c/lib/abyss/src/handler.c | 49 +-
- libs/xmlrpc-c/lib/abyss/src/handler.h | 2 +
- libs/xmlrpc-c/lib/abyss/src/http.c | 407 +--
- libs/xmlrpc-c/lib/abyss/src/http.h | 8 +-
- libs/xmlrpc-c/lib/abyss/src/main.c | 8 +-
- libs/xmlrpc-c/lib/abyss/src/response.c | 275 +-
- libs/xmlrpc-c/lib/abyss/src/server.c | 338 ++-
- libs/xmlrpc-c/lib/abyss/src/server.h | 8 +-
- libs/xmlrpc-c/lib/abyss/src/session.c | 55 +-
- libs/xmlrpc-c/lib/abyss/src/session.h | 24 +-
- libs/xmlrpc-c/lib/abyss/src/socket.c | 3 +-
- libs/xmlrpc-c/lib/abyss/src/socket.h | 4 +-
- libs/xmlrpc-c/lib/abyss/src/socket_openssl.c | 2 +
- libs/xmlrpc-c/lib/abyss/src/socket_unix.c | 175 +-
- libs/xmlrpc-c/lib/abyss/src/socket_win.c | 1889 ++++++------
- libs/xmlrpc-c/lib/abyss/src/thread.c | 228 --
- libs/xmlrpc-c/lib/abyss/src/thread.h | 4 +-
- libs/xmlrpc-c/lib/abyss/src/thread_fork.c | 11 +-
- libs/xmlrpc-c/lib/abyss/src/thread_pthread.c | 72 +-
- libs/xmlrpc-c/lib/abyss/src/thread_windows.c | 27 +-
- libs/xmlrpc-c/lib/abyss/version.txt | 1 -
- libs/xmlrpc-c/lib/curl_transport/Makefile | 20 +-
- libs/xmlrpc-c/lib/curl_transport/curlmulti.c | 313 ++
- libs/xmlrpc-c/lib/curl_transport/curlmulti.h | 51 +
- libs/xmlrpc-c/lib/curl_transport/curltransaction.c | 753 +++++
- libs/xmlrpc-c/lib/curl_transport/curltransaction.h | 120 +
- libs/xmlrpc-c/lib/curl_transport/curlversion.h | 20 +
- libs/xmlrpc-c/lib/curl_transport/lock.h | 24 +
- libs/xmlrpc-c/lib/curl_transport/lock_pthread.c | 49 +
- libs/xmlrpc-c/lib/curl_transport/lock_pthread.h | 9 +
- .../lib/curl_transport/xmlrpc_curl_transport.c | 1838 +++---------
- .../lib/curl_transport/xmlrpc_curl_transport.h | 8 -
- libs/xmlrpc-c/lib/expat/.cvsignore | 1 -
- libs/xmlrpc-c/lib/expat/Makefile | 39 +
- libs/xmlrpc-c/lib/expat/Makefile.in | 314 --
- libs/xmlrpc-c/lib/expat/expat.dsw | 74 -
- libs/xmlrpc-c/lib/expat/gennmtab/.cvsignore | 1 -
- libs/xmlrpc-c/lib/expat/gennmtab/Makefile | 8 +-
- libs/xmlrpc-c/lib/expat/gennmtab/gennmtab.dsp | 110 -
- libs/xmlrpc-c/lib/expat/sample/.cvsignore | 1 -
- libs/xmlrpc-c/lib/expat/sample/Makefile.in | 208 --
- libs/xmlrpc-c/lib/expat/sample/build.bat | 4 -
- libs/xmlrpc-c/lib/expat/sample/elements.c | 46 -
- libs/xmlrpc-c/lib/expat/xmlparse/.cvsignore | 1 -
- libs/xmlrpc-c/lib/expat/xmlparse/Makefile | 93 +
- libs/xmlrpc-c/lib/expat/xmlparse/Makefile.in | 344 ---
- libs/xmlrpc-c/lib/expat/xmlparse/xmlparse.c | 207 +-
- libs/xmlrpc-c/lib/expat/xmlparse/xmlparse.dsp | 279 --
- libs/xmlrpc-c/lib/expat/xmlparse/xmlparse.h | 94 +-
- libs/xmlrpc-c/lib/expat/xmltok/.cvsignore | 1 -
- libs/xmlrpc-c/lib/expat/xmltok/Makefile | 21 +-
- libs/xmlrpc-c/lib/expat/xmltok/nametab.h | 150 -
- libs/xmlrpc-c/lib/expat/xmltok/xmlrole.h | 9 +-
- libs/xmlrpc-c/lib/expat/xmltok/xmltok.c | 62 +-
- libs/xmlrpc-c/lib/expat/xmltok/xmltok.dsp | 259 --
- libs/xmlrpc-c/lib/expat/xmltok/xmltok.h | 41 +-
- libs/xmlrpc-c/lib/expat/xmltok/xmltok_impl.c | 391 ++-
- libs/xmlrpc-c/lib/expat/xmlwf/.cvsignore | 1 -
- libs/xmlrpc-c/lib/expat/xmlwf/xmlfile.c | 2 +-
- libs/xmlrpc-c/lib/libutil/Makefile | 18 +-
- libs/xmlrpc-c/lib/libutil/asprintf.c | 135 +-
- libs/xmlrpc-c/lib/libutil/base64.c | 49 +
- libs/xmlrpc-c/lib/libutil/error.c | 4 +-
- libs/xmlrpc-c/lib/libutil/make_printable.c | 2 +-
- libs/xmlrpc-c/lib/libutil/memblock.c | 47 +-
- libs/xmlrpc-c/lib/libutil/select.c | 6 +-
- libs/xmlrpc-c/lib/libutil/string_number.c | 46 +
- libs/xmlrpc-c/lib/libutil/utf8.c | 370 ++-
- libs/xmlrpc-c/lib/libwww_transport/Makefile | 15 +-
- .../lib/libwww_transport/xmlrpc_libwww_transport.c | 1 +
- .../lib/libwww_transport/xmlrpc_libwww_transport.h | 8 -
- libs/xmlrpc-c/lib/util/Makefile | 15 +-
- libs/xmlrpc-c/lib/util/casprintf.c | 86 +-
- libs/xmlrpc-c/lib/util/cmdline_parser.c | 2 +
- libs/xmlrpc-c/lib/util/include/int.h | 16 +-
- libs/xmlrpc-c/lib/util/include/mallocvar.h | 4 +-
- libs/xmlrpc-c/lib/util/include/pthreadx.h | 18 +-
- libs/xmlrpc-c/lib/util/include/sstring.h | 15 -
- libs/xmlrpc-c/lib/util/include/stdargx.h | 2 +-
- libs/xmlrpc-c/lib/util/pthreadx_win32.c | 54 +-
- libs/xmlrpc-c/lib/util/string_parser.c | 10 +-
- libs/xmlrpc-c/lib/util/stripcaseeq.c | 1 -
- libs/xmlrpc-c/lib/wininet_transport/Makefile | 13 +-
- .../wininet_transport/xmlrpc_wininet_transport.c | 19 +-
- .../wininet_transport/xmlrpc_wininet_transport.h | 8 -
- libs/xmlrpc-c/ltconfig | 3078 --------------------
- libs/xmlrpc-c/src/.cvsignore | 6 -
- libs/xmlrpc-c/src/Makefile | 64 +-
- libs/xmlrpc-c/src/cpp/.cvsignore | 1 -
- libs/xmlrpc-c/src/cpp/Makefile | 179 +-
- libs/xmlrpc-c/src/cpp/base64.cpp | 2 +-
- libs/xmlrpc-c/src/cpp/client.cpp | 47 +-
- libs/xmlrpc-c/src/cpp/cpptest.cpp | 1187 --------
- libs/xmlrpc-c/src/cpp/curl.cpp | 147 +-
- libs/xmlrpc-c/src/cpp/env_wrap.hpp | 3 +-
- libs/xmlrpc-c/src/cpp/libwww.cpp | 3 +-
- libs/xmlrpc-c/src/cpp/packetsocket.cpp | 561 +++-
- libs/xmlrpc-c/src/cpp/pstream.cpp | 49 +-
- libs/xmlrpc-c/src/cpp/registry.cpp | 170 +-
- libs/xmlrpc-c/src/cpp/server_abyss.cpp | 571 +++-
- libs/xmlrpc-c/src/cpp/server_cgi.cpp | 354 +++
- libs/xmlrpc-c/src/cpp/server_pstream.cpp | 265 +-
- libs/xmlrpc-c/src/cpp/server_pstream_conn.cpp | 364 +++
- libs/xmlrpc-c/src/cpp/test/Makefile | 33 +-
- libs/xmlrpc-c/src/cpp/test/base64.cpp | 54 +
- libs/xmlrpc-c/src/cpp/test/base64.hpp | 9 +
- libs/xmlrpc-c/src/cpp/test/registry.cpp | 270 +-
- libs/xmlrpc-c/src/cpp/test/server_abyss.cpp | 61 +-
- libs/xmlrpc-c/src/cpp/test/server_pstream.cpp | 777 ++++-
- libs/xmlrpc-c/src/cpp/test/test.cpp | 403 +--
- libs/xmlrpc-c/src/cpp/test/testclient.cpp | 81 +-
- libs/xmlrpc-c/src/cpp/test/value.cpp | 453 +++
- libs/xmlrpc-c/src/cpp/test/value.hpp | 9 +
- libs/xmlrpc-c/src/cpp/test/xml.cpp | 100 +
- libs/xmlrpc-c/src/cpp/test/xml.hpp | 9 +
- libs/xmlrpc-c/src/cpp/value.cpp | 232 +-
- libs/xmlrpc-c/src/cpp/xml.cpp | 155 +-
- libs/xmlrpc-c/src/double.c | 29 +-
- libs/xmlrpc-c/src/json.c | 1466 ++++++++++
- libs/xmlrpc-c/src/method.c | 18 +-
- libs/xmlrpc-c/src/method.h | 5 +
- libs/xmlrpc-c/src/parse_datetime.c | 466 +++
- libs/xmlrpc-c/src/parse_datetime.h | 12 +
- libs/xmlrpc-c/src/parse_value.c | 95 +-
- libs/xmlrpc-c/src/registry.c | 73 +-
- libs/xmlrpc-c/src/system_method.c | 172 +-
- libs/xmlrpc-c/src/test/.cvsignore | 3 -
- libs/xmlrpc-c/src/test/Makefile | 21 +-
- libs/xmlrpc-c/src/test/abyss.c | 13 +-
- libs/xmlrpc-c/src/test/cgi.c | 2 +-
- libs/xmlrpc-c/src/test/cgitest1.c | 2 +-
- libs/xmlrpc-c/src/test/client.c | 76 +-
- libs/xmlrpc-c/src/test/method_registry.c | 201 +-
- libs/xmlrpc-c/src/test/parse_xml.c | 62 +-
- libs/xmlrpc-c/src/test/req_out_of_order.xml | 12 -
- libs/xmlrpc-c/src/test/req_value_name.xml | 14 -
- libs/xmlrpc-c/src/test/sample_add_call.xml | 8 -
- libs/xmlrpc-c/src/test/serialize.c | 12 +-
- libs/xmlrpc-c/src/test/serialize_value.c | 3 +-
- libs/xmlrpc-c/src/test/server_abyss.c | 43 +-
- libs/xmlrpc-c/src/test/test.c | 87 +-
- libs/xmlrpc-c/src/test/test.h | 109 -
- libs/xmlrpc-c/src/test/testtool.c | 65 +
- libs/xmlrpc-c/src/test/testtool.h | 80 +
- libs/xmlrpc-c/src/test/value.c | 258 +-
- libs/xmlrpc-c/src/test/value_datetime.c | 424 +++
- libs/xmlrpc-c/src/test/value_datetime.h | 7 +
- libs/xmlrpc-c/src/test/xml_data.h | 3 +
- libs/xmlrpc-c/src/trace.c | 3 +-
- libs/xmlrpc-c/src/version.c | 11 +
- libs/xmlrpc-c/src/xmlrpc_array.c | 37 +-
- libs/xmlrpc-c/src/xmlrpc_base64.c | 195 +-
- libs/xmlrpc-c/src/xmlrpc_build.c | 26 +-
- libs/xmlrpc-c/src/xmlrpc_builddecomp.c | 973 -------
- libs/xmlrpc-c/src/xmlrpc_client.c | 403 ++-
- libs/xmlrpc-c/src/xmlrpc_client_global.c | 114 +-
- libs/xmlrpc-c/src/xmlrpc_data.c | 37 +-
- libs/xmlrpc-c/src/xmlrpc_datetime.c | 587 ++--
- libs/xmlrpc-c/src/xmlrpc_decompose.c | 7 +-
- libs/xmlrpc-c/src/xmlrpc_expat.c | 32 +-
- libs/xmlrpc-c/src/xmlrpc_libxml2.c | 15 +-
- libs/xmlrpc-c/src/xmlrpc_parse.c | 161 +-
- libs/xmlrpc-c/src/xmlrpc_registry.c | 830 ------
- libs/xmlrpc-c/src/xmlrpc_serialize.c | 176 +-
- libs/xmlrpc-c/src/xmlrpc_server_abyss.c | 672 +++--
- libs/xmlrpc-c/src/xmlrpc_server_cgi.c | 13 +-
- libs/xmlrpc-c/src/xmlrpc_server_info.c | 7 +
- libs/xmlrpc-c/src/xmlrpc_server_w32httpsys.c | 42 +-
- libs/xmlrpc-c/src/xmlrpc_string.c | 34 +-
- libs/xmlrpc-c/src/xmlrpc_struct.c | 114 +-
- libs/xmlrpc-c/src/xmlrpc_strutil.c | 75 -
- libs/xmlrpc-c/src/xmlrpc_support.c | 394 ---
- libs/xmlrpc-c/src/xmlrpc_transport.c | 143 -
- libs/xmlrpc-c/src/xmlrpc_utf8.c | 376 ---
- libs/xmlrpc-c/srcdir.mk.in | 1 +
- libs/xmlrpc-c/tools/.cvsignore | 1 -
- libs/xmlrpc-c/tools/Makefile | 13 +-
- libs/xmlrpc-c/tools/Makefile.common | 47 -
- libs/xmlrpc-c/tools/common.mk | 2 +-
- libs/xmlrpc-c/tools/lib/Makefile | 8 +-
- libs/xmlrpc-c/tools/lib/dumpvalue.c | 12 +-
- libs/xmlrpc-c/tools/turbocharger/.cvsignore | 1 -
- libs/xmlrpc-c/tools/xml-rpc-api2cpp/.cvsignore | 1 -
- libs/xmlrpc-c/tools/xml-rpc-api2cpp/Makefile | 29 +-
- libs/xmlrpc-c/tools/xml-rpc-api2cpp/README | 6 -
- libs/xmlrpc-c/tools/xml-rpc-api2txt | 147 -
- libs/xmlrpc-c/tools/xml-rpc-api2txt.1 | 47 -
- libs/xmlrpc-c/tools/xmlrpc/.cvsignore | 1 -
- libs/xmlrpc-c/tools/xmlrpc/Makefile | 8 +-
- libs/xmlrpc-c/tools/xmlrpc/xmlrpc.c | 74 +-
- libs/xmlrpc-c/tools/xmlrpc/xmlrpc.html | 6 +-
- libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/Makefile | 10 +-
- libs/xmlrpc-c/tools/xmlrpc_pstream/Makefile | 10 +-
- .../tools/xmlrpc_pstream/xmlrpc_pstream.cpp | 7 +-
- .../tools/xmlrpc_pstream/xmlrpc_pstream.html | 2 +-
- libs/xmlrpc-c/tools/xmlrpc_transport/.cvsignore | 1 -
- libs/xmlrpc-c/tools/xmlrpc_transport/Makefile | 17 +-
- .../tools/xmlrpc_transport/xmlrpc_transport | 120 -
- .../tools/xmlrpc_transport/xmlrpc_transport.c | 2 +-
- libs/xmlrpc-c/transport_config.make | 39 -
- libs/xmlrpc-c/transport_config.mk | 39 +
- libs/xmlrpc-c/unix-common.make | 79 -
- libs/xmlrpc-c/unix-common.mk | 82 +
- libs/xmlrpc-c/version.h | 8 -
- libs/xmlrpc-c/version.mk | 11 +
- libs/xmlrpc-c/xmlrpc-c-config.in | 180 --
- libs/xmlrpc-c/xmlrpc-c-config.main | 24 +-
- libs/xmlrpc-c/xmlrpc-c-config.test.in | 153 -
- libs/xmlrpc-c/xmlrpc-c-config.test.main | 33 +-
- libs/xmlrpc-c/xmlrpc_amconfig.h.in | 9 +-
- libs/xmlrpc-c/xmlrpc_config.h.in | 76 +-
- src/include/switch_event.h | 16 +-
- src/include/switch_xml.h | 8 +-
- src/mod/applications/mod_commands/mod_commands.c | 766 ++---
- src/mod/languages/mod_lua/mod_lua.cpp | 10 +-
- src/mod/xml_int/mod_xml_rpc/Makefile | 27 +-
- .../xml_int/mod_xml_rpc/mod_xml_rpc.2010.vcxproj | 28 +-
- src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c | 467 +--
- src/switch_loadable_module.c | 4 +-
- src/switch_xml.c | 25 +-
- w32/xmlrpc.props | 15 +
- w32/xmlrpc.vsprops | 15 +
- 413 files changed, 34400 insertions(+), 26419 deletions(-)
-
-diff --git a/.gitignore b/.gitignore
-index 1039628..9df71cc 100644
---- a/.gitignore
-+++ b/.gitignore
-@@ -29,6 +29,7 @@
- *.ilk
- *.bsc
- *.pch
-+*.opensdf
- *.tar
- *.gz
- *.tgz
-@@ -50,6 +51,7 @@ TAGS
- *.unsuccessfulbuild
- *.cache
- *.lastbuildstate
-+*.sdf
-
- /w32/Library/lastversion
- /w32/Library/tmpVersion.Bat
-@@ -81,9 +83,9 @@ TAGS
- /tone2wav
-
- /All/
--/Debug/
-+Debug/
- /bin/
--/Release/
-+Release/
- /ipch/
- /*.log
-
-@@ -165,63 +167,18 @@ TAGS
- /src/mod/say/mod_say_zh/Makefile
-
- BuildLog.htm
--/w32/Console/Debug/
--/w32/Console/Release/
--/w32/Library/Debug/
--/w32/Library/Release/
-
--Freeswitch.2010.sdf
-+Win32/
-+win32/
-+!/libs/win32/
-+*.suo
-+*.sdf
-+x64/
-+ipch/
-
--/Win32/
--/x64/
-
--src/mod/codecs/mod_celt/*/*/mod_celt.log
--src/mod/endpoints/mod_skinny/*/*/mod_skinny_2010.log
--src/mod/formats/mod_shout/*/*/mod_shout.log
-+/libs/xmlrpc-c/tools/xml-rpc-api2txt
-
- /w32/Setup/obj
--/src/mod/asr_tts/mod_pocketsphinx/x64/Debug/mod_pocketsphinx_manifest.rc
--/src/mod/endpoints/mod_h323/x64/Debug/mod_h323_manifest.rc
--/src/mod/endpoints/mod_rtmp/Win32/Debug/mod_rtmp_2010.log
--/src/mod/endpoints/mod_rtmp/Win32/Release/mod_rtmp_2010.log
--/src/mod/endpoints/mod_rtmp/x64/Debug/mod_rtmp_2010.log
--/src/mod/endpoints/mod_rtmp/x64/Debug/mod_rtmp_manifest.rc
--/src/mod/endpoints/mod_rtmp/x64/Release/mod_rtmp_2010.log
--/src/mod/endpoints/mod_skinny/x64/Debug/mod_skinny_manifest.rc
--/src/mod/languages/mod_managed/x64/Debug_CLR/FREESWITCH.MANAGED.DLL.metagen
--/src/mod/languages/mod_managed/x64/Debug_CLR/RSAENH.DLL.bi
--/src/mod/languages/mod_managed/x64/Debug_CLR/TZRES.DLL.bi
--/w32/Library/x64/Debug/FreeSwitch_manifest.rc
--/src/mod/endpoints/mod_h323/Win32/Debug/mod_h323_manifest.rc
--/src/mod/endpoints/mod_rtmp/Win32/Debug/mod_rtmp_manifest.rc
--/src/mod/endpoints/mod_skinny/Win32/Debug/mod_skinny_manifest.rc
--/src/mod/languages/mod_managed/Win32/Debug_CLR/FREESWITCH.MANAGED.DLL.metagen
--/src/mod/languages/mod_managed/Win32/Debug_CLR/RSAENH.DLL.bi
--/src/mod/languages/mod_managed/Win32/Debug_CLR/TZRES.DLL.bi
--/w32/Library/Win32/Debug/FreeSwitch_manifest.rc
--/src/mod/languages/mod_managed/Win32/Release_CLR/FREESWITCH.MANAGED.DLL.metagen
--/src/mod/languages/mod_managed/Win32/Release_CLR/RSAENH.DLL.bi
--/src/mod/languages/mod_managed/Win32/Release_CLR/TZRES.DLL.bi
--/src/mod/languages/mod_managed/x64/Release_CLR/FREESWITCH.MANAGED.DLL.metagen
--/src/mod/languages/mod_managed/x64/Release_CLR/RSAENH.DLL.bi
--/src/mod/languages/mod_managed/x64/Release_CLR/TZRES.DLL.bi
--libs/apr-util/a.out.dSYM/Contents/Info.plist
--libs/apr-util/a.out.dSYM/Contents/Resources/DWARF/a.out
--libs/apr/a.out.dSYM/Contents/Info.plist
--libs/apr/a.out.dSYM/Contents/Resources/DWARF/a.out
--libs/iksemel/a.out.dSYM/Contents/Info.plist
--libs/iksemel/a.out.dSYM/Contents/Resources/DWARF/a.out
--libs/ilbc/a.out.dSYM/Contents/Info.plist
--libs/ilbc/a.out.dSYM/Contents/Resources/DWARF/a.out
--libs/libedit/a.out.dSYM/Contents/Info.plist
--libs/libedit/a.out.dSYM/Contents/Resources/DWARF/a.out
--libs/pcre/a.out.dSYM/Contents/Info.plist
--libs/pcre/a.out.dSYM/Contents/Resources/DWARF/a.out
--libs/sqlite/lemon.dSYM/Contents/Info.plist
--libs/sqlite/lemon.dSYM/Contents/Resources/DWARF/lemon
--libs/sqlite/mkkeywordhash.dSYM/Contents/Info.plist
--libs/sqlite/mkkeywordhash.dSYM/Contents/Resources/DWARF/mkkeywordhash
--libs/sqlite/sqlite3.dSYM/Contents/Info.plist
--libs/sqlite/sqlite3.dSYM/Contents/Resources/DWARF/sqlite3
--libs/srtp/a.out.dSYM/Contents/Info.plist
--libs/srtp/a.out.dSYM/Contents/Resources/DWARF/a.out
-+*dSYM*
-+/libs/xmlrpc-c/lib/expat/xmltok/nametab.h
-diff --git a/Freeswitch.2008.sln b/Freeswitch.2008.sln
-index 62b2459..edb049f 100644
---- a/Freeswitch.2008.sln
-+++ b/Freeswitch.2008.sln
-@@ -281,12 +281,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_console", "src\mod\logg
- EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_xml_rpc", "src\mod\xml_int\mod_xml_rpc\mod_xml_rpc.2008.vcproj", "{CBEC7225-0C21-4DA8-978E-1F158F8AD950}"
- ProjectSection(ProjectDependencies) = postProject
-- {0D108721-EAE8-4BAF-8102-D8960EC93647} = {0D108721-EAE8-4BAF-8102-D8960EC93647}
-- {B535402E-38D2-4D54-8360-423ACBD17192} = {B535402E-38D2-4D54-8360-423ACBD17192}
- {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
-- {87EE9DA4-DE1E-4448-8324-183C98DCA588} = {87EE9DA4-DE1E-4448-8324-183C98DCA588}
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA} = {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9} = {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}
-+ {2390F054-A7F1-4CB9-ACB0-F46EC6E77B5B} = {2390F054-A7F1-4CB9-ACB0-F46EC6E77B5B}
-+ {A4D67895-E709-40C7-82B6-DE1D12DDDE04} = {A4D67895-E709-40C7-82B6-DE1D12DDDE04}
-+ {510BDAA8-C04D-47DB-8482-E6AF380D3E07} = {510BDAA8-C04D-47DB-8482-E6AF380D3E07}
-+ {E5A9BCDA-B82D-4B08-B23E-9A782E367888} = {E5A9BCDA-B82D-4B08-B23E-9A782E367888}
-+ {3CF7C0E0-07C2-473A-A1E4-2274AEEC1268} = {3CF7C0E0-07C2-473A-A1E4-2274AEEC1268}
- EndProjectSection
- EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_rss", "src\mod\applications\mod_rss\mod_rss.2008.vcproj", "{B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}"
-@@ -549,14 +549,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_lua", "src\mod\language
- {D0B36172-CD76-454A-9B89-990025266C2A} = {D0B36172-CD76-454A-9B89-990025266C2A}
- EndProjectSection
- EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "abyss", "libs\xmlrpc-c\Windows\abyss.2008.vcproj", "{D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmlrpc", "libs\xmlrpc-c\Windows\xmlrpc.2008.vcproj", "{CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmlparse", "libs\xmlrpc-c\Windows\xmlparse.2008.vcproj", "{0D108721-EAE8-4BAF-8102-D8960EC93647}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmltok", "libs\xmlrpc-c\Windows\xmltok.2008.vcproj", "{B535402E-38D2-4D54-8360-423ACBD17192}"
--EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download sphinxbase", "libs\win32\Download sphinxbase.2008.vcproj", "{4F92B672-DADB-4047-8D6A-4BB3796733FD}"
- EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download sphinxmodel", "libs\win32\Download sphinxmodel.2008.vcproj", "{2DEE4895-1134-439C-B688-52203E57D878}"
-@@ -968,6 +960,21 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libjpeg", "libs\win32\libjp
- EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download libjpeg", "libs\win32\Download libjpeg.2008.vcproj", "{21A7DA70-555E-49FA-942B-D84A38B61243}"
- EndProject
-+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "xmlrpc-c", "xmlrpc-c", "{3783935D-7C0A-4166-A376-C3D8E64F3A9C}"
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "abyss", "libs\win32\xmlrpc-c\abyss.2008.vcproj", "{A4D67895-E709-40C7-82B6-DE1D12DDDE04}"
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gennmtab", "libs\win32\xmlrpc-c\gennmtab.2008.vcproj", "{2390F054-A7F1-4CB9-ACB0-F46EC6E77B5B}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {E5A9BCDA-B82D-4B08-B23E-9A782E367888} = {E5A9BCDA-B82D-4B08-B23E-9A782E367888}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmlparse", "libs\win32\xmlrpc-c\xmlparse.2008.vcproj", "{E5A9BCDA-B82D-4B08-B23E-9A782E367888}"
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmlrpc", "libs\win32\xmlrpc-c\xmlrpc.2008.vcproj", "{510BDAA8-C04D-47DB-8482-E6AF380D3E07}"
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmltok", "libs\win32\xmlrpc-c\xmltok.2008.vcproj", "{3CF7C0E0-07C2-473A-A1E4-2274AEEC1268}"
-+EndProject
- Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- All|Win32 = All|Win32
-@@ -1728,50 +1735,6 @@ Global
- {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|Win32.Build.0 = Release|Win32
- {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|x64.ActiveCfg = Release|x64
- {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|x64.Build.0 = Release|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.All|Win32.ActiveCfg = Release|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.All|x64.ActiveCfg = Release|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.All|x64.Build.0 = Release|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|Win32.ActiveCfg = Debug|Win32
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|Win32.Build.0 = Debug|Win32
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|x64.ActiveCfg = Debug|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|x64.Build.0 = Debug|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|Win32.ActiveCfg = Release|Win32
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|Win32.Build.0 = Release|Win32
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|x64.ActiveCfg = Release|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|x64.Build.0 = Release|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.All|Win32.ActiveCfg = Release|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.All|x64.ActiveCfg = Release|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.All|x64.Build.0 = Release|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|Win32.ActiveCfg = Debug|Win32
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|Win32.Build.0 = Debug|Win32
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|x64.ActiveCfg = Debug|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|x64.Build.0 = Debug|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|Win32.ActiveCfg = Release|Win32
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|Win32.Build.0 = Release|Win32
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|x64.ActiveCfg = Release|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|x64.Build.0 = Release|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.All|Win32.ActiveCfg = Debug|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.All|x64.ActiveCfg = Debug|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.All|x64.Build.0 = Debug|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|Win32.ActiveCfg = Debug|Win32
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|Win32.Build.0 = Debug|Win32
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|x64.ActiveCfg = Debug|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|x64.Build.0 = Debug|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|Win32.ActiveCfg = Release|Win32
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|Win32.Build.0 = Release|Win32
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|x64.ActiveCfg = Release|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|x64.Build.0 = Release|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.All|Win32.ActiveCfg = Release|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.All|x64.ActiveCfg = Release|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.All|x64.Build.0 = Release|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|Win32.ActiveCfg = Debug|Win32
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|Win32.Build.0 = Debug|Win32
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|x64.ActiveCfg = Debug|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|x64.Build.0 = Debug|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Release|Win32.ActiveCfg = Release|Win32
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Release|Win32.Build.0 = Release|Win32
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Release|x64.ActiveCfg = Release|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Release|x64.Build.0 = Release|x64
- {4F92B672-DADB-4047-8D6A-4BB3796733FD}.All|Win32.ActiveCfg = Release|Win32
- {4F92B672-DADB-4047-8D6A-4BB3796733FD}.All|Win32.Build.0 = Release|Win32
- {4F92B672-DADB-4047-8D6A-4BB3796733FD}.All|x64.ActiveCfg = Release|Win32
-@@ -2749,6 +2712,61 @@ Global
- {21A7DA70-555E-49FA-942B-D84A38B61243}.Release|Win32.Build.0 = Release|Win32
- {21A7DA70-555E-49FA-942B-D84A38B61243}.Release|x64.ActiveCfg = Release|Win32
- {21A7DA70-555E-49FA-942B-D84A38B61243}.Release|x64.Build.0 = Release|Win32
-+ {A4D67895-E709-40C7-82B6-DE1D12DDDE04}.All|Win32.ActiveCfg = Release|x64
-+ {A4D67895-E709-40C7-82B6-DE1D12DDDE04}.All|x64.ActiveCfg = Release|x64
-+ {A4D67895-E709-40C7-82B6-DE1D12DDDE04}.All|x64.Build.0 = Release|x64
-+ {A4D67895-E709-40C7-82B6-DE1D12DDDE04}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {A4D67895-E709-40C7-82B6-DE1D12DDDE04}.Debug|Win32.Build.0 = Debug|Win32
-+ {A4D67895-E709-40C7-82B6-DE1D12DDDE04}.Debug|x64.ActiveCfg = Debug|x64
-+ {A4D67895-E709-40C7-82B6-DE1D12DDDE04}.Debug|x64.Build.0 = Debug|x64
-+ {A4D67895-E709-40C7-82B6-DE1D12DDDE04}.Release|Win32.ActiveCfg = Release|Win32
-+ {A4D67895-E709-40C7-82B6-DE1D12DDDE04}.Release|Win32.Build.0 = Release|Win32
-+ {A4D67895-E709-40C7-82B6-DE1D12DDDE04}.Release|x64.ActiveCfg = Release|x64
-+ {A4D67895-E709-40C7-82B6-DE1D12DDDE04}.Release|x64.Build.0 = Release|x64
-+ {2390F054-A7F1-4CB9-ACB0-F46EC6E77B5B}.All|Win32.ActiveCfg = Release|x64
-+ {2390F054-A7F1-4CB9-ACB0-F46EC6E77B5B}.All|x64.ActiveCfg = Release|x64
-+ {2390F054-A7F1-4CB9-ACB0-F46EC6E77B5B}.All|x64.Build.0 = Release|x64
-+ {2390F054-A7F1-4CB9-ACB0-F46EC6E77B5B}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {2390F054-A7F1-4CB9-ACB0-F46EC6E77B5B}.Debug|Win32.Build.0 = Debug|Win32
-+ {2390F054-A7F1-4CB9-ACB0-F46EC6E77B5B}.Debug|x64.ActiveCfg = Debug|x64
-+ {2390F054-A7F1-4CB9-ACB0-F46EC6E77B5B}.Debug|x64.Build.0 = Debug|x64
-+ {2390F054-A7F1-4CB9-ACB0-F46EC6E77B5B}.Release|Win32.ActiveCfg = Release|Win32
-+ {2390F054-A7F1-4CB9-ACB0-F46EC6E77B5B}.Release|Win32.Build.0 = Release|Win32
-+ {2390F054-A7F1-4CB9-ACB0-F46EC6E77B5B}.Release|x64.ActiveCfg = Release|x64
-+ {2390F054-A7F1-4CB9-ACB0-F46EC6E77B5B}.Release|x64.Build.0 = Release|x64
-+ {E5A9BCDA-B82D-4B08-B23E-9A782E367888}.All|Win32.ActiveCfg = Debug|x64
-+ {E5A9BCDA-B82D-4B08-B23E-9A782E367888}.All|x64.ActiveCfg = Debug|x64
-+ {E5A9BCDA-B82D-4B08-B23E-9A782E367888}.All|x64.Build.0 = Debug|x64
-+ {E5A9BCDA-B82D-4B08-B23E-9A782E367888}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {E5A9BCDA-B82D-4B08-B23E-9A782E367888}.Debug|Win32.Build.0 = Debug|Win32
-+ {E5A9BCDA-B82D-4B08-B23E-9A782E367888}.Debug|x64.ActiveCfg = Debug|x64
-+ {E5A9BCDA-B82D-4B08-B23E-9A782E367888}.Debug|x64.Build.0 = Debug|x64
-+ {E5A9BCDA-B82D-4B08-B23E-9A782E367888}.Release|Win32.ActiveCfg = Release|Win32
-+ {E5A9BCDA-B82D-4B08-B23E-9A782E367888}.Release|Win32.Build.0 = Release|Win32
-+ {E5A9BCDA-B82D-4B08-B23E-9A782E367888}.Release|x64.ActiveCfg = Release|x64
-+ {E5A9BCDA-B82D-4B08-B23E-9A782E367888}.Release|x64.Build.0 = Release|x64
-+ {510BDAA8-C04D-47DB-8482-E6AF380D3E07}.All|Win32.ActiveCfg = Release|x64
-+ {510BDAA8-C04D-47DB-8482-E6AF380D3E07}.All|x64.ActiveCfg = Release|x64
-+ {510BDAA8-C04D-47DB-8482-E6AF380D3E07}.All|x64.Build.0 = Release|x64
-+ {510BDAA8-C04D-47DB-8482-E6AF380D3E07}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {510BDAA8-C04D-47DB-8482-E6AF380D3E07}.Debug|Win32.Build.0 = Debug|Win32
-+ {510BDAA8-C04D-47DB-8482-E6AF380D3E07}.Debug|x64.ActiveCfg = Debug|x64
-+ {510BDAA8-C04D-47DB-8482-E6AF380D3E07}.Debug|x64.Build.0 = Debug|x64
-+ {510BDAA8-C04D-47DB-8482-E6AF380D3E07}.Release|Win32.ActiveCfg = Release|Win32
-+ {510BDAA8-C04D-47DB-8482-E6AF380D3E07}.Release|Win32.Build.0 = Release|Win32
-+ {510BDAA8-C04D-47DB-8482-E6AF380D3E07}.Release|x64.ActiveCfg = Release|x64
-+ {510BDAA8-C04D-47DB-8482-E6AF380D3E07}.Release|x64.Build.0 = Release|x64
-+ {3CF7C0E0-07C2-473A-A1E4-2274AEEC1268}.All|Win32.ActiveCfg = Release|x64
-+ {3CF7C0E0-07C2-473A-A1E4-2274AEEC1268}.All|x64.ActiveCfg = Release|x64
-+ {3CF7C0E0-07C2-473A-A1E4-2274AEEC1268}.All|x64.Build.0 = Release|x64
-+ {3CF7C0E0-07C2-473A-A1E4-2274AEEC1268}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {3CF7C0E0-07C2-473A-A1E4-2274AEEC1268}.Debug|Win32.Build.0 = Debug|Win32
-+ {3CF7C0E0-07C2-473A-A1E4-2274AEEC1268}.Debug|x64.ActiveCfg = Debug|x64
-+ {3CF7C0E0-07C2-473A-A1E4-2274AEEC1268}.Debug|x64.Build.0 = Debug|x64
-+ {3CF7C0E0-07C2-473A-A1E4-2274AEEC1268}.Release|Win32.ActiveCfg = Release|Win32
-+ {3CF7C0E0-07C2-473A-A1E4-2274AEEC1268}.Release|Win32.Build.0 = Release|Win32
-+ {3CF7C0E0-07C2-473A-A1E4-2274AEEC1268}.Release|x64.ActiveCfg = Release|x64
-+ {3CF7C0E0-07C2-473A-A1E4-2274AEEC1268}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
-@@ -2846,10 +2864,6 @@ Global
- {70A49BC2-7500-41D0-B75D-EDCC5BE987A0} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {0A18A071-125E-442F-AFF7-A3F68ABECF99} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
-- {0D108721-EAE8-4BAF-8102-D8960EC93647} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
-- {B535402E-38D2-4D54-8360-423ACBD17192} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {2F025EAD-99BD-40F5-B2CC-F0A28CAD7F2D} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {94001A0E-A837-445C-8004-F918F10D0226} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {0AD1177E-1FD8-4643-9391-431467A11084} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
-@@ -2876,6 +2890,7 @@ Global
- {23B4D303-79FC-49E0-89E2-2280E7E28940} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {26C82FCE-E0CF-4D10-A00C-D8E582FFEB53} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {FE02CD06-DD97-489C-8F61-B5E7F89BCC0A} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
-+ {3783935D-7C0A-4166-A376-C3D8E64F3A9C} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A} = {C120A020-773F-4EA3-923F-B67AF28B750D}
- {4F92B672-DADB-4047-8D6A-4BB3796733FD} = {C120A020-773F-4EA3-923F-B67AF28B750D}
- {2DEE4895-1134-439C-B688-52203E57D878} = {C120A020-773F-4EA3-923F-B67AF28B750D}
-@@ -2937,5 +2952,10 @@ Global
- {D331904D-A00A-4694-A5A3-FCFF64AB5DBE} = {B376D494-D7DD-4B2A-99E2-52916D5A8CD8}
- {B4B62169-5AD4-4559-8707-3D933AC5DB39} = {B376D494-D7DD-4B2A-99E2-52916D5A8CD8}
- {25BD39B1-C8BF-4676-A738-9CABD9C6BC79} = {B376D494-D7DD-4B2A-99E2-52916D5A8CD8}
-+ {A4D67895-E709-40C7-82B6-DE1D12DDDE04} = {3783935D-7C0A-4166-A376-C3D8E64F3A9C}
-+ {2390F054-A7F1-4CB9-ACB0-F46EC6E77B5B} = {3783935D-7C0A-4166-A376-C3D8E64F3A9C}
-+ {E5A9BCDA-B82D-4B08-B23E-9A782E367888} = {3783935D-7C0A-4166-A376-C3D8E64F3A9C}
-+ {510BDAA8-C04D-47DB-8482-E6AF380D3E07} = {3783935D-7C0A-4166-A376-C3D8E64F3A9C}
-+ {3CF7C0E0-07C2-473A-A1E4-2274AEEC1268} = {3783935D-7C0A-4166-A376-C3D8E64F3A9C}
- EndGlobalSection
- EndGlobal
-diff --git a/Freeswitch.2010.sln b/Freeswitch.2010.sln
-index fd8eda1..c232e9a 100644
---- a/Freeswitch.2010.sln
-+++ b/Freeswitch.2010.sln
-@@ -315,14 +315,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_spidermonkey_curl", "sr
- EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_lua", "src\mod\languages\mod_lua\mod_lua.2010.vcxproj", "{7B077E7F-1BE7-4291-AB86-55E527B25CAC}"
- EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "abyss", "libs\xmlrpc-c\Windows\abyss.2010.vcxproj", "{D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmlrpc", "libs\xmlrpc-c\Windows\xmlrpc.2010.vcxproj", "{CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmlparse", "libs\xmlrpc-c\Windows\xmlparse.2010.vcxproj", "{0D108721-EAE8-4BAF-8102-D8960EC93647}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmltok", "libs\xmlrpc-c\Windows\xmltok.2010.vcxproj", "{B535402E-38D2-4D54-8360-423ACBD17192}"
--EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download sphinxbase", "libs\win32\Download sphinxbase.2010.vcxproj", "{4F92B672-DADB-4047-8D6A-4BB3796733FD}"
- EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download sphinxmodel", "libs\win32\Download sphinxmodel.2010.vcxproj", "{2DEE4895-1134-439C-B688-52203E57D878}"
-@@ -529,6 +521,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_abstraction", "src\mod\
- EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_sms", "src\mod\applications\mod_sms\mod_sms.2010.vcxproj", "{2469B306-B027-4FF2-8815-C9C1EA2CAE79}"
- EndProject
-+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "xmlrpc-c", "xmlrpc-c", "{9DE35039-A8F6-4FBF-B1B6-EB527F802411}"
-+EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gsmlib", "src\mod\endpoints\mod_gsmopen\gsmlib\gsmlib-1.10-patched-13ubuntu\win32\gsmlib.2010.vcxproj", "{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}"
- EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_gsmopen", "src\mod\endpoints\mod_gsmopen\mod_gsmopen.2010.vcxproj", "{74B120FF-6935-4DFE-A142-CDB6BEA99C90}"
-@@ -544,6 +538,31 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libjpeg", "libs\win32\libjp
- {652AD5F7-8488-489F-AAD0-7FBE064703B6} = {652AD5F7-8488-489F-AAD0-7FBE064703B6}
- EndProjectSection
- EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "abyss", "libs\win32\xmlrpc-c\abyss.2010.vcxproj", "{D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647} = {0D108721-EAE8-4BAF-8102-D8960EC93647}
-+ {B535402E-38D2-4D54-8360-423ACBD17192} = {B535402E-38D2-4D54-8360-423ACBD17192}
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA} = {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gennmtab", "libs\win32\xmlrpc-c\gennmtab.2010.vcxproj", "{BED7539C-0099-4A14-AD5D-30828F15A171}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647} = {0D108721-EAE8-4BAF-8102-D8960EC93647}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmlparse", "libs\win32\xmlrpc-c\xmlparse.2010.vcxproj", "{0D108721-EAE8-4BAF-8102-D8960EC93647}"
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmlrpc", "libs\win32\xmlrpc-c\xmlrpc.2010.vcxproj", "{CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647} = {0D108721-EAE8-4BAF-8102-D8960EC93647}
-+ {B535402E-38D2-4D54-8360-423ACBD17192} = {B535402E-38D2-4D54-8360-423ACBD17192}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmltok", "libs\win32\xmlrpc-c\xmltok.2010.vcxproj", "{B535402E-38D2-4D54-8360-423ACBD17192}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {BED7539C-0099-4A14-AD5D-30828F15A171} = {BED7539C-0099-4A14-AD5D-30828F15A171}
-+ EndProjectSection
-+EndProject
- Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- All|Win32 = All|Win32
-@@ -1826,78 +1845,6 @@ Global
- {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|x64.Build.0 = Release|x64
- {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|x64 Setup.ActiveCfg = Release|x64
- {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|x86 Setup.ActiveCfg = Release|Win32
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.All|Win32.ActiveCfg = Release|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.All|x64.ActiveCfg = Release|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.All|x64.Build.0 = Release|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.All|x64 Setup.ActiveCfg = Release|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.All|x64 Setup.Build.0 = Release|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.All|x86 Setup.ActiveCfg = Release|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|Win32.ActiveCfg = Debug|Win32
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|Win32.Build.0 = Debug|Win32
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|x64.ActiveCfg = Debug|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|x64.Build.0 = Debug|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|x64 Setup.ActiveCfg = Debug|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|x86 Setup.ActiveCfg = Debug|Win32
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|Win32.ActiveCfg = Release|Win32
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|Win32.Build.0 = Release|Win32
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|x64.ActiveCfg = Release|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|x64.Build.0 = Release|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|x64 Setup.ActiveCfg = Release|x64
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|x86 Setup.ActiveCfg = Release|Win32
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.All|Win32.ActiveCfg = Release|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.All|x64.ActiveCfg = Release|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.All|x64.Build.0 = Release|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.All|x64 Setup.ActiveCfg = Release|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.All|x64 Setup.Build.0 = Release|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.All|x86 Setup.ActiveCfg = Release|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|Win32.ActiveCfg = Debug|Win32
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|Win32.Build.0 = Debug|Win32
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|x64.ActiveCfg = Debug|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|x64.Build.0 = Debug|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|x64 Setup.ActiveCfg = Debug|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|x86 Setup.ActiveCfg = Debug|Win32
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|Win32.ActiveCfg = Release|Win32
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|Win32.Build.0 = Release|Win32
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|x64.ActiveCfg = Release|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|x64.Build.0 = Release|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|x64 Setup.ActiveCfg = Release|x64
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|x86 Setup.ActiveCfg = Release|Win32
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.All|Win32.ActiveCfg = Debug|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.All|x64.ActiveCfg = Debug|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.All|x64.Build.0 = Debug|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.All|x64 Setup.ActiveCfg = Debug|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.All|x64 Setup.Build.0 = Debug|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.All|x86 Setup.ActiveCfg = Debug|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|Win32.ActiveCfg = Debug|Win32
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|Win32.Build.0 = Debug|Win32
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|x64.ActiveCfg = Debug|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|x64.Build.0 = Debug|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|x64 Setup.ActiveCfg = Debug|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|x86 Setup.ActiveCfg = Debug|Win32
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|Win32.ActiveCfg = Release|Win32
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|Win32.Build.0 = Release|Win32
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|x64.ActiveCfg = Release|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|x64.Build.0 = Release|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|x64 Setup.ActiveCfg = Release|x64
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|x86 Setup.ActiveCfg = Release|Win32
-- {B535402E-38D2-4D54-8360-423ACBD17192}.All|Win32.ActiveCfg = Release|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.All|x64.ActiveCfg = Release|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.All|x64.Build.0 = Release|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.All|x64 Setup.ActiveCfg = Release|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.All|x64 Setup.Build.0 = Release|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.All|x86 Setup.ActiveCfg = Release|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|Win32.ActiveCfg = Debug|Win32
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|Win32.Build.0 = Debug|Win32
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|x64.ActiveCfg = Debug|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|x64.Build.0 = Debug|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|x64 Setup.ActiveCfg = Debug|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|x86 Setup.ActiveCfg = Debug|Win32
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Release|Win32.ActiveCfg = Release|Win32
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Release|Win32.Build.0 = Release|Win32
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Release|x64.ActiveCfg = Release|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Release|x64.Build.0 = Release|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Release|x64 Setup.ActiveCfg = Release|x64
-- {B535402E-38D2-4D54-8360-423ACBD17192}.Release|x86 Setup.ActiveCfg = Release|Win32
- {4F92B672-DADB-4047-8D6A-4BB3796733FD}.All|Win32.ActiveCfg = Release|Win32
- {4F92B672-DADB-4047-8D6A-4BB3796733FD}.All|Win32.Build.0 = Release|Win32
- {4F92B672-DADB-4047-8D6A-4BB3796733FD}.All|x64.ActiveCfg = Release|Win32
-@@ -3718,6 +3665,91 @@ Global
- {019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1}.Release|x64.Build.0 = Release|x64
- {019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1}.Release|x64 Setup.ActiveCfg = Release|Win32
- {019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1}.Release|x86 Setup.ActiveCfg = Release|Win32
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.All|Win32.ActiveCfg = Release|x64
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.All|x64.ActiveCfg = Release|x64
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.All|x64.Build.0 = Release|x64
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.All|x64 Setup.ActiveCfg = Release|x64
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.All|x86 Setup.ActiveCfg = Release|x64
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|Win32.Build.0 = Debug|Win32
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|x64.ActiveCfg = Debug|x64
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|x64.Build.0 = Debug|x64
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|x64 Setup.ActiveCfg = Debug|x64
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|x86 Setup.ActiveCfg = Debug|x64
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|Win32.ActiveCfg = Release|Win32
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|Win32.Build.0 = Release|Win32
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|x64.ActiveCfg = Release|x64
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|x64.Build.0 = Release|x64
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|x64 Setup.ActiveCfg = Release|x64
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|x86 Setup.ActiveCfg = Release|x64
-+ {BED7539C-0099-4A14-AD5D-30828F15A171}.All|Win32.ActiveCfg = Release|x64
-+ {BED7539C-0099-4A14-AD5D-30828F15A171}.All|x64.ActiveCfg = Release|x64
-+ {BED7539C-0099-4A14-AD5D-30828F15A171}.All|x64.Build.0 = Release|x64
-+ {BED7539C-0099-4A14-AD5D-30828F15A171}.All|x64 Setup.ActiveCfg = Release|x64
-+ {BED7539C-0099-4A14-AD5D-30828F15A171}.All|x86 Setup.ActiveCfg = Release|x64
-+ {BED7539C-0099-4A14-AD5D-30828F15A171}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {BED7539C-0099-4A14-AD5D-30828F15A171}.Debug|Win32.Build.0 = Debug|Win32
-+ {BED7539C-0099-4A14-AD5D-30828F15A171}.Debug|x64.ActiveCfg = Debug|x64
-+ {BED7539C-0099-4A14-AD5D-30828F15A171}.Debug|x64.Build.0 = Debug|x64
-+ {BED7539C-0099-4A14-AD5D-30828F15A171}.Debug|x64 Setup.ActiveCfg = Debug|x64
-+ {BED7539C-0099-4A14-AD5D-30828F15A171}.Debug|x86 Setup.ActiveCfg = Debug|x64
-+ {BED7539C-0099-4A14-AD5D-30828F15A171}.Release|Win32.ActiveCfg = Release|Win32
-+ {BED7539C-0099-4A14-AD5D-30828F15A171}.Release|Win32.Build.0 = Release|Win32
-+ {BED7539C-0099-4A14-AD5D-30828F15A171}.Release|x64.ActiveCfg = Release|x64
-+ {BED7539C-0099-4A14-AD5D-30828F15A171}.Release|x64.Build.0 = Release|x64
-+ {BED7539C-0099-4A14-AD5D-30828F15A171}.Release|x64 Setup.ActiveCfg = Release|x64
-+ {BED7539C-0099-4A14-AD5D-30828F15A171}.Release|x86 Setup.ActiveCfg = Release|x64
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647}.All|Win32.ActiveCfg = Release|x64
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647}.All|x64.ActiveCfg = Release|x64
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647}.All|x64.Build.0 = Release|x64
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647}.All|x64 Setup.ActiveCfg = Release|x64
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647}.All|x86 Setup.ActiveCfg = Release|x64
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|Win32.Build.0 = Debug|Win32
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|x64.ActiveCfg = Debug|x64
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|x64.Build.0 = Debug|x64
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|x64 Setup.ActiveCfg = Debug|x64
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|x86 Setup.ActiveCfg = Debug|x64
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|Win32.ActiveCfg = Release|Win32
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|Win32.Build.0 = Release|Win32
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|x64.ActiveCfg = Release|x64
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|x64.Build.0 = Release|x64
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|x64 Setup.ActiveCfg = Release|x64
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|x86 Setup.ActiveCfg = Release|x64
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.All|Win32.ActiveCfg = Release|x64
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.All|x64.ActiveCfg = Release|x64
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.All|x64.Build.0 = Release|x64
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.All|x64 Setup.ActiveCfg = Release|x64
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.All|x86 Setup.ActiveCfg = Release|x64
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|Win32.Build.0 = Debug|Win32
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|x64.ActiveCfg = Debug|x64
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|x64.Build.0 = Debug|x64
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|x64 Setup.ActiveCfg = Debug|x64
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|x86 Setup.ActiveCfg = Debug|x64
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|Win32.ActiveCfg = Release|Win32
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|Win32.Build.0 = Release|Win32
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|x64.ActiveCfg = Release|x64
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|x64.Build.0 = Release|x64
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|x64 Setup.ActiveCfg = Release|x64
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|x86 Setup.ActiveCfg = Release|x64
-+ {B535402E-38D2-4D54-8360-423ACBD17192}.All|Win32.ActiveCfg = Release|x64
-+ {B535402E-38D2-4D54-8360-423ACBD17192}.All|x64.ActiveCfg = Release|x64
-+ {B535402E-38D2-4D54-8360-423ACBD17192}.All|x64.Build.0 = Release|x64
-+ {B535402E-38D2-4D54-8360-423ACBD17192}.All|x64 Setup.ActiveCfg = Release|x64
-+ {B535402E-38D2-4D54-8360-423ACBD17192}.All|x86 Setup.ActiveCfg = Release|x64
-+ {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|Win32.Build.0 = Debug|Win32
-+ {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|x64.ActiveCfg = Debug|x64
-+ {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|x64.Build.0 = Debug|x64
-+ {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|x64 Setup.ActiveCfg = Debug|x64
-+ {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|x86 Setup.ActiveCfg = Debug|x64
-+ {B535402E-38D2-4D54-8360-423ACBD17192}.Release|Win32.ActiveCfg = Release|Win32
-+ {B535402E-38D2-4D54-8360-423ACBD17192}.Release|Win32.Build.0 = Release|Win32
-+ {B535402E-38D2-4D54-8360-423ACBD17192}.Release|x64.ActiveCfg = Release|x64
-+ {B535402E-38D2-4D54-8360-423ACBD17192}.Release|x64.Build.0 = Release|x64
-+ {B535402E-38D2-4D54-8360-423ACBD17192}.Release|x64 Setup.ActiveCfg = Release|x64
-+ {B535402E-38D2-4D54-8360-423ACBD17192}.Release|x86 Setup.ActiveCfg = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
-@@ -3804,10 +3836,6 @@ Global
- {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {4043FC6A-9A30-4577-8AD5-9B233C9575D8} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {0A18A071-125E-442F-AFF7-A3F68ABECF99} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
-- {0D108721-EAE8-4BAF-8102-D8960EC93647} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
-- {B535402E-38D2-4D54-8360-423ACBD17192} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {2F025EAD-99BD-40F5-B2CC-F0A28CAD7F2D} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {94001A0E-A837-445C-8004-F918F10D0226} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {0AD1177E-1FD8-4643-9391-431467A11084} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
-@@ -3832,6 +3860,7 @@ Global
- {E4D29906-8B73-4F8A-B5F4-CA8BFA648F5A} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {70A49BC2-7500-41D0-B75D-EDCC5BE987A0} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {23B4D303-79FC-49E0-89E2-2280E7E28940} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
-+ {9DE35039-A8F6-4FBF-B1B6-EB527F802411} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {26C82FCE-E0CF-4D10-A00C-D8E582FFEB53} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {C13CC324-0032-4492-9A30-310A6BD64FF5} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
-@@ -3917,5 +3946,10 @@ Global
- {D331904D-A00A-4694-A5A3-FCFF64AB5DBE} = {E4D29906-8B73-4F8A-B5F4-CA8BFA648F5A}
- {B4B62169-5AD4-4559-8707-3D933AC5DB39} = {E4D29906-8B73-4F8A-B5F4-CA8BFA648F5A}
- {25BD39B1-C8BF-4676-A738-9CABD9C6BC79} = {E4D29906-8B73-4F8A-B5F4-CA8BFA648F5A}
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9} = {9DE35039-A8F6-4FBF-B1B6-EB527F802411}
-+ {BED7539C-0099-4A14-AD5D-30828F15A171} = {9DE35039-A8F6-4FBF-B1B6-EB527F802411}
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647} = {9DE35039-A8F6-4FBF-B1B6-EB527F802411}
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA} = {9DE35039-A8F6-4FBF-B1B6-EB527F802411}
-+ {B535402E-38D2-4D54-8360-423ACBD17192} = {9DE35039-A8F6-4FBF-B1B6-EB527F802411}
- EndGlobalSection
- EndGlobal
-diff --git a/configure.in b/configure.in
-index b8db9bc..89cf47d 100644
---- a/configure.in
-+++ b/configure.in
-@@ -497,9 +497,8 @@ AC_SUBST(LIBTOOL_LIB_EXTEN)
- # Checks for header files.
- AC_HEADER_DIRENT
- AC_HEADER_STDC
--AC_CHECK_HEADERS([sys/types.h sys/resource.h sched.h wchar.h sys/filio.h sys/ioctl.h netdb.h execinfo.h])
-+AC_CHECK_HEADERS([sys/types.h sys/resource.h sched.h wchar.h sys/filio.h sys/ioctl.h sys/select.h netdb.h execinfo.h])
-
--# for xmlrpc-c config.h
- if test x"$ac_cv_header_wchar_h" = xyes; then
- HAVE_WCHAR_H_DEFINE=1
- else
-@@ -507,6 +506,31 @@ else
- fi
- AC_SUBST(HAVE_WCHAR_H_DEFINE)
-
-+# Needed by Abyss on Solaris:
-+
-+if test x"$ac_cv_header_sys_filio_h" = xyes; then
-+ HAVE_SYS_FILIO_H_DEFINE=1
-+else
-+ HAVE_SYS_FILIO_H_DEFINE=0
-+fi
-+AC_SUBST(HAVE_SYS_FILIO_H_DEFINE)
-+
-+# Needed by Abyss on Solaris:
-+
-+if test x"$ac_cv_header_sys_ioctl_h" = xyes; then
-+ HAVE_SYS_IOCTL_H_DEFINE=1
-+else
-+ HAVE_SYS_IOCTL_H_DEFINE=0
-+fi
-+AC_SUBST(HAVE_SYS_IOCTL_H_DEFINE)
-+
-+if test x"$ac_cv_header_sys_select_h" = xyes; then
-+ HAVE_SYS_SELECT_H_DEFINE=1
-+else
-+ HAVE_SYS_SELECT_H_DEFINE=0
-+fi
-+AC_SUBST(HAVE_SYS_SELECT_H_DEFINE)
-+
- # Checks for typedefs, structures, and compiler characteristics.
- AC_C_CONST
- AC_C_INLINE
-@@ -610,6 +634,7 @@ fi
- # xmlrpc-c checks
- #
-
-+AC_CHECK_FUNCS(setenv strtoll strtoull strtoq strtouq __strtoll __strtoull)
-
- HAVE_LIBWWW_SSL_DEFINE=0
- AC_SUBST(HAVE_LIBWWW_SSL_DEFINE)
-@@ -1056,8 +1081,10 @@ AC_CONFIG_FILES([Makefile
- build/getg729.sh
- build/freeswitch.pc
- build/modmake.rules
-- libs/xmlrpc-c/include/xmlrpc-c/config.h
- libs/xmlrpc-c/xmlrpc_config.h
-+ libs/xmlrpc-c/config.mk
-+ libs/xmlrpc-c/srcdir.mk
-+ libs/xmlrpc-c/stamp-h
- scripts/gentls_cert])
-
- AM_CONDITIONAL(ISLINUX, [test `uname -s` = Linux])
-diff --git a/libs/.gitignore b/libs/.gitignore
-index 1bc99bc..ed326e9 100644
---- a/libs/.gitignore
-+++ b/libs/.gitignore
-@@ -884,11 +884,14 @@ opal
- /win32/libshout/*/*/libshout.log
- /win32/pcre/pcre_chartables.c
- /win32/tmp*.bat
--/xmlrpc-c/include/xmlrpc-c/config.h
- !/xmlrpc-c/include/xmlrpc-c/config.h.in
- /xmlrpc-c/stamp-h2
--/xmlrpc-c/xmlrpc_amconfig.h
-+/xmlrpc-c/examples/config.h
-+/xmlrpc-c/include/xmlrpc-c/config.h
-+/xmlrpc-c/transport_config.h
-+/xmlrpc-c/version.h
- /xmlrpc-c/xmlrpc_config.h
-+# /xmlrpc-c/xmlrpc_amconfig.h
- /yaml/
- /yaml/config.h
- /yaml/stamp-h1
-@@ -944,4 +947,3 @@ opal
- !/yaml/config/ltmain.sh
- !/yaml/config/missing
- !/yaml/configure
--
-diff --git a/libs/win32/apr-util/libaprutil.2010.vcxproj.filters b/libs/win32/apr-util/libaprutil.2010.vcxproj.filters
-index 9ba92f9..c7cf5f2 100644
---- a/libs/win32/apr-util/libaprutil.2010.vcxproj.filters
-+++ b/libs/win32/apr-util/libaprutil.2010.vcxproj.filters
-@@ -46,6 +46,9 @@
-
- {ee62af10-73ee-4af5-85d1-442efcd33aa2}
-
-+
-+ {0ea472ce-22be-43c7-b06d-a50dd027a9fe}
-+
-
-
-
-@@ -174,8 +177,8 @@
-
- Source Files\xlate
-
--
--
-+
-+
-
-
- Public Header Files
-diff --git a/libs/win32/xmlrpc-c/abyss.2008.vcproj b/libs/win32/xmlrpc-c/abyss.2008.vcproj
-new file mode 100644
-index 0000000..4ade18c
---- /dev/null
-+++ b/libs/win32/xmlrpc-c/abyss.2008.vcproj
-@@ -0,0 +1,410 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/win32/xmlrpc-c/abyss.2010.vcxproj b/libs/win32/xmlrpc-c/abyss.2010.vcxproj
-new file mode 100644
-index 0000000..e35b99f
---- /dev/null
-+++ b/libs/win32/xmlrpc-c/abyss.2010.vcxproj
-@@ -0,0 +1,197 @@
-+
-+
-+
-+
-+ Debug
-+ Win32
-+
-+
-+ Debug
-+ x64
-+
-+
-+ Release
-+ Win32
-+
-+
-+ Release
-+ x64
-+
-+
-+
-+ abyss
-+ {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}
-+ abyss
-+
-+
-+
-+ StaticLibrary
-+ false
-+ MultiByte
-+
-+
-+ StaticLibrary
-+ false
-+ MultiByte
-+
-+
-+ StaticLibrary
-+ false
-+ MultiByte
-+
-+
-+ StaticLibrary
-+ false
-+ MultiByte
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+ <_ProjectFileVersion>10.0.30319.1
-+ $(PlatformName)\abyss\$(Configuration)\
-+ $(PlatformName)\abyss\$(Configuration)\
-+ $(PlatformName)\abyss\$(Configuration)\
-+ $(PlatformName)\abyss\$(Configuration)\
-+
-+
-+
-+ Disabled
-+ ..\;..\include;..\lib\util\include;.;%(AdditionalIncludeDirectories)
-+ WIN32;_DEBUG;_LIB;ABYSS_WIN32;_THREAD;%(PreprocessorDefinitions)
-+ true
-+ EnableFastChecks
-+ MultiThreadedDebugDLL
-+ Level3
-+ true
-+
-+
-+ _DEBUG;%(PreprocessorDefinitions)
-+ 0x0409
-+
-+
-+ true
-+
-+
-+ true
-+
-+
-+
-+
-+ X64
-+
-+
-+ Disabled
-+ ..\;..\include;..\lib\util\include;.;%(AdditionalIncludeDirectories)
-+ WIN32;_DEBUG;_LIB;ABYSS_WIN32;_THREAD;%(PreprocessorDefinitions)
-+ true
-+ EnableFastChecks
-+ MultiThreadedDebugDLL
-+ Level3
-+ true
-+
-+
-+ _DEBUG;%(PreprocessorDefinitions)
-+ 0x0409
-+
-+
-+ true
-+
-+
-+ true
-+
-+
-+
-+
-+ MaxSpeed
-+ OnlyExplicitInline
-+ ..\;..\include;..\lib\util\include;.;%(AdditionalIncludeDirectories)
-+ WIN32;NDEBUG;_LIB;ABYSS_WIN32;_THREAD;%(PreprocessorDefinitions)
-+ true
-+ MultiThreadedDLL
-+ true
-+ Level3
-+ true
-+
-+
-+ NDEBUG;%(PreprocessorDefinitions)
-+ 0x0409
-+
-+
-+ true
-+
-+
-+ true
-+
-+
-+
-+
-+ X64
-+
-+
-+ MaxSpeed
-+ OnlyExplicitInline
-+ ..\;..\include;..\lib\util\include;.;%(AdditionalIncludeDirectories)
-+ WIN32;NDEBUG;_LIB;ABYSS_WIN32;_THREAD;%(PreprocessorDefinitions)
-+ true
-+ MultiThreadedDLL
-+ true
-+ Level3
-+ true
-+
-+
-+ NDEBUG;%(PreprocessorDefinitions)
-+ 0x0409
-+
-+
-+ true
-+
-+
-+ true
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-\ No newline at end of file
-diff --git a/libs/win32/xmlrpc-c/abyss.2010.vcxproj.filters b/libs/win32/xmlrpc-c/abyss.2010.vcxproj.filters
-new file mode 100644
-index 0000000..f73f272
---- /dev/null
-+++ b/libs/win32/xmlrpc-c/abyss.2010.vcxproj.filters
-@@ -0,0 +1,69 @@
-+
-+
-+
-+
-+ {8ac4971f-a9ba-4930-a7e3-b291ad24d6ca}
-+ cpp;c;cxx;rc;def;r;odl;idl;hpj;bat
-+
-+
-+ {05489d43-6c6b-4bb8-95db-414e8137ee9e}
-+ h;hpp;hxx;hm;inl
-+
-+
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+
-\ No newline at end of file
-diff --git a/libs/win32/xmlrpc-c/gennmtab.2008.vcproj b/libs/win32/xmlrpc-c/gennmtab.2008.vcproj
-new file mode 100644
-index 0000000..a4a5b35
---- /dev/null
-+++ b/libs/win32/xmlrpc-c/gennmtab.2008.vcproj
-@@ -0,0 +1,404 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/win32/xmlrpc-c/gennmtab.2010.vcxproj b/libs/win32/xmlrpc-c/gennmtab.2010.vcxproj
-new file mode 100644
-index 0000000..cb99ac4
---- /dev/null
-+++ b/libs/win32/xmlrpc-c/gennmtab.2010.vcxproj
-@@ -0,0 +1,304 @@
-+
-+
-+
-+
-+ Debug
-+ Win32
-+
-+
-+ Debug
-+ x64
-+
-+
-+ Release
-+ Win32
-+
-+
-+ Release
-+ x64
-+
-+
-+
-+ {BED7539C-0099-4A14-AD5D-30828F15A171}
-+ gennmtab
-+
-+
-+
-+ Application
-+ false
-+
-+
-+ Application
-+ false
-+
-+
-+ Application
-+ false
-+
-+
-+ Application
-+ false
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+ <_ProjectFileVersion>10.0.30319.1
-+ $(PlatformName)\$(Configuration)\
-+ $(PlatformName)\$(Configuration)\
-+ $(PlatformName)\gennmtab\$(Configuration)\
-+ $(PlatformName)\gennmtab\$(Configuration)\
-+ true
-+ true
-+ $(PlatformName)\$(Configuration)\
-+ $(PlatformName)\$(Configuration)\
-+ $(PlatformName)\gennmtab\$(Configuration)\
-+ $(PlatformName)\gennmtab\$(Configuration)\
-+ false
-+ false
-+ AllRules.ruleset
-+ AllRules.ruleset
-+
-+
-+
-+
-+ AllRules.ruleset
-+ AllRules.ruleset
-+
-+
-+
-+
-+ true
-+ true
-+ true
-+ true
-+ Clean
-+ Clean
-+ Clean
-+ Clean
-+
-+
-+
-+ .\Debug\gennmtab/gennmtab.tlb
-+
-+
-+
-+
-+ Disabled
-+ ..;%(AdditionalIncludeDirectories)
-+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
-+ true
-+ MultiThreadedDebug
-+ Level3
-+ true
-+ EditAndContinue
-+
-+
-+
-+
-+ _DEBUG;%(PreprocessorDefinitions)
-+ 0x0809
-+
-+
-+ true
-+ true
-+ Console
-+ false
-+
-+
-+ MachineX86
-+
-+
-+ true
-+ .\Debug\gennmtab/gennmtab.bsc
-+
-+
-+ Generating nametab.h ...
-+ $(OutDir)$(TargetName) > $(XMLRPCDir)lib\expat\xmltok\nametab.h
-+
-+
-+
-+
-+
-+
-+ del $(XMLRPCDir)lib\expat\xmltok\nametab.h
-+
-+
-+ NoOutput
-+
-+
-+
-+
-+ .\Debug\gennmtab/gennmtab.tlb
-+
-+
-+
-+
-+ Disabled
-+ ..;%(AdditionalIncludeDirectories)
-+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
-+ MultiThreadedDebug
-+
-+
-+ Level3
-+ true
-+ ProgramDatabase
-+
-+
-+ _DEBUG;%(PreprocessorDefinitions)
-+ 0x0809
-+
-+
-+ $(OutDir)$(TargetName)$(TargetExt)
-+ true
-+ true
-+ Console
-+ false
-+
-+
-+
-+
-+ true
-+ .\Debug\gennmtab/gennmtab.bsc
-+
-+
-+ Generating nametab.h ...
-+ $(OutDir)$(TargetName) > $(XMLRPCDir)lib\expat\xmltok\nametab.h
-+
-+
-+
-+
-+
-+
-+ del $(XMLRPCDir)lib\expat\xmltok\nametab.h
-+
-+
-+ NoOutput
-+
-+
-+
-+
-+ .\Release\gennmtab/gennmtab.tlb
-+
-+
-+
-+
-+ MaxSpeed
-+ OnlyExplicitInline
-+ ..;%(AdditionalIncludeDirectories)
-+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
-+ true
-+ MultiThreaded
-+ true
-+
-+
-+ Level3
-+ true
-+
-+
-+ NDEBUG;%(PreprocessorDefinitions)
-+ 0x0809
-+
-+
-+ true
-+ Console
-+ false
-+
-+
-+ MachineX86
-+
-+
-+ true
-+ .\Release\gennmtab/gennmtab.bsc
-+
-+
-+ Generating nametab.h ...
-+ $(OutDir)$(TargetName) > $(XMLRPCDir)lib\expat\xmltok\nametab.h
-+
-+
-+
-+
-+
-+
-+ NoOutput
-+ del $(XMLRPCDir)lib\expat\xmltok\nametab.h
-+
-+
-+
-+
-+ .\Release\gennmtab/gennmtab.tlb
-+
-+
-+
-+
-+ MaxSpeed
-+ OnlyExplicitInline
-+ ..;%(AdditionalIncludeDirectories)
-+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
-+ true
-+ MultiThreaded
-+ true
-+
-+
-+ Level3
-+ true
-+
-+
-+ NDEBUG;%(PreprocessorDefinitions)
-+ 0x0809
-+
-+
-+ $(OutDir)$(TargetName)$(TargetExt)
-+ true
-+ Console
-+ false
-+
-+
-+
-+
-+ true
-+ .\Release\gennmtab/gennmtab.bsc
-+
-+
-+ Generating nametab.h ...
-+ $(OutDir)$(TargetName) > $(XMLRPCDir)lib\expat\xmltok\nametab.h
-+
-+
-+
-+
-+
-+
-+ del $(XMLRPCDir)lib\expat\xmltok\nametab.h
-+
-+
-+ NoOutput
-+
-+
-+
-+
-+
-+
-+
-+
-+
-\ No newline at end of file
-diff --git a/libs/win32/xmlrpc-c/xmlparse.2008.vcproj b/libs/win32/xmlrpc-c/xmlparse.2008.vcproj
-new file mode 100644
-index 0000000..009c66a
---- /dev/null
-+++ b/libs/win32/xmlrpc-c/xmlparse.2008.vcproj
-@@ -0,0 +1,394 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/win32/xmlrpc-c/xmlparse.2010.vcxproj b/libs/win32/xmlrpc-c/xmlparse.2010.vcxproj
-new file mode 100644
-index 0000000..4d1b9ce
---- /dev/null
-+++ b/libs/win32/xmlrpc-c/xmlparse.2010.vcxproj
-@@ -0,0 +1,254 @@
-+
-+
-+
-+
-+ Debug
-+ Win32
-+
-+
-+ Debug
-+ x64
-+
-+
-+ Release
-+ Win32
-+
-+
-+ Release
-+ x64
-+
-+
-+
-+ xmlparse
-+ {0D108721-EAE8-4BAF-8102-D8960EC93647}
-+ xmlparse
-+
-+
-+
-+ StaticLibrary
-+ false
-+ MultiByte
-+
-+
-+ StaticLibrary
-+ false
-+ MultiByte
-+
-+
-+ StaticLibrary
-+ false
-+ MultiByte
-+
-+
-+ StaticLibrary
-+ false
-+ MultiByte
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+ <_ProjectFileVersion>10.0.30319.1
-+ $(PlatformName)\xmlparse\$(Configuration)\
-+ $(PlatformName)\xmlparse\$(Configuration)\
-+ $(PlatformName)\xmlparse\$(Configuration)\
-+ $(PlatformName)\xmlparse\$(Configuration)\
-+ $(ProjectDir)..\version.h;$(ExtensionsToDeleteOnClean)
-+ Clean
-+ Clean
-+ Clean
-+ Clean
-+
-+
-+
-+ MaxSpeed
-+ OnlyExplicitInline
-+ $(XMLRPCDir)lib\expat\xmltok;$(XMLRPCDir)lib\expat\xmlwf;%(AdditionalIncludeDirectories)
-+ NDEBUG;WIN32;_WINDOWS;XML_DTD;_LIB;%(PreprocessorDefinitions)
-+ true
-+ MultiThreaded
-+ true
-+ Level3
-+ true
-+
-+
-+ NDEBUG;%(PreprocessorDefinitions)
-+ 0x0409
-+
-+
-+ true
-+
-+
-+ true
-+
-+
-+ if not exist "$(XMLRPCDir)version.h" (
-+pushd $(XMLRPCDir)Windows
-+"ConfigureWin32.bat"
-+popd
-+)
-+
-+
-+
-+ pushd $(XMLRPCDir)Windows
-+"$(XMLRPCDir)Windows\CleanWin32.bat"
-+popd
-+
-+ NoOutput
-+
-+
-+
-+
-+ X64
-+
-+
-+ MaxSpeed
-+ OnlyExplicitInline
-+ $(XMLRPCDir)lib\expat\xmltok;$(XMLRPCDir)lib\expat\xmlwf;%(AdditionalIncludeDirectories)
-+ NDEBUG;WIN32;_WINDOWS;XML_DTD;_LIB;%(PreprocessorDefinitions)
-+ true
-+ MultiThreaded
-+ true
-+ Level3
-+ true
-+
-+
-+ NDEBUG;%(PreprocessorDefinitions)
-+ 0x0409
-+
-+
-+ true
-+
-+
-+ true
-+
-+
-+ if not exist "$(XMLRPCDir)version.h" (
-+pushd $(XMLRPCDir)Windows
-+"ConfigureWin32.bat"
-+popd
-+)
-+
-+
-+
-+ pushd $(XMLRPCDir)Windows
-+"$(XMLRPCDir)Windows\CleanWin32.bat"
-+popd
-+
-+ NoOutput
-+
-+
-+
-+
-+ Disabled
-+ $(XMLRPCDir)lib\expat\xmltok;$(XMLRPCDir)lib\expat\xmlwf;%(AdditionalIncludeDirectories)
-+ WIN32;_WINDOWS;XML_DTD;_LIB;%(PreprocessorDefinitions)
-+ true
-+ EnableFastChecks
-+ MultiThreadedDebugDLL
-+ Level3
-+ true
-+ ProgramDatabase
-+
-+
-+ _DEBUG;%(PreprocessorDefinitions)
-+ 0x0409
-+
-+
-+ true
-+
-+
-+ true
-+
-+
-+ if not exist "$(XMLRPCDir)version.h" (
-+pushd $(XMLRPCDir)Windows
-+"ConfigureWin32.bat"
-+popd
-+)
-+
-+
-+
-+ pushd $(XMLRPCDir)Windows
-+"$(XMLRPCDir)Windows\CleanWin32.bat"
-+popd
-+
-+ NoOutput
-+
-+
-+
-+
-+ X64
-+
-+
-+ Disabled
-+ $(XMLRPCDir)lib\expat\xmltok;$(XMLRPCDir)lib\expat\xmlwf;%(AdditionalIncludeDirectories)
-+ WIN32;_WINDOWS;XML_DTD;_LIB;%(PreprocessorDefinitions)
-+ true
-+ EnableFastChecks
-+ MultiThreadedDebugDLL
-+ Level3
-+ true
-+ ProgramDatabase
-+
-+
-+ _DEBUG;%(PreprocessorDefinitions)
-+ 0x0409
-+
-+
-+ true
-+
-+
-+ true
-+
-+
-+ if not exist "$(XMLRPCDir)version.h" (
-+pushd $(XMLRPCDir)Windows
-+"ConfigureWin32.bat"
-+popd
-+)
-+
-+
-+
-+ pushd $(XMLRPCDir)Windows
-+"$(XMLRPCDir)Windows\CleanWin32.bat"
-+popd
-+
-+ NoOutput
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-\ No newline at end of file
-diff --git a/libs/win32/xmlrpc-c/xmlrpc.2008.vcproj b/libs/win32/xmlrpc-c/xmlrpc.2008.vcproj
-new file mode 100644
-index 0000000..2de82d7
---- /dev/null
-+++ b/libs/win32/xmlrpc-c/xmlrpc.2008.vcproj
-@@ -0,0 +1,490 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/win32/xmlrpc-c/xmlrpc.2010.vcxproj b/libs/win32/xmlrpc-c/xmlrpc.2010.vcxproj
-new file mode 100644
-index 0000000..9902363
---- /dev/null
-+++ b/libs/win32/xmlrpc-c/xmlrpc.2010.vcxproj
-@@ -0,0 +1,240 @@
-+
-+
-+
-+
-+ Debug
-+ Win32
-+
-+
-+ Debug
-+ x64
-+
-+
-+ Release
-+ Win32
-+
-+
-+ Release
-+ x64
-+
-+
-+
-+ xmlrpc
-+ {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}
-+ xmlrpc
-+
-+
-+
-+ StaticLibrary
-+ false
-+ MultiByte
-+
-+
-+ StaticLibrary
-+ false
-+ MultiByte
-+
-+
-+ StaticLibrary
-+ false
-+ MultiByte
-+
-+
-+ StaticLibrary
-+ false
-+ MultiByte
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+ <_ProjectFileVersion>10.0.30319.1
-+ $(PlatformName)\xmlrpc\$(Configuration)\
-+ $(PlatformName)\xmlrpc\$(Configuration)\
-+ $(PlatformName)\xmlrpc\$(Configuration)\
-+ $(PlatformName)\xmlrpc\$(Configuration)\
-+
-+
-+
-+
-+
-+ Disabled
-+ $(XMLRPCDir)lib\expat\xmlparse;%(AdditionalIncludeDirectories)
-+ _DEBUG;WIN32;_LIB;ABYSS_WIN32;CURL_STATICLIB;%(PreprocessorDefinitions)
-+ true
-+ EnableFastChecks
-+ MultiThreadedDebugDLL
-+ Level3
-+ true
-+
-+
-+ _DEBUG;%(PreprocessorDefinitions)
-+ 0x0409
-+
-+
-+ true
-+
-+
-+ true
-+
-+
-+
-+
-+
-+
-+
-+
-+ X64
-+
-+
-+ Disabled
-+ $(XMLRPCDir)lib\expat\xmlparse;%(AdditionalIncludeDirectories)
-+ _DEBUG;WIN32;_LIB;ABYSS_WIN32;CURL_STATICLIB;%(PreprocessorDefinitions)
-+ true
-+ EnableFastChecks
-+ MultiThreadedDebugDLL
-+ Level3
-+ true
-+
-+
-+ _DEBUG;%(PreprocessorDefinitions)
-+ 0x0409
-+
-+
-+ true
-+
-+
-+ true
-+ .\Debug\xmlrpc/xmlrpc.bsc
-+
-+
-+
-+
-+
-+
-+
-+
-+ MaxSpeed
-+ OnlyExplicitInline
-+ $(XMLRPCDir)lib\expat\xmlparse;%(AdditionalIncludeDirectories)
-+ NDEBUG;WIN32;_LIB;ABYSS_WIN32;CURL_STATICLIB;%(PreprocessorDefinitions)
-+ true
-+ MultiThreadedDLL
-+ true
-+ Level3
-+ true
-+
-+
-+ NDEBUG;%(PreprocessorDefinitions)
-+ 0x0409
-+
-+
-+ true
-+
-+
-+ true
-+
-+
-+
-+
-+
-+
-+
-+
-+ X64
-+
-+
-+ MaxSpeed
-+ OnlyExplicitInline
-+ $(XMLRPCDir)lib\expat\xmlparse;%(AdditionalIncludeDirectories)
-+ NDEBUG;WIN32;_LIB;ABYSS_WIN32;CURL_STATICLIB;%(PreprocessorDefinitions)
-+ true
-+ MultiThreadedDLL
-+ true
-+ Level3
-+ true
-+
-+
-+ NDEBUG;%(PreprocessorDefinitions)
-+ 0x0409
-+
-+
-+ true
-+
-+
-+ true
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-\ No newline at end of file
-diff --git a/libs/win32/xmlrpc-c/xmlrpc.2010.vcxproj.filters b/libs/win32/xmlrpc-c/xmlrpc.2010.vcxproj.filters
-new file mode 100644
-index 0000000..aa044ff
---- /dev/null
-+++ b/libs/win32/xmlrpc-c/xmlrpc.2010.vcxproj.filters
-@@ -0,0 +1,125 @@
-+
-+
-+
-+
-+ {7ca2b8b9-bf59-4407-aedf-588e548fe34a}
-+ cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;cc
-+
-+
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+
-\ No newline at end of file
-diff --git a/libs/win32/xmlrpc-c/xmltok.2008.vcproj b/libs/win32/xmlrpc-c/xmltok.2008.vcproj
-new file mode 100644
-index 0000000..71be879
---- /dev/null
-+++ b/libs/win32/xmlrpc-c/xmltok.2008.vcproj
-@@ -0,0 +1,378 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/win32/xmlrpc-c/xmltok.2010.vcxproj b/libs/win32/xmlrpc-c/xmltok.2010.vcxproj
-new file mode 100644
-index 0000000..119ca26
---- /dev/null
-+++ b/libs/win32/xmlrpc-c/xmltok.2010.vcxproj
-@@ -0,0 +1,199 @@
-+
-+
-+
-+
-+ Debug
-+ Win32
-+
-+
-+ Debug
-+ x64
-+
-+
-+ Release
-+ Win32
-+
-+
-+ Release
-+ x64
-+
-+
-+
-+ xmltok
-+ {B535402E-38D2-4D54-8360-423ACBD17192}
-+ xmltok
-+
-+
-+
-+ StaticLibrary
-+ false
-+ MultiByte
-+
-+
-+ StaticLibrary
-+ false
-+ MultiByte
-+
-+
-+ StaticLibrary
-+ false
-+ MultiByte
-+
-+
-+ StaticLibrary
-+ false
-+ MultiByte
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+ <_ProjectFileVersion>10.0.30319.1
-+ $(PlatformName)\xmltok\$(Configuration)\
-+ $(PlatformName)\xmltok\$(Configuration)\
-+ $(PlatformName)\xmltok\$(Configuration)\
-+ $(PlatformName)\xmltok\$(Configuration)\
-+
-+
-+
-+ Disabled
-+ %(AdditionalIncludeDirectories)
-+ _DEBUG;WIN32;_WINDOWS;XML_DTD;XML_NS;_LIB;%(PreprocessorDefinitions)
-+ true
-+ EnableFastChecks
-+ MultiThreadedDebugDLL
-+ Level3
-+ true
-+
-+
-+ _DEBUG;%(PreprocessorDefinitions)
-+ 0x0409
-+
-+
-+ true
-+
-+
-+ true
-+ .\Debug\xmltok/xmltok.bsc
-+
-+
-+
-+
-+ X64
-+
-+
-+ Disabled
-+ %(AdditionalIncludeDirectories)
-+ _DEBUG;WIN32;_WINDOWS;XML_DTD;XML_NS;_LIB;%(PreprocessorDefinitions)
-+ true
-+ EnableFastChecks
-+ MultiThreadedDebugDLL
-+ Level3
-+ true
-+
-+
-+ _DEBUG;%(PreprocessorDefinitions)
-+ 0x0409
-+
-+
-+ true
-+
-+
-+ true
-+ .\Debug\xmltok/xmltok.bsc
-+
-+
-+
-+
-+ MaxSpeed
-+ OnlyExplicitInline
-+ %(AdditionalIncludeDirectories)
-+ NDEBUG;XML_NS;WIN32;_WINDOWS;XML_DTD;_LIB;%(PreprocessorDefinitions)
-+ true
-+ MultiThreaded
-+ true
-+ Level3
-+ true
-+
-+
-+ NDEBUG;%(PreprocessorDefinitions)
-+ 0x0409
-+
-+
-+ true
-+
-+
-+ true
-+ .\Release\xmltok/xmltok.bsc
-+
-+
-+
-+
-+ X64
-+
-+
-+ MaxSpeed
-+ OnlyExplicitInline
-+ %(AdditionalIncludeDirectories)
-+ NDEBUG;XML_NS;WIN32;_WINDOWS;XML_DTD;_LIB;%(PreprocessorDefinitions)
-+ true
-+ MultiThreaded
-+ true
-+ Level3
-+ true
-+
-+
-+ NDEBUG;%(PreprocessorDefinitions)
-+ 0x0409
-+
-+
-+ true
-+
-+
-+ true
-+ .\Release\xmltok/xmltok.bsc
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-\ No newline at end of file
-diff --git a/libs/win32/xmlrpc-c/xmltok.2010.vcxproj.filters b/libs/win32/xmlrpc-c/xmltok.2010.vcxproj.filters
-new file mode 100644
-index 0000000..98d22a2
---- /dev/null
-+++ b/libs/win32/xmlrpc-c/xmltok.2010.vcxproj.filters
-@@ -0,0 +1,45 @@
-+
-+
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+
-+
-+ {e8ec3017-8580-49f6-b5b5-4ba1c66c9b58}
-+
-+
-+ {cf3bec2c-9e12-4a6c-8d1c-495721118adf}
-+
-+
-+
-\ No newline at end of file
-diff --git a/libs/xmlrpc-c/.cvsignore b/libs/xmlrpc-c/.cvsignore
-deleted file mode 100644
-index f007c35..0000000
---- a/libs/xmlrpc-c/.cvsignore
-+++ /dev/null
-@@ -1,18 +0,0 @@
--Makefile.config
--autogen.sh
--autom4te.cache
--configure
--config.log
--stamp-h
--stamp-h1
--config.cache
--libtool
--config.status
--xmlrpc_config.h
--xmlrpc_amconfig.h
--xmlrpc-c-config
--xmlrpc-c-config.test
--xmlrpc-c-*.tar.gz
--xmlrpc-c.spec
--transport_config.h
--
-diff --git a/libs/xmlrpc-c/.update b/libs/xmlrpc-c/.update
-deleted file mode 100644
-index 60fffd1..0000000
---- a/libs/xmlrpc-c/.update
-+++ /dev/null
-@@ -1 +0,0 @@
--date
-diff --git a/libs/xmlrpc-c/GNUmakefile b/libs/xmlrpc-c/GNUmakefile
-index be7e423..976e92c 100644
---- a/libs/xmlrpc-c/GNUmakefile
-+++ b/libs/xmlrpc-c/GNUmakefile
-@@ -1,4 +1,4 @@
--include Makefile.srcdir
-+include srcdir.mk
-
- BLDDIR = $(CURDIR)
- SUBDIR =
-@@ -6,7 +6,6 @@ SUBDIR =
- export SRCDIR
- export BLDDIR
-
--include $(BLDDIR)/Makefile.version
- include $(BLDDIR)/config.mk
-
- SUBDIRS = include lib src tools examples
-@@ -24,10 +23,25 @@ SUBDIRS = include lib src tools examples
-
- DEFAULT_SUBDIRS = include lib src
-
-+ifeq ($(BUILD_TOOLS),yes)
-+ DEFAULT_SUBDIRS += tools
-+endif
-+
- PROGRAMS_TO_INSTALL = xmlrpc-c-config
-
- default: xmlrpc-c-config xmlrpc-c-config.test $(DEFAULT_SUBDIRS:%=%/all)
-
-+# We don't want common.mk's rule for version.h
-+OMIT_VERSION_H = Y
-+
-+# We don't want common.mk's rule for transport_config.h
-+OMIT_TRANSPORT_CONFIG_H = Y
-+
-+# We don't want common.mk's rule for xmlrpc-c-config.test:
-+OMIT_XMLRPC_C_CONFIG_TEST = Y
-+
-+include $(SRCDIR)/common.mk
-+
- .PHONY: all
- all: xmlrpc-c-config xmlrpc-c-config.test $(SUBDIRS:%=%/all)
-
-@@ -61,22 +75,15 @@ src/all: lib/all
- MAJOR := $(XMLRPC_MAJOR_RELEASE)
- MINOR := $(XMLRPC_MINOR_RELEASE)
- POINT := $(XMLRPC_POINT_RELEASE)
--version.h: $(SRCDIR)/Makefile.version
-+version.h: $(SRCDIR)/version.mk
- rm -f $@
- echo "/* Generated by make file rule */" >>$@
-- echo "#define XMLRPC_C_VERSION" \
-- \"Xmlrpc-c $(MAJOR).$(MINOR).$(POINT)"\"" >>$@
-+ echo "#define XMLRPC_C_VERSION" \"$(MAJOR).$(MINOR).$(POINT)"\"" >>$@
- echo "#define XMLRPC_VERSION_MAJOR $(MAJOR)" >>$@
- echo "#define XMLRPC_VERSION_MINOR $(MINOR)" >>$@
- echo "#define XMLRPC_VERSION_POINT $(POINT)" >>$@
-
--# We don't want common.mk's rule for version.h
--OMIT_VERSION_H = Y
--
--# We don't want common.mk's rule for transport_config.h
--OMIT_TRANSPORT_CONFIG_H = Y
--
--include transport_config.make
-+include transport_config.mk
-
- # shell_config is a fragment to place inside a Bourne shell program that
- # sets variables that tell how the build is configured.
-@@ -94,17 +101,15 @@ shell_config: $(BLDDIR)/config.mk
- @echo 'MUST_BUILD_CURL_CLIENT="$(MUST_BUILD_CURL_CLIENT)"' >>$@
- @echo 'MUST_BUILD_LIBWWW_CLIENT="$(MUST_BUILD_LIBWWW_CLIENT)"' >>$@
- @echo 'NEED_RPATH="$(NEED_RPATH)"' >>$@
-- @echo 'NEED_WL_RPATH="$(NEED_WL)RPATH)"' >>$@
-+ @echo 'NEED_WL_RPATH="$(NEED_WL_RPATH)"' >>$@
-+ @echo 'LIBXMLRPCPP_NAME="$(LIBXMLRPCPP_NAME)"' >>$@
- @echo 'LSOCKET="$(LSOCKET)"' >>$@
- @echo 'WININET_LDADD="$(WININET_LDADD)"' >>$@
-- @echo 'WININET_RPATH="$(WININET_RPATH)"' >>$@
-- @echo 'WININET_WL_RPATH="$(WININET_WL_RPATH)"' >>$@
-+ @echo 'WININET_LIBDIR="$(WININET_LIBDIR)"' >>$@
- @echo 'CURL_LDADD="$(CURL_LDADD)"' >>$@
-- @echo 'CURL_RPATH="$(CURL_RPATH)"' >>$@
-- @echo 'CURL_WL_RPATH="$(CURL_WL_RPATH)"' >>$@
-+ @echo 'CURL_LIBDIR="$(CURL_LIBDIR)"' >>$@
- @echo 'LIBWWW_LDADD="$(LIBWWW_LDADD)"' >>$@
-- @echo 'LIBWWW_RPATH="$(LIBWWW_RPATH)"' >>$@
-- @echo 'LIBWWW_WL_RPATH="$(LIBWWW_WL_RPATH)"' >>$@
-+ @echo 'LIBWWW_LIBDIR="$(LIBWWW_LIBDIR)"' >>$@
- @echo 'XMLRPC_MAJOR_RELEASE="$(XMLRPC_MAJOR_RELEASE)"' >>$@
- @echo 'XMLRPC_MINOR_RELEASE="$(XMLRPC_MINOR_RELEASE)"' >>$@
- @echo 'XMLRPC_POINT_RELEASE="$(XMLRPC_POINT_RELEASE)"' >>$@
-@@ -116,9 +121,6 @@ shell_config: $(BLDDIR)/config.mk
- @echo 'ABS_SRCDIR="$(ABS_SRCDIR)"' >>$@
- @echo '#######################################################' >>$@
-
--# We don't want config.mk's xmlrpc-c-config.test rule:
--OMIT_XMLRPC_C_CONFIG_TEST = Y
--
- xmlrpc-c-config xmlrpc-c-config.test:%: %.main shell_config
- rm -f $@
- @echo "Echoes to '$@' suppressed here ..."
-@@ -140,7 +142,7 @@ clean-local:
- distclean: $(SUBDIRS:%=%/distclean) distclean-common distclean-local
-
- distclean-local: clean-local
-- rm -f config.log config.status config.mk Makefile.srcdir
-+ rm -f config.log config.status config.mk srcdir.mk
- rm -f xmlrpc_config.h xmlrpc_amconfig.h stamp-h
- rm -f shell_config xmlrpc-c-config xmlrpc-c-config.test
- rm -f TAGS
-@@ -162,11 +164,8 @@ xmlrpc_config.h xmlrpc_amconfig.h \
- :%:%.in $(SRCDIR)/configure
- $(SRCDIR)/configure
-
--include $(SRCDIR)/common.mk
--
--
- # A trick to catch a common user error. When you don't run 'configure',
--# you don't have a Makefile.srcdir, which means $(SRCDIR) is null.
-+# you don't have a srcdir.mk, which means $(SRCDIR) is null.
-
- /common.mk:
- @echo =======================================
-diff --git a/libs/xmlrpc-c/Makefile.common b/libs/xmlrpc-c/Makefile.common
-deleted file mode 100644
-index bf51040..0000000
---- a/libs/xmlrpc-c/Makefile.common
-+++ /dev/null
-@@ -1,272 +0,0 @@
--# -*-makefile-*- <-- an Emacs control
--
--# This file contains rules and variable settings for the convenience
--# of every other make file in the package.
--
--# No make file is required to use this file, but it usually saves a lot
--# of duplication.
--
--# The following make variables are meaningful as input to this file:
--#
--# SRCDIR: Name of directory which is the top of the Xmlrpc-c source tree.
--# BUILDDIR: Name of directory which is the top of the Xmlrpc-c build tree.
--
--LIBTOOL = $(SRCDIR)/libtool
--LINK = $(LIBTOOL) --mode=link $(CCLD)
--
--GCC_WARNINGS = -Wall -Wundef -Wimplicit -W -Winline
-- # We need -Wwrite-strings after we fix all the missing consts
--
--GCC_C_WARNINGS = $(GCC_WARNINGS) \
-- -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes
--
--GCC_CXX_WARNINGS = $(GCC_WARNINGS) -Woverloaded-virtual -Wsynth
--
--ifeq ($(C_COMPILER_GNU),yes)
-- CFLAGS_COMMON = $(GCC_C_WARNINGS) $(COMPILER_CFLAGS) -fno-common -g
--else
-- CFLAGS_COMMON = $(COMPILER_CFLAGS)
--endif
--
--ifeq ($(CXX_COMPILER_GNU),yes)
-- CXXFLAGS_COMMON = $(GCC_CXX_WARNINGS) $(COMPILER_CXXFLAGS)
--else
-- CXXFLAGS_COMMON = $(COMPILER_CXXFLAGS)
--endif
--
--DISTDIR = $(BUILDDIR)/$(PACKAGE)-$(VERSION)/$(SUBDIR)
--
--LDFLAGS_VERSINFO = -version-info 7:0:4
--
--# CURDIR was introduced in GNU Make 3.77.
--ifeq ($(CURDIR)x,x)
-- CURDIR := $(shell /bin/pwd)
--endif
--
--##############################################################################
--# RULES #
--##############################################################################
--
--$(SUBDIRS:%=%/all): %/all: $(CURDIR)/%
-- $(MAKE) -C $(dir $@) -f $(SRCDIR)/$(SUBDIR)/$(dir $@)Makefile \
-- $(notdir $@)
--
--$(SUBDIRS:%=%/install): %/install: $(CURDIR)/%
-- $(MAKE) -C $(dir $@) -f $(SRCDIR)/$(SUBDIR)/$(dir $@)Makefile \
-- $(notdir $@)
--
--$(SUBDIRS:%=%/clean): %/clean: $(CURDIR)/%
-- $(MAKE) -C $(dir $@) -f $(SRCDIR)/$(SUBDIR)/$(dir $@)Makefile \
-- $(notdir $@)
--
--$(SUBDIRS:%=%/distclean): %/distclean: $(CURDIR)/%
-- $(MAKE) -C $(dir $@) -f $(SRCDIR)/$(SUBDIR)/$(dir $@)Makefile \
-- $(notdir $@)
--
--$(SUBDIRS:%=%/distdir): %/distdir: $(CURDIR)/%
-- $(MAKE) -C $(dir $@) -f $(SRCDIR)/$(SUBDIR)/$(dir $@)Makefile \
-- $(notdir $@)
--
--$(SUBDIRS:%=%/dep): %/dep: $(CURDIR)/%
-- $(MAKE) -C $(dir $@) -f $(SRCDIR)/$(SUBDIR)/$(dir $@)Makefile \
-- $(notdir $@)
--
--$(BUILDDIR)/lib/util/casprintf.lo: FORCE
-- $(MAKE) -C $(dir $@) -f $(SRCDIR)/lib/util/Makefile $(notdir $@)
--
--$(BUILDDIR)/lib/expat/xmlparse/libxmlrpc_xmlparse.la: FORCE
-- $(MAKE) -C $(dir $@) -f $(SRCDIR)/lib/expat/xmlparse/Makefile \
-- $(notdir $@)
--
--$(BUILDDIR)/lib/expat/xmltok/libxmlrpc_xmltok.la: FORCE
-- $(MAKE) -C $(dir $@) -f $(SRCDIR)/lib/expat/xmltok/Makefile \
-- $(notdir $@)
--
--$(BUILDDIR)/lib/wininet_transport/xmlrpc_wininet_transport.lo: FORCE
-- $(MAKE) -C $(dir $@) -f $(SRCDIR)/lib/wininet_transport/Makefile \
-- $(notdir $@)
--
--$(BUILDDIR)/lib/curl_transport/xmlrpc_curl_transport.lo: FORCE
-- $(MAKE) -C $(dir $@) -f $(SRCDIR)/lib/curl_transport/Makefile \
-- $(notdir $@)
--
--$(BUILDDIR)/lib/libwww_transport/xmlrpc_libwww_transport.lo: FORCE
-- $(MAKE) -C $(dir $@) -f $(SRCDIR)/lib/libwww_transport/Makefile \
-- $(notdir $@)
--
--$(BUILDDIR)/src/libxmlrpc.la: FORCE
-- $(MAKE) -C $(dir $@) -f $(SRCDIR)/src/Makefile \
-- $(notdir $@)
--
--$(BUILDDIR)/src/libxmlrpc_client.la: FORCE
-- $(MAKE) -C $(dir $@) -f $(SRCDIR)/src/Makefile \
-- $(notdir $@)
--
--$(BUILDDIR)/src/libxmlrpc_server.la: FORCE
-- $(MAKE) -C $(dir $@) -f $(SRCDIR)/src/Makefile \
-- $(notdir $@)
--
--ifneq ($(OMIT_TRANSPORT_CONFIG_H),Y)
--$(BUILDDIR)/transport_config.h:
-- $(MAKE) -C $(dir $@) $(notdir $@)
--endif
--
--MKINSTALLDIRS = $(SHELL) $(SRCDIR)/mkinstalldirs
--
--.PHONY: install-common install-libraries install-headers install-bin
--install-common: \
-- install-ltlibraries install-libraries install-headers install-bin
--
--INSTALL_LIB_CMD = $(INSTALL_DATA) $$p $(DESTDIR)$(LIBINST_DIR)/$$p
--RANLIB_CMD = $(RANLIB) $(DESTDIR)$(LIBINST_DIR)/$$p
--
--install-libraries: $(LIBRARIES_TO_INSTALL)
-- $(MKINSTALLDIRS) $(DESTDIR)$(LIBINST_DIR)
-- @list='$(LIBRARIES_TO_INSTALL)'; for p in $$list; do \
-- if test -f $$p; then \
-- echo " $(INSTALL_LIB_CMD)"; \
-- $(INSTALL_LIB_CMD); \
-- else :; fi; \
-- done
-- @$(POST_INSTALL)
-- @list='$(LIBRARIES_TO_INSTALL)'; for p in $$list; do \
-- if test -f $$p; then \
-- echo " $(RANLIB_CMD)"; \
-- $(RANLIB_CMD); \
-- else :; fi; \
-- done
--
--LIBTOOL_INSTALL_CMD = $(LIBTOOL) --mode=install \
-- $(INSTALL) $$p $(DESTDIR)$(LIBINST_DIR)/$$p
--
--install-ltlibraries: $(LTLIBRARIES_TO_INSTALL)
-- $(MKINSTALLDIRS) $(DESTDIR)$(LIBINST_DIR)
-- @list='$(LTLIBRARIES_TO_INSTALL)'; for p in $$list; do \
-- if test -f $$p; then \
-- echo " $(LIBTOOL_INSTALL_CMD)"; \
-- $(LIBTOOL_INSTALL_CMD); \
-- else :; fi; \
-- done
--
--HEADERDESTDIR = $(DESTDIR)$(HEADERINST_DIR)
--INSTALL_HDR_CMD = $(INSTALL_DATA) $$d$$p $(HEADERDESTDIR)/$$p
--
--install-headers: $(HEADERS_TO_INSTALL)
-- $(MKINSTALLDIRS) $(HEADERDESTDIR)
-- $(MKINSTALLDIRS) $(HEADERDESTDIR)/xmlrpc-c
-- @list='$(HEADERS_TO_INSTALL)'; for p in $$list; do \
-- if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
-- echo " $(INSTALL_HDR_CMD)"; \
-- $(INSTALL_HDR_CMD); \
-- done
--
--
--INSTALL_PROGRAM_CMD = $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p \
-- $(DESTDIR)$(PROGRAMINST_DIR)/$$p
--
--install-bin: $(PROGRAMS_TO_INSTALL) $(DESTDIR)$(PROGRAMINST_DIR)
-- @list='$(PROGRAMS_TO_INSTALL)'; \
-- for p in $$list; do \
-- echo "$(INSTALL_PROGRAM_CMD)"; \
-- $(INSTALL_PROGRAM_CMD); \
-- done
--
--$(DESTDIR)$(PROGRAMINST_DIR):
-- $(MKINSTALLDIRS) $@
--
--
--.PHONY: clean-common
--clean-common:
-- rm -f *.o *.a *.s *.i *.la *.lo
-- rm -rf .libs
--
--.PHONY: distclean-common
--distclean-common:
--# Makefile.depend is generated by 'make dep' and contains only dependencies
--# that make parts get _rebuilt_ when parts upon which they depend change.
--# It does not contain dependencies that are necessary to cause a part to
--# get built in the first place. E.g. if foo.c uses bar.h and bar.h gets built
--# by a make rule, you must put the dependency of foo.c on bar.h somewhere
--# besides Makefile.depend.
--#
--# Because of this, a user doesn't need Makefile.depend, because he
--# doesn't modify source files. A developer, on the other hand, must make his
--# own Makefile.depend, because 'make dep' creates Makefile.depend with
--# absolute pathnames, specific to the developer's system.
--#
--# So we empty out Makefile.depend here. The developer must do 'make dep' if
--# he wants to edit and rebuild.
--#
--# Other projects have 'make distclean' _remove_ Makefile.depend and then
--# have 'make' automatically build Makefile.depend. We have
--# found that to be an utter disaster -- it's way too complicated and prone
--# to failure, especially with built .h files. Better not to burden the user,
--# who gains nothing from it, with that.
--#
-- cat /dev/null >Makefile.depend
-- rm -f TAGS
--
--
--.PHONY: distdir-common
--distdir-common:
-- @for file in $(DISTFILES); do \
-- d=$(SRCDIR); \
-- if test -d $$d/$$file; then \
-- cp -pr $$d/$$file $(DISTDIR)/$$file; \
-- else \
-- test -f $(DISTDIR)/$$file \
-- || ln $$d/$$file $(DISTDIR)/$$file 2> /dev/null \
-- || cp -p $$d/$$file $(DISTDIR)/$$file || :; \
-- fi; \
-- done
--
--TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
-- tags=; \
-- here=`pwd`; \
-- list='$(SUBDIRS)'; for subdir in $$list; do \
-- if test "$$subdir" = .; then :; else \
-- test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
-- fi; \
-- done; \
-- list='$(SOURCES) $(HEADERS)'; \
-- unique=`for i in $$list; do echo $$i; done | \
-- awk ' { files[$$0] = 1; } \
-- END { for (i in files) print i; }'`; \
-- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
--
--DEP_SOURCES = $(wildcard *.c *.cpp)
--
--# This is a filter to turn "foo.o:" rules into "foo.o foo.lo:" because Libtool
--# uses .lo for object files. I'd like to purge the build of Libtool some day
--# and eliminate this complication.
--
--LIBTOOL_DEPEND_MASSAGER = perl -walnpe's{^(.*)\.o:}{$$1.o $$1.lo:}'
--
--
--
--.PHONY: dep-common
--dep-common: FORCE
--ifneq ($(DEP_SOURCES)x,x)
-- -$(CC) -MM -MG -I. $(INCLUDES) $(DEP_SOURCES) | \
-- $(LIBTOOL_DEPEND_MASSAGER) \
-- >Makefile.depend
--endif
--
--Makefile.depend:
-- cat /dev/null >$@
--
--# The automatic dependency generation is a pain in the butt and
--# totally unnecessary for people just installing the distributed code,
--# so to avoid needless failures in the field and a complex build, the
--# 'distclean' target simply makes Makefile.depend an empty file. A
--# developer may do 'make dep' to create a Makefile.depend full of real
--# dependencies.
--
--# Tell versions [3.59,3.63) of GNU make to not export all variables.
--# Otherwise a system limit (for SysV at least) may be exceeded.
--.NOEXPORT:
--
--
--# Use the FORCE target as a dependency to force a target to get remade
--FORCE:
-diff --git a/libs/xmlrpc-c/Makefile.config.in b/libs/xmlrpc-c/Makefile.config.in
-deleted file mode 100644
-index efdcf4f..0000000
---- a/libs/xmlrpc-c/Makefile.config.in
-+++ /dev/null
-@@ -1,79 +0,0 @@
--# Makefile.config is generated by 'configure' using Makefile.config.in
--# as a template and information that 'configure' gathers from the build
--# system and from user options.
--
--# Makefile.config should someday replace most of the other files that
--# 'configure' generates, thus simplifying development and customization.
--# Makefile.config is intended to contain information specific to the
--# particular build environment or user build choices.
--
--# Furthermore, most of the logic in 'configure', and thus 'configure.in',
--# should go into the make files to simplify the build. Makefile.config
--# should just pass raw configure variables through to the make file.
--
--# Tokens of the form @TOKEN@ in the template file get replaced by
--# 'configure' with the values of variables of the same name within
--# 'configure', because of a AC_SUBST(TOKEN) statement in the
--# 'configure.in' from which 'configure' was built.
--
--# Here are the options the user chose on 'configure':
--
--ENABLE_ABYSS_SERVER = @ENABLE_ABYSS_SERVER@
--ENABLE_ABYSS_THREADS = @ENABLE_ABYSS_THREADS@
--ENABLE_CPLUSPLUS = @ENABLE_CPLUSPLUS@
--ENABLE_CGI_SERVER = @ENABLE_CGI_SERVER@
--ENABLE_LIBXML2_BACKEND = @ENABLE_LIBXML2_BACKEND@
--ENABLE_EFENCE = @ENABLE_EFENCE@
--
--MUST_BUILD_WININET_CLIENT = @MUST_BUILD_WININET_CLIENT@
--MUST_BUILD_CURL_CLIENT = @MUST_BUILD_CURL_CLIENT@
--MUST_BUILD_LIBWWW_CLIENT = @MUST_BUILD_LIBWWW_CLIENT@
--
--LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
--LIBXML2_LIBS = @LIBXML2_LIBS@
--
--MUST_BUILD_CLIENT = no
--ifeq ($(MUST_BUILD_WININET_CLIENT),yes)
-- MUST_BUILD_CLIENT = yes
--endif
--ifeq ($(MUST_BUILD_CURL_CLIENT),yes)
-- MUST_BUILD_CLIENT = yes
--endif
--ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes)
-- MUST_BUILD_CLIENT = yes
--endif
--
--# Stuff 'configure' figured out about our build platform:
--
--SHELL = @SHELL@
--CC = @CC@
--CXX = @CXX@
--CCLD = $(CC)
--CXXLD = $(CXX)
--AR = ar
--RANLIB = @RANLIB@
--LN_S = @LN_S@
--INSTALL = @INSTALL@
--
--C_COMPILER_GNU = @C_COMPILER_GNU@
--CXX_COMPILER_GNU = @CXX_COMPILER_GNU@
--COMPILER_CFLAGS = @COMPILER_CFLAGS@
--COMPILER_CXXFLAGS = @COMPILER_CXXFLAGS@
--
--# Here are the commands 'make install' uses to install various kinds of files:
--
--INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
--INSTALL_DATA = @INSTALL_DATA@
--INSTALL_SCRIPT = @INSTALL_SCRIPT@
--
--# Here are the locations at which 'make install' puts files:
--
--# DESTDIR is designed to be overriden at make time in order to relocate
--# the entire install into a subdirectory.
--DESTDIR =
--
--exec_prefix = @exec_prefix@
--prefix = @prefix@
--LIBINST_DIR = @libdir@
--HEADERINST_DIR = @includedir@
--PROGRAMINST_DIR = @bindir@
-diff --git a/libs/xmlrpc-c/Makefile.depend b/libs/xmlrpc-c/Makefile.depend
-deleted file mode 100644
-index e69de29..0000000
-diff --git a/libs/xmlrpc-c/Makefile.srcdir.in b/libs/xmlrpc-c/Makefile.srcdir.in
-deleted file mode 100644
-index d389df1..0000000
---- a/libs/xmlrpc-c/Makefile.srcdir.in
-+++ /dev/null
-@@ -1 +0,0 @@
--SRCDIR=@abs_srcdir@
-diff --git a/libs/xmlrpc-c/Makefile.version b/libs/xmlrpc-c/Makefile.version
-deleted file mode 100644
-index 6dc75a2..0000000
---- a/libs/xmlrpc-c/Makefile.version
-+++ /dev/null
-@@ -1,11 +0,0 @@
--###############################################################################
--# This is not only a make file inclusion, but a source file for the program
--# 'mkvers' in the Windows build system. The latter is very particular about
--# the format of this file. Do not change white space, add comment lines, or
--# anything!
--#
--#
--###############################################################################
--XMLRPC_MAJOR_RELEASE = 1
--XMLRPC_MINOR_RELEASE = 14
--XMLRPC_POINT_RELEASE = 99
-diff --git a/libs/xmlrpc-c/Windows/CleanWin32.bat b/libs/xmlrpc-c/Windows/CleanWin32.bat
-index 907b32b..181c3aa 100644
---- a/libs/xmlrpc-c/Windows/CleanWin32.bat
-+++ b/libs/xmlrpc-c/Windows/CleanWin32.bat
-@@ -1,43 +1,30 @@
--@echo Windows build
--@echo This batch file deletes the copied header files,
--@echo Deleting Win32 header files...
--@echo #####################################################
--@echo IF YOU HAVE MADE CHANGES IN ..\xmlrpc_config.h, ..\include\xmlrpc-c\config.h etc ...
--@echo THESE CHANGES WILL BE LOST!
--@echo You should run diffcfg.bat first to check for changes,
--@echo and updcfg.bat if you have made changes ...
--@echo #####################################################
--@echo ARE YOU SURE YOU WANT TO DO THIS? Ctrl+C to abort ...
--@echo #####################################################
--@pause
--@set TEMP1=
--@if NOT EXIST ..\include\xmlrpc-c\config.h goto DN1
--del ..\include\xmlrpc-c\config.h > nul
--@set TEMP1=%TEMP1% ..\include\xmlrpc-c\config.h
--:DN1
--@if NOT EXIST ..\xmlrpc_config.h goto DN2
--del ..\xmlrpc_config.h > nul
--@set TEMP1=%TEMP1% ..\xmlrpc_config.h
--:DN2
--@if NOT EXIST ..\transport_config.h goto DN3
--del ..\transport_config.h > nul
--@set TEMP1=%TEMP1% ..\transport_config.h
--:DN3
--@if NOT EXIST ..\version.h goto DN4
--del ..\version.h > nul
--@set TEMP1=%TEMP1% ..\version.h
--:DN4
--@if NOT EXIST ..\examples\config.h goto DN5
--del ..\examples\config.h > nul
--@set TEMP1=%TEMP1% ..\examples\config.h
--:DN5
--@if "%TEMP1%." == "." goto ALLDN
--@echo DELETED win32 header files.
--@echo %TEMP1%
--@goto END
--
--:ALLDN
--@echo NOne to DELETE ...
--@goto END
--
--:END
-+@if NOT EXIST ..\include\xmlrpc-c\config.h goto DN1
-+del ..\include\xmlrpc-c\config.h > nul
-+@set TEMP1=%TEMP1% ..\include\xmlrpc-c\config.h
-+:DN1
-+@if NOT EXIST ..\xmlrpc_config.h goto DN2
-+del ..\xmlrpc_config.h > nul
-+@set TEMP1=%TEMP1% ..\xmlrpc_config.h
-+:DN2
-+@if NOT EXIST ..\transport_config.h goto DN3
-+del ..\transport_config.h > nul
-+@set TEMP1=%TEMP1% ..\transport_config.h
-+:DN3
-+@if NOT EXIST ..\version.h goto DN4
-+del ..\version.h > nul
-+@set TEMP1=%TEMP1% ..\version.h
-+:DN4
-+@if NOT EXIST ..\examples\config.h goto DN5
-+del ..\examples\config.h > nul
-+@set TEMP1=%TEMP1% ..\examples\config.h
-+:DN5
-+@if "%TEMP1%." == "." goto ALLDN
-+@echo DELETED win32 header files.
-+@echo %TEMP1%
-+@goto END
-+
-+:ALLDN
-+@echo NOne to DELETE ...
-+@goto END
-+
-+:END
-diff --git a/libs/xmlrpc-c/Windows/ReadMeWin32.txt b/libs/xmlrpc-c/Windows/ReadMeWin32.txt
-index 2da1575..1178159 100644
---- a/libs/xmlrpc-c/Windows/ReadMeWin32.txt
-+++ b/libs/xmlrpc-c/Windows/ReadMeWin32.txt
-@@ -1,11 +1,13 @@
- Build Instructions For XML-RPC For C/C++ On Windows
- ---------------------------------------------------
-
--Latest Windows work was done by
--
-- Geoff McLane
-- 19 October, 2007
-- home: http://geoffair.net
-+-------------------------------------------------------------------------
-+These instructions are for static link libraries, using Microsoft Visual
-+Studio 7 and later. There are project files to create DLLs, using
-+Visual Studio 2008 or later, in the 'dll' subdirectory. People maintain
-+those project files separately from the rest of the build system, so it's
-+not uncommon for something to work with one but not the other.
-+-------------------------------------------------------------------------
-
-
- 1. Run the batch file ConfigureWin32.bat, found in the Windows
-diff --git a/libs/xmlrpc-c/Windows/abyss.2008.vcproj b/libs/xmlrpc-c/Windows/abyss.2008.vcproj
-deleted file mode 100644
-index 45508db..0000000
---- a/libs/xmlrpc-c/Windows/abyss.2008.vcproj
-+++ /dev/null
-@@ -1,1298 +0,0 @@
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-diff --git a/libs/xmlrpc-c/Windows/abyss.2010.vcxproj b/libs/xmlrpc-c/Windows/abyss.2010.vcxproj
-deleted file mode 100644
-index 8f366a8..0000000
---- a/libs/xmlrpc-c/Windows/abyss.2010.vcxproj
-+++ /dev/null
-@@ -1,437 +0,0 @@
--
--
--
--
-- Debug
-- Win32
--
--
-- Debug
-- x64
--
--
-- Release
-- Win32
--
--
-- Release
-- x64
--
--
--
-- abyss
-- {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}
-- abyss
--
--
--
-- StaticLibrary
-- false
-- MultiByte
--
--
-- StaticLibrary
-- false
-- MultiByte
--
--
-- StaticLibrary
-- false
-- MultiByte
--
--
-- StaticLibrary
-- false
-- MultiByte
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-- <_ProjectFileVersion>10.0.30319.1
-- $(PlatformName)\abyss\$(Configuration)\
-- $(PlatformName)\abyss\$(Configuration)\
-- $(PlatformName)\abyss\$(Configuration)\
-- $(PlatformName)\abyss\$(Configuration)\
--
--
--
-- Disabled
-- ..\;..\include;..\lib\util\include;.;%(AdditionalIncludeDirectories)
-- WIN32;_DEBUG;_LIB;ABYSS_WIN32;_THREAD;%(PreprocessorDefinitions)
-- true
-- EnableFastChecks
-- MultiThreadedDebugDLL
-- Level3
-- true
--
--
-- _DEBUG;%(PreprocessorDefinitions)
-- 0x0409
--
--
-- true
--
--
-- true
-- .\Debug\abyss/abyss.bsc
--
--
--
--
-- X64
--
--
-- Disabled
-- ..\;..\include;..\lib\util\include;.;%(AdditionalIncludeDirectories)
-- WIN32;_DEBUG;_LIB;ABYSS_WIN32;_THREAD;%(PreprocessorDefinitions)
-- true
-- EnableFastChecks
-- MultiThreadedDebugDLL
-- Level3
-- true
--
--
-- _DEBUG;%(PreprocessorDefinitions)
-- 0x0409
--
--
-- true
--
--
-- true
-- .\Debug\abyss/abyss.bsc
--
--
--
--
-- MaxSpeed
-- OnlyExplicitInline
-- ..\;..\include;..\lib\util\include;.;%(AdditionalIncludeDirectories)
-- WIN32;NDEBUG;_LIB;ABYSS_WIN32;_THREAD;%(PreprocessorDefinitions)
-- true
-- MultiThreadedDLL
-- true
-- Level3
-- true
--
--
-- NDEBUG;%(PreprocessorDefinitions)
-- 0x0409
--
--
-- true
--
--
-- true
-- .\Release\Abyss/abyss.bsc
--
--
--
--
-- X64
--
--
-- MaxSpeed
-- OnlyExplicitInline
-- ..\;..\include;..\lib\util\include;.;%(AdditionalIncludeDirectories)
-- WIN32;NDEBUG;_LIB;ABYSS_WIN32;_THREAD;%(PreprocessorDefinitions)
-- true
-- MultiThreadedDLL
-- true
-- Level3
-- true
--
--
-- NDEBUG;%(PreprocessorDefinitions)
-- 0x0409
--
--
-- true
--
--
-- true
-- .\Release\Abyss/abyss.bsc
--
--
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-\ No newline at end of file
-diff --git a/libs/xmlrpc-c/Windows/abyss.2010.vcxproj.filters b/libs/xmlrpc-c/Windows/abyss.2010.vcxproj.filters
-deleted file mode 100644
-index 63a3cb3..0000000
---- a/libs/xmlrpc-c/Windows/abyss.2010.vcxproj.filters
-+++ /dev/null
-@@ -1,131 +0,0 @@
--
--
--
--
-- {8ac4971f-a9ba-4930-a7e3-b291ad24d6ca}
-- cpp;c;cxx;rc;def;r;odl;idl;hpj;bat
--
--
-- {05489d43-6c6b-4bb8-95db-414e8137ee9e}
-- h;hpp;hxx;hm;inl
--
--
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
--
-\ No newline at end of file
-diff --git a/libs/xmlrpc-c/Windows/cpptest.dsp b/libs/xmlrpc-c/Windows/cpptest.dsp
-index 9db8ccc..4058491 100644
---- a/libs/xmlrpc-c/Windows/cpptest.dsp
-+++ b/libs/xmlrpc-c/Windows/cpptest.dsp
-@@ -85,6 +85,10 @@ LINK32=link.exe
- # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
- # Begin Source File
-
-+SOURCE=..\src\cpp\test\value.cpp
-+# End Source File
-+# Begin Source File
-+
- SOURCE=..\src\cpp\test\registry.cpp
- # End Source File
- # Begin Source File
-@@ -94,7 +98,6 @@ SOURCE=..\src\cpp\test\server_abyss.cpp
- # Begin Source File
-
- SOURCE=..\src\cpp\test\server_pstream.cpp
--# PROP Exclude_From_Build 1
- # End Source File
- # Begin Source File
-
-@@ -108,6 +111,10 @@ SOURCE=..\src\cpp\test\testclient_dummy.cpp
-
- SOURCE=..\src\cpp\test\tools.cpp
- # End Source File
-+# Begin Source File
-+
-+SOURCE=.\socketpair.cpp
-+# End Source File
- # End Group
- # Begin Group "Header Files"
-
-diff --git a/libs/xmlrpc-c/Windows/curllink.h b/libs/xmlrpc-c/Windows/curllink.h
-index 516fec0..090e4bf 100644
---- a/libs/xmlrpc-c/Windows/curllink.h
-+++ b/libs/xmlrpc-c/Windows/curllink.h
-@@ -1,18 +1,18 @@
--/* We use pragma statements to tell the linker what we need to link
-- with. Since Curl requires Winsock, Winmm, and libcurl, and no other
-- project does, we include this file into the Curl transport source code
-- to tell the linker to add these libs.
--
-- Alternatively, the USER can add the libraries to LINK with as
-- NEEDED!
--*/
--
--#ifdef _DEBUG
--#pragma comment( lib, "C:\\FG\\FGCOMXML\\curl\\build\\Debug\\Lib_curl.lib" )
--#else
--#pragma comment( lib, "C:\\FG\\FGCOMXML\\curl\\build\\Release\\Lib_curl.lib" )
--#endif
--
--#pragma comment( lib, "Winmm.lib" )
--#pragma comment( lib, "Ws2_32.lib" )
--#pragma comment( lib, "Wldap32.lib" )
-+/* We use pragma statements to tell the linker what we need to link
-+ with. Since Curl requires Winsock, Winmm, and libcurl, and no other
-+ project does, we include this file into the Curl transport source code
-+ to tell the linker to add these libs.
-+
-+ Alternatively, the USER can add the libraries to LINK with as
-+ NEEDED!
-+*/
-+
-+#ifdef _DEBUG
-+#pragma comment( lib, "C:\\FG\\FGCOMXML\\curl\\build\\Debug\\Lib_curl.lib" )
-+#else
-+#pragma comment( lib, "C:\\FG\\FGCOMXML\\curl\\build\\Release\\Lib_curl.lib" )
-+#endif
-+
-+#pragma comment( lib, "Winmm.lib" )
-+#pragma comment( lib, "Ws2_32.lib" )
-+#pragma comment( lib, "Wldap32.lib" )
-diff --git a/libs/xmlrpc-c/Windows/dll/cpptest.vcproj b/libs/xmlrpc-c/Windows/dll/cpptest.vcproj
-new file mode 100644
-index 0000000..dcffa92
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/cpptest.vcproj
-@@ -0,0 +1,482 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/gennmtab.vcproj b/libs/xmlrpc-c/Windows/dll/gennmtab.vcproj
-new file mode 100644
-index 0000000..0336147
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/gennmtab.vcproj
-@@ -0,0 +1,449 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/rpctest.vcproj b/libs/xmlrpc-c/Windows/dll/rpctest.vcproj
-new file mode 100644
-index 0000000..3b5bfba
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/rpctest.vcproj
-@@ -0,0 +1,574 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/sample_add_asynch_client.vcproj b/libs/xmlrpc-c/Windows/dll/sample_add_asynch_client.vcproj
-new file mode 100644
-index 0000000..d5145ae
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/sample_add_asynch_client.vcproj
-@@ -0,0 +1,443 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/sample_add_server.vcproj b/libs/xmlrpc-c/Windows/dll/sample_add_server.vcproj
-new file mode 100644
-index 0000000..6060a06
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/sample_add_server.vcproj
-@@ -0,0 +1,433 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/sample_add_server_w32httpsys.vcproj b/libs/xmlrpc-c/Windows/dll/sample_add_server_w32httpsys.vcproj
-new file mode 100644
-index 0000000..e4e7a74
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/sample_add_server_w32httpsys.vcproj
-@@ -0,0 +1,433 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/sample_add_sync_client.vcproj b/libs/xmlrpc-c/Windows/dll/sample_add_sync_client.vcproj
-new file mode 100644
-index 0000000..9151e8e
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/sample_add_sync_client.vcproj
-@@ -0,0 +1,435 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/sample_auth_client.vcproj b/libs/xmlrpc-c/Windows/dll/sample_auth_client.vcproj
-new file mode 100644
-index 0000000..07aeb90
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/sample_auth_client.vcproj
-@@ -0,0 +1,435 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/tool_xmlrpc-transport.vcproj b/libs/xmlrpc-c/Windows/dll/tool_xmlrpc-transport.vcproj
-new file mode 100644
-index 0000000..1f35057
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/tool_xmlrpc-transport.vcproj
-@@ -0,0 +1,430 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/tool_xmlrpc.vcproj b/libs/xmlrpc-c/Windows/dll/tool_xmlrpc.vcproj
-new file mode 100644
-index 0000000..9708e11
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/tool_xmlrpc.vcproj
-@@ -0,0 +1,430 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/xmlrpc.sln b/libs/xmlrpc-c/Windows/dll/xmlrpc.sln
-new file mode 100644
-index 0000000..814b373
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/xmlrpc.sln
-@@ -0,0 +1,327 @@
-+
-+Microsoft Visual Studio Solution File, Format Version 10.00
-+# Visual Studio 2008
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxmlrpc_xmlparse", "xmlrpc_xmlparse.vcproj", "{40B0756D-AFEE-4A38-9F38-A372CE431404}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {BD9F6041-A272-462D-8C41-87CEF1F11408} = {BD9F6041-A272-462D-8C41-87CEF1F11408}
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416} = {29FBABB6-E36A-4559-9514-B3DAF6AE1416}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxmlrpc_xmltok", "xmlrpc_xmltok.vcproj", "{BD9F6041-A272-462D-8C41-87CEF1F11408}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {99BD200E-A4D5-4ED4-9D00-A6A19EFE1412} = {99BD200E-A4D5-4ED4-9D00-A6A19EFE1412}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gennmtab", "gennmtab.vcproj", "{99BD200E-A4D5-4ED4-9D00-A6A19EFE1412}"
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxmlrpc_util", "xmlrpc_util.vcproj", "{29FBABB6-E36A-4559-9514-B3DAF6AE1416}"
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxmlrpc", "xmlrpc.vcproj", "{226AB06F-60CA-4B21-9040-C6ECC0581522}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {40B0756D-AFEE-4A38-9F38-A372CE431404} = {40B0756D-AFEE-4A38-9F38-A372CE431404}
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416} = {29FBABB6-E36A-4559-9514-B3DAF6AE1416}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxmlrpc_abyss", "xmlrpc_abyss.vcproj", "{20A8F64B-F738-4D32-A798-A65AD8291541}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416} = {29FBABB6-E36A-4559-9514-B3DAF6AE1416}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxmlrpc_server", "xmlrpc_server.vcproj", "{74B67128-BC84-4BCB-A256-9286B6371552}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522} = {226AB06F-60CA-4B21-9040-C6ECC0581522}
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416} = {29FBABB6-E36A-4559-9514-B3DAF6AE1416}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxmlrpc_server_abyss", "xmlrpc_server_abyss.vcproj", "{E98186CB-F1B0-40A6-87A5-77B13A3F1600}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {74B67128-BC84-4BCB-A256-9286B6371552} = {74B67128-BC84-4BCB-A256-9286B6371552}
-+ {20A8F64B-F738-4D32-A798-A65AD8291541} = {20A8F64B-F738-4D32-A798-A65AD8291541}
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522} = {226AB06F-60CA-4B21-9040-C6ECC0581522}
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416} = {29FBABB6-E36A-4559-9514-B3DAF6AE1416}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxmlrpc_server_cgi", "xmlrpc_server_cgi.vcproj", "{A2AAAF37-F382-4A11-8D86-53B589921616}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {74B67128-BC84-4BCB-A256-9286B6371552} = {74B67128-BC84-4BCB-A256-9286B6371552}
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522} = {226AB06F-60CA-4B21-9040-C6ECC0581522}
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416} = {29FBABB6-E36A-4559-9514-B3DAF6AE1416}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxmlrpc_server_w32httpsys", "xmlrpc_server_w32httpsys.vcproj", "{0EECB080-FC8F-4C46-9FB7-5DB22F9D1622}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {74B67128-BC84-4BCB-A256-9286B6371552} = {74B67128-BC84-4BCB-A256-9286B6371552}
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522} = {226AB06F-60CA-4B21-9040-C6ECC0581522}
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416} = {29FBABB6-E36A-4559-9514-B3DAF6AE1416}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxmlrpc_client", "xmlrpc_client.vcproj", "{28BB53D9-D487-41DF-BBB3-FDB5846D1630}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522} = {226AB06F-60CA-4B21-9040-C6ECC0581522}
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416} = {29FBABB6-E36A-4559-9514-B3DAF6AE1416}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sample_add_asynch_client", "sample_add_asynch_client.vcproj", "{2D4A179E-E2BA-4ED9-934E-7E54C08F1652}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522} = {226AB06F-60CA-4B21-9040-C6ECC0581522}
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416} = {29FBABB6-E36A-4559-9514-B3DAF6AE1416}
-+ {28BB53D9-D487-41DF-BBB3-FDB5846D1630} = {28BB53D9-D487-41DF-BBB3-FDB5846D1630}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sample_add_server", "sample_add_server.vcproj", "{BEEB1B9C-BAF4-4B54-AB51-891156301702}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {74B67128-BC84-4BCB-A256-9286B6371552} = {74B67128-BC84-4BCB-A256-9286B6371552}
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522} = {226AB06F-60CA-4B21-9040-C6ECC0581522}
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416} = {29FBABB6-E36A-4559-9514-B3DAF6AE1416}
-+ {E98186CB-F1B0-40A6-87A5-77B13A3F1600} = {E98186CB-F1B0-40A6-87A5-77B13A3F1600}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sample_add_server_w32httpsys", "sample_add_server_w32httpsys.vcproj", "{B6887828-9480-4D4D-9CFC-AE4980D41707}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {74B67128-BC84-4BCB-A256-9286B6371552} = {74B67128-BC84-4BCB-A256-9286B6371552}
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522} = {226AB06F-60CA-4B21-9040-C6ECC0581522}
-+ {0EECB080-FC8F-4C46-9FB7-5DB22F9D1622} = {0EECB080-FC8F-4C46-9FB7-5DB22F9D1622}
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416} = {29FBABB6-E36A-4559-9514-B3DAF6AE1416}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sample_add_sync_client", "sample_add_sync_client.vcproj", "{A7A81BBD-C84D-479A-A9BD-194ADA3B1710}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522} = {226AB06F-60CA-4B21-9040-C6ECC0581522}
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416} = {29FBABB6-E36A-4559-9514-B3DAF6AE1416}
-+ {28BB53D9-D487-41DF-BBB3-FDB5846D1630} = {28BB53D9-D487-41DF-BBB3-FDB5846D1630}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sample_auth_client", "sample_auth_client.vcproj", "{29A2BBC4-9ED9-4162-817C-FEEB36FB1714}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522} = {226AB06F-60CA-4B21-9040-C6ECC0581522}
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416} = {29FBABB6-E36A-4559-9514-B3DAF6AE1416}
-+ {28BB53D9-D487-41DF-BBB3-FDB5846D1630} = {28BB53D9-D487-41DF-BBB3-FDB5846D1630}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rpctest", "rpctest.vcproj", "{4CFB235E-56AE-4BF2-BE67-8FD4AF5F1722}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {74B67128-BC84-4BCB-A256-9286B6371552} = {74B67128-BC84-4BCB-A256-9286B6371552}
-+ {20A8F64B-F738-4D32-A798-A65AD8291541} = {20A8F64B-F738-4D32-A798-A65AD8291541}
-+ {40B0756D-AFEE-4A38-9F38-A372CE431404} = {40B0756D-AFEE-4A38-9F38-A372CE431404}
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522} = {226AB06F-60CA-4B21-9040-C6ECC0581522}
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416} = {29FBABB6-E36A-4559-9514-B3DAF6AE1416}
-+ {E98186CB-F1B0-40A6-87A5-77B13A3F1600} = {E98186CB-F1B0-40A6-87A5-77B13A3F1600}
-+ {28BB53D9-D487-41DF-BBB3-FDB5846D1630} = {28BB53D9-D487-41DF-BBB3-FDB5846D1630}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxmlrpc++", "xmlrpc__.vcproj", "{3E7064F3-6200-4C39-85BE-775931D21828}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {74B67128-BC84-4BCB-A256-9286B6371552} = {74B67128-BC84-4BCB-A256-9286B6371552}
-+ {20A8F64B-F738-4D32-A798-A65AD8291541} = {20A8F64B-F738-4D32-A798-A65AD8291541}
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522} = {226AB06F-60CA-4B21-9040-C6ECC0581522}
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416} = {29FBABB6-E36A-4559-9514-B3DAF6AE1416}
-+ {E98186CB-F1B0-40A6-87A5-77B13A3F1600} = {E98186CB-F1B0-40A6-87A5-77B13A3F1600}
-+ {28BB53D9-D487-41DF-BBB3-FDB5846D1630} = {28BB53D9-D487-41DF-BBB3-FDB5846D1630}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpptest", "cpptest.vcproj", "{26FB3E14-7E0C-4B0C-AB1E-CFE4B48A1856}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {74B67128-BC84-4BCB-A256-9286B6371552} = {74B67128-BC84-4BCB-A256-9286B6371552}
-+ {20A8F64B-F738-4D32-A798-A65AD8291541} = {20A8F64B-F738-4D32-A798-A65AD8291541}
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522} = {226AB06F-60CA-4B21-9040-C6ECC0581522}
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416} = {29FBABB6-E36A-4559-9514-B3DAF6AE1416}
-+ {28BB53D9-D487-41DF-BBB3-FDB5846D1630} = {28BB53D9-D487-41DF-BBB3-FDB5846D1630}
-+ {3E7064F3-6200-4C39-85BE-775931D21828} = {3E7064F3-6200-4C39-85BE-775931D21828}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmlrpc", "tool_xmlrpc.vcproj", "{4CFB235E-56AE-4BF2-BE67-8FD4AF5F1940}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522} = {226AB06F-60CA-4B21-9040-C6ECC0581522}
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416} = {29FBABB6-E36A-4559-9514-B3DAF6AE1416}
-+ {28BB53D9-D487-41DF-BBB3-FDB5846D1630} = {28BB53D9-D487-41DF-BBB3-FDB5846D1630}
-+ EndProjectSection
-+EndProject
-+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmlrpc_transport", "tool_xmlrpc-transport.vcproj", "{4CFB235E-56AE-4BF2-BE67-8FD4AF5F1942}"
-+ ProjectSection(ProjectDependencies) = postProject
-+ {74B67128-BC84-4BCB-A256-9286B6371552} = {74B67128-BC84-4BCB-A256-9286B6371552}
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522} = {226AB06F-60CA-4B21-9040-C6ECC0581522}
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416} = {29FBABB6-E36A-4559-9514-B3DAF6AE1416}
-+ {28BB53D9-D487-41DF-BBB3-FDB5846D1630} = {28BB53D9-D487-41DF-BBB3-FDB5846D1630}
-+ EndProjectSection
-+EndProject
-+Global
-+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
-+ Debug|Win32 = Debug|Win32
-+ Debug|x64 = Debug|x64
-+ Release|Win32 = Release|Win32
-+ Release|x64 = Release|x64
-+ EndGlobalSection
-+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
-+ {40B0756D-AFEE-4A38-9F38-A372CE431404}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {40B0756D-AFEE-4A38-9F38-A372CE431404}.Debug|Win32.Build.0 = Debug|Win32
-+ {40B0756D-AFEE-4A38-9F38-A372CE431404}.Debug|x64.ActiveCfg = Debug|x64
-+ {40B0756D-AFEE-4A38-9F38-A372CE431404}.Debug|x64.Build.0 = Debug|x64
-+ {40B0756D-AFEE-4A38-9F38-A372CE431404}.Release|Win32.ActiveCfg = Release|Win32
-+ {40B0756D-AFEE-4A38-9F38-A372CE431404}.Release|Win32.Build.0 = Release|Win32
-+ {40B0756D-AFEE-4A38-9F38-A372CE431404}.Release|x64.ActiveCfg = Release|x64
-+ {40B0756D-AFEE-4A38-9F38-A372CE431404}.Release|x64.Build.0 = Release|x64
-+ {BD9F6041-A272-462D-8C41-87CEF1F11408}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {BD9F6041-A272-462D-8C41-87CEF1F11408}.Debug|Win32.Build.0 = Debug|Win32
-+ {BD9F6041-A272-462D-8C41-87CEF1F11408}.Debug|x64.ActiveCfg = Debug|x64
-+ {BD9F6041-A272-462D-8C41-87CEF1F11408}.Debug|x64.Build.0 = Debug|x64
-+ {BD9F6041-A272-462D-8C41-87CEF1F11408}.Release|Win32.ActiveCfg = Release|Win32
-+ {BD9F6041-A272-462D-8C41-87CEF1F11408}.Release|Win32.Build.0 = Release|Win32
-+ {BD9F6041-A272-462D-8C41-87CEF1F11408}.Release|x64.ActiveCfg = Release|x64
-+ {BD9F6041-A272-462D-8C41-87CEF1F11408}.Release|x64.Build.0 = Release|x64
-+ {99BD200E-A4D5-4ED4-9D00-A6A19EFE1412}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {99BD200E-A4D5-4ED4-9D00-A6A19EFE1412}.Debug|Win32.Build.0 = Debug|Win32
-+ {99BD200E-A4D5-4ED4-9D00-A6A19EFE1412}.Debug|x64.ActiveCfg = Debug|x64
-+ {99BD200E-A4D5-4ED4-9D00-A6A19EFE1412}.Debug|x64.Build.0 = Debug|x64
-+ {99BD200E-A4D5-4ED4-9D00-A6A19EFE1412}.Release|Win32.ActiveCfg = Release|Win32
-+ {99BD200E-A4D5-4ED4-9D00-A6A19EFE1412}.Release|Win32.Build.0 = Release|Win32
-+ {99BD200E-A4D5-4ED4-9D00-A6A19EFE1412}.Release|x64.ActiveCfg = Release|x64
-+ {99BD200E-A4D5-4ED4-9D00-A6A19EFE1412}.Release|x64.Build.0 = Release|x64
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416}.Debug|Win32.Build.0 = Debug|Win32
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416}.Debug|x64.ActiveCfg = Debug|x64
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416}.Debug|x64.Build.0 = Debug|x64
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416}.Release|Win32.ActiveCfg = Release|Win32
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416}.Release|Win32.Build.0 = Release|Win32
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416}.Release|x64.ActiveCfg = Release|x64
-+ {29FBABB6-E36A-4559-9514-B3DAF6AE1416}.Release|x64.Build.0 = Release|x64
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522}.Debug|Win32.Build.0 = Debug|Win32
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522}.Debug|x64.ActiveCfg = Debug|x64
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522}.Debug|x64.Build.0 = Debug|x64
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522}.Release|Win32.ActiveCfg = Release|Win32
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522}.Release|Win32.Build.0 = Release|Win32
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522}.Release|x64.ActiveCfg = Release|x64
-+ {226AB06F-60CA-4B21-9040-C6ECC0581522}.Release|x64.Build.0 = Release|x64
-+ {20A8F64B-F738-4D32-A798-A65AD8291541}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {20A8F64B-F738-4D32-A798-A65AD8291541}.Debug|Win32.Build.0 = Debug|Win32
-+ {20A8F64B-F738-4D32-A798-A65AD8291541}.Debug|x64.ActiveCfg = Debug|x64
-+ {20A8F64B-F738-4D32-A798-A65AD8291541}.Debug|x64.Build.0 = Debug|x64
-+ {20A8F64B-F738-4D32-A798-A65AD8291541}.Release|Win32.ActiveCfg = Release|Win32
-+ {20A8F64B-F738-4D32-A798-A65AD8291541}.Release|Win32.Build.0 = Release|Win32
-+ {20A8F64B-F738-4D32-A798-A65AD8291541}.Release|x64.ActiveCfg = Release|x64
-+ {20A8F64B-F738-4D32-A798-A65AD8291541}.Release|x64.Build.0 = Release|x64
-+ {74B67128-BC84-4BCB-A256-9286B6371552}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {74B67128-BC84-4BCB-A256-9286B6371552}.Debug|Win32.Build.0 = Debug|Win32
-+ {74B67128-BC84-4BCB-A256-9286B6371552}.Debug|x64.ActiveCfg = Debug|x64
-+ {74B67128-BC84-4BCB-A256-9286B6371552}.Debug|x64.Build.0 = Debug|x64
-+ {74B67128-BC84-4BCB-A256-9286B6371552}.Release|Win32.ActiveCfg = Release|Win32
-+ {74B67128-BC84-4BCB-A256-9286B6371552}.Release|Win32.Build.0 = Release|Win32
-+ {74B67128-BC84-4BCB-A256-9286B6371552}.Release|x64.ActiveCfg = Release|x64
-+ {74B67128-BC84-4BCB-A256-9286B6371552}.Release|x64.Build.0 = Release|x64
-+ {E98186CB-F1B0-40A6-87A5-77B13A3F1600}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {E98186CB-F1B0-40A6-87A5-77B13A3F1600}.Debug|Win32.Build.0 = Debug|Win32
-+ {E98186CB-F1B0-40A6-87A5-77B13A3F1600}.Debug|x64.ActiveCfg = Debug|x64
-+ {E98186CB-F1B0-40A6-87A5-77B13A3F1600}.Debug|x64.Build.0 = Debug|x64
-+ {E98186CB-F1B0-40A6-87A5-77B13A3F1600}.Release|Win32.ActiveCfg = Release|Win32
-+ {E98186CB-F1B0-40A6-87A5-77B13A3F1600}.Release|Win32.Build.0 = Release|Win32
-+ {E98186CB-F1B0-40A6-87A5-77B13A3F1600}.Release|x64.ActiveCfg = Release|x64
-+ {E98186CB-F1B0-40A6-87A5-77B13A3F1600}.Release|x64.Build.0 = Release|x64
-+ {A2AAAF37-F382-4A11-8D86-53B589921616}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {A2AAAF37-F382-4A11-8D86-53B589921616}.Debug|Win32.Build.0 = Debug|Win32
-+ {A2AAAF37-F382-4A11-8D86-53B589921616}.Debug|x64.ActiveCfg = Debug|x64
-+ {A2AAAF37-F382-4A11-8D86-53B589921616}.Debug|x64.Build.0 = Debug|x64
-+ {A2AAAF37-F382-4A11-8D86-53B589921616}.Release|Win32.ActiveCfg = Release|Win32
-+ {A2AAAF37-F382-4A11-8D86-53B589921616}.Release|Win32.Build.0 = Release|Win32
-+ {A2AAAF37-F382-4A11-8D86-53B589921616}.Release|x64.ActiveCfg = Release|x64
-+ {A2AAAF37-F382-4A11-8D86-53B589921616}.Release|x64.Build.0 = Release|x64
-+ {0EECB080-FC8F-4C46-9FB7-5DB22F9D1622}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {0EECB080-FC8F-4C46-9FB7-5DB22F9D1622}.Debug|Win32.Build.0 = Debug|Win32
-+ {0EECB080-FC8F-4C46-9FB7-5DB22F9D1622}.Debug|x64.ActiveCfg = Debug|x64
-+ {0EECB080-FC8F-4C46-9FB7-5DB22F9D1622}.Debug|x64.Build.0 = Debug|x64
-+ {0EECB080-FC8F-4C46-9FB7-5DB22F9D1622}.Release|Win32.ActiveCfg = Release|Win32
-+ {0EECB080-FC8F-4C46-9FB7-5DB22F9D1622}.Release|Win32.Build.0 = Release|Win32
-+ {0EECB080-FC8F-4C46-9FB7-5DB22F9D1622}.Release|x64.ActiveCfg = Release|x64
-+ {0EECB080-FC8F-4C46-9FB7-5DB22F9D1622}.Release|x64.Build.0 = Release|x64
-+ {28BB53D9-D487-41DF-BBB3-FDB5846D1630}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {28BB53D9-D487-41DF-BBB3-FDB5846D1630}.Debug|Win32.Build.0 = Debug|Win32
-+ {28BB53D9-D487-41DF-BBB3-FDB5846D1630}.Debug|x64.ActiveCfg = Debug|x64
-+ {28BB53D9-D487-41DF-BBB3-FDB5846D1630}.Debug|x64.Build.0 = Debug|x64
-+ {28BB53D9-D487-41DF-BBB3-FDB5846D1630}.Release|Win32.ActiveCfg = Release|Win32
-+ {28BB53D9-D487-41DF-BBB3-FDB5846D1630}.Release|Win32.Build.0 = Release|Win32
-+ {28BB53D9-D487-41DF-BBB3-FDB5846D1630}.Release|x64.ActiveCfg = Release|x64
-+ {28BB53D9-D487-41DF-BBB3-FDB5846D1630}.Release|x64.Build.0 = Release|x64
-+ {2D4A179E-E2BA-4ED9-934E-7E54C08F1652}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {2D4A179E-E2BA-4ED9-934E-7E54C08F1652}.Debug|Win32.Build.0 = Debug|Win32
-+ {2D4A179E-E2BA-4ED9-934E-7E54C08F1652}.Debug|x64.ActiveCfg = Debug|x64
-+ {2D4A179E-E2BA-4ED9-934E-7E54C08F1652}.Debug|x64.Build.0 = Debug|x64
-+ {2D4A179E-E2BA-4ED9-934E-7E54C08F1652}.Release|Win32.ActiveCfg = Release|Win32
-+ {2D4A179E-E2BA-4ED9-934E-7E54C08F1652}.Release|Win32.Build.0 = Release|Win32
-+ {2D4A179E-E2BA-4ED9-934E-7E54C08F1652}.Release|x64.ActiveCfg = Release|x64
-+ {2D4A179E-E2BA-4ED9-934E-7E54C08F1652}.Release|x64.Build.0 = Release|x64
-+ {BEEB1B9C-BAF4-4B54-AB51-891156301702}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {BEEB1B9C-BAF4-4B54-AB51-891156301702}.Debug|Win32.Build.0 = Debug|Win32
-+ {BEEB1B9C-BAF4-4B54-AB51-891156301702}.Debug|x64.ActiveCfg = Debug|x64
-+ {BEEB1B9C-BAF4-4B54-AB51-891156301702}.Debug|x64.Build.0 = Debug|x64
-+ {BEEB1B9C-BAF4-4B54-AB51-891156301702}.Release|Win32.ActiveCfg = Release|Win32
-+ {BEEB1B9C-BAF4-4B54-AB51-891156301702}.Release|Win32.Build.0 = Release|Win32
-+ {BEEB1B9C-BAF4-4B54-AB51-891156301702}.Release|x64.ActiveCfg = Release|x64
-+ {BEEB1B9C-BAF4-4B54-AB51-891156301702}.Release|x64.Build.0 = Release|x64
-+ {B6887828-9480-4D4D-9CFC-AE4980D41707}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {B6887828-9480-4D4D-9CFC-AE4980D41707}.Debug|Win32.Build.0 = Debug|Win32
-+ {B6887828-9480-4D4D-9CFC-AE4980D41707}.Debug|x64.ActiveCfg = Debug|x64
-+ {B6887828-9480-4D4D-9CFC-AE4980D41707}.Debug|x64.Build.0 = Debug|x64
-+ {B6887828-9480-4D4D-9CFC-AE4980D41707}.Release|Win32.ActiveCfg = Release|Win32
-+ {B6887828-9480-4D4D-9CFC-AE4980D41707}.Release|Win32.Build.0 = Release|Win32
-+ {B6887828-9480-4D4D-9CFC-AE4980D41707}.Release|x64.ActiveCfg = Release|x64
-+ {B6887828-9480-4D4D-9CFC-AE4980D41707}.Release|x64.Build.0 = Release|x64
-+ {A7A81BBD-C84D-479A-A9BD-194ADA3B1710}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {A7A81BBD-C84D-479A-A9BD-194ADA3B1710}.Debug|Win32.Build.0 = Debug|Win32
-+ {A7A81BBD-C84D-479A-A9BD-194ADA3B1710}.Debug|x64.ActiveCfg = Debug|x64
-+ {A7A81BBD-C84D-479A-A9BD-194ADA3B1710}.Debug|x64.Build.0 = Debug|x64
-+ {A7A81BBD-C84D-479A-A9BD-194ADA3B1710}.Release|Win32.ActiveCfg = Release|Win32
-+ {A7A81BBD-C84D-479A-A9BD-194ADA3B1710}.Release|Win32.Build.0 = Release|Win32
-+ {A7A81BBD-C84D-479A-A9BD-194ADA3B1710}.Release|x64.ActiveCfg = Release|x64
-+ {A7A81BBD-C84D-479A-A9BD-194ADA3B1710}.Release|x64.Build.0 = Release|x64
-+ {29A2BBC4-9ED9-4162-817C-FEEB36FB1714}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {29A2BBC4-9ED9-4162-817C-FEEB36FB1714}.Debug|Win32.Build.0 = Debug|Win32
-+ {29A2BBC4-9ED9-4162-817C-FEEB36FB1714}.Debug|x64.ActiveCfg = Debug|x64
-+ {29A2BBC4-9ED9-4162-817C-FEEB36FB1714}.Debug|x64.Build.0 = Debug|x64
-+ {29A2BBC4-9ED9-4162-817C-FEEB36FB1714}.Release|Win32.ActiveCfg = Release|Win32
-+ {29A2BBC4-9ED9-4162-817C-FEEB36FB1714}.Release|Win32.Build.0 = Release|Win32
-+ {29A2BBC4-9ED9-4162-817C-FEEB36FB1714}.Release|x64.ActiveCfg = Release|x64
-+ {29A2BBC4-9ED9-4162-817C-FEEB36FB1714}.Release|x64.Build.0 = Release|x64
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1722}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1722}.Debug|Win32.Build.0 = Debug|Win32
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1722}.Debug|x64.ActiveCfg = Debug|x64
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1722}.Debug|x64.Build.0 = Debug|x64
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1722}.Release|Win32.ActiveCfg = Release|Win32
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1722}.Release|Win32.Build.0 = Release|Win32
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1722}.Release|x64.ActiveCfg = Release|x64
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1722}.Release|x64.Build.0 = Release|x64
-+ {3E7064F3-6200-4C39-85BE-775931D21828}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {3E7064F3-6200-4C39-85BE-775931D21828}.Debug|Win32.Build.0 = Debug|Win32
-+ {3E7064F3-6200-4C39-85BE-775931D21828}.Debug|x64.ActiveCfg = Debug|x64
-+ {3E7064F3-6200-4C39-85BE-775931D21828}.Debug|x64.Build.0 = Debug|x64
-+ {3E7064F3-6200-4C39-85BE-775931D21828}.Release|Win32.ActiveCfg = Release|Win32
-+ {3E7064F3-6200-4C39-85BE-775931D21828}.Release|Win32.Build.0 = Release|Win32
-+ {3E7064F3-6200-4C39-85BE-775931D21828}.Release|x64.ActiveCfg = Release|x64
-+ {3E7064F3-6200-4C39-85BE-775931D21828}.Release|x64.Build.0 = Release|x64
-+ {26FB3E14-7E0C-4B0C-AB1E-CFE4B48A1856}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {26FB3E14-7E0C-4B0C-AB1E-CFE4B48A1856}.Debug|Win32.Build.0 = Debug|Win32
-+ {26FB3E14-7E0C-4B0C-AB1E-CFE4B48A1856}.Debug|x64.ActiveCfg = Debug|x64
-+ {26FB3E14-7E0C-4B0C-AB1E-CFE4B48A1856}.Debug|x64.Build.0 = Debug|x64
-+ {26FB3E14-7E0C-4B0C-AB1E-CFE4B48A1856}.Release|Win32.ActiveCfg = Release|Win32
-+ {26FB3E14-7E0C-4B0C-AB1E-CFE4B48A1856}.Release|Win32.Build.0 = Release|Win32
-+ {26FB3E14-7E0C-4B0C-AB1E-CFE4B48A1856}.Release|x64.ActiveCfg = Release|x64
-+ {26FB3E14-7E0C-4B0C-AB1E-CFE4B48A1856}.Release|x64.Build.0 = Release|x64
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1940}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1940}.Debug|Win32.Build.0 = Debug|Win32
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1940}.Debug|x64.ActiveCfg = Debug|x64
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1940}.Debug|x64.Build.0 = Debug|x64
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1940}.Release|Win32.ActiveCfg = Release|Win32
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1940}.Release|Win32.Build.0 = Release|Win32
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1940}.Release|x64.ActiveCfg = Release|x64
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1940}.Release|x64.Build.0 = Release|x64
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1942}.Debug|Win32.ActiveCfg = Debug|Win32
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1942}.Debug|Win32.Build.0 = Debug|Win32
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1942}.Debug|x64.ActiveCfg = Debug|x64
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1942}.Debug|x64.Build.0 = Debug|x64
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1942}.Release|Win32.ActiveCfg = Release|Win32
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1942}.Release|Win32.Build.0 = Release|Win32
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1942}.Release|x64.ActiveCfg = Release|x64
-+ {4CFB235E-56AE-4BF2-BE67-8FD4AF5F1942}.Release|x64.Build.0 = Release|x64
-+ EndGlobalSection
-+ GlobalSection(SolutionProperties) = preSolution
-+ HideSolutionNode = FALSE
-+ EndGlobalSection
-+EndGlobal
-diff --git a/libs/xmlrpc-c/Windows/dll/xmlrpc.vcproj b/libs/xmlrpc-c/Windows/dll/xmlrpc.vcproj
-new file mode 100644
-index 0000000..bd1515e
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/xmlrpc.vcproj
-@@ -0,0 +1,479 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/xmlrpc__.vcproj b/libs/xmlrpc-c/Windows/dll/xmlrpc__.vcproj
-new file mode 100644
-index 0000000..7f2732b
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/xmlrpc__.vcproj
-@@ -0,0 +1,1296 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/xmlrpc_abyss.vcproj b/libs/xmlrpc-c/Windows/dll/xmlrpc_abyss.vcproj
-new file mode 100644
-index 0000000..366acde
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/xmlrpc_abyss.vcproj
-@@ -0,0 +1,1342 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/xmlrpc_client.vcproj b/libs/xmlrpc-c/Windows/dll/xmlrpc_client.vcproj
-new file mode 100644
-index 0000000..b8424f2
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/xmlrpc_client.vcproj
-@@ -0,0 +1,425 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/xmlrpc_server.vcproj b/libs/xmlrpc-c/Windows/dll/xmlrpc_server.vcproj
-new file mode 100644
-index 0000000..d1d7ff5
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/xmlrpc_server.vcproj
-@@ -0,0 +1,413 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/xmlrpc_server_abyss.vcproj b/libs/xmlrpc-c/Windows/dll/xmlrpc_server_abyss.vcproj
-new file mode 100644
-index 0000000..4c71bc4
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/xmlrpc_server_abyss.vcproj
-@@ -0,0 +1,401 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/xmlrpc_server_cgi.vcproj b/libs/xmlrpc-c/Windows/dll/xmlrpc_server_cgi.vcproj
-new file mode 100644
-index 0000000..2eb2fae
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/xmlrpc_server_cgi.vcproj
-@@ -0,0 +1,401 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/xmlrpc_server_w32httpsys.vcproj b/libs/xmlrpc-c/Windows/dll/xmlrpc_server_w32httpsys.vcproj
-new file mode 100644
-index 0000000..3e1fab7
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/xmlrpc_server_w32httpsys.vcproj
-@@ -0,0 +1,405 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/xmlrpc_util.vcproj b/libs/xmlrpc-c/Windows/dll/xmlrpc_util.vcproj
-new file mode 100644
-index 0000000..1f7670f
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/xmlrpc_util.vcproj
-@@ -0,0 +1,449 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/xmlrpc_xmlparse.vcproj b/libs/xmlrpc-c/Windows/dll/xmlrpc_xmlparse.vcproj
-new file mode 100644
-index 0000000..2254c3e
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/xmlrpc_xmlparse.vcproj
-@@ -0,0 +1,417 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/dll/xmlrpc_xmltok.vcproj b/libs/xmlrpc-c/Windows/dll/xmlrpc_xmltok.vcproj
-new file mode 100644
-index 0000000..0e2c4b7
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/dll/xmlrpc_xmltok.vcproj
-@@ -0,0 +1,483 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/gennmtab.2008.vcproj b/libs/xmlrpc-c/Windows/gennmtab.2008.vcproj
-deleted file mode 100644
-index c4460dd..0000000
---- a/libs/xmlrpc-c/Windows/gennmtab.2008.vcproj
-+++ /dev/null
-@@ -1,242 +0,0 @@
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-diff --git a/libs/xmlrpc-c/Windows/mkvers.bat b/libs/xmlrpc-c/Windows/mkvers.bat
-index 2f6ec1b..3d2fb7f 100644
---- a/libs/xmlrpc-c/Windows/mkvers.bat
-+++ b/libs/xmlrpc-c/Windows/mkvers.bat
-@@ -1,9 +1,9 @@
- @if EXIST ..\version.h goto SHOW
--@if NOT EXIST ..\Makefile.version goto ERR1
-+@if NOT EXIST ..\version.mk goto ERR1
- @if NOT EXIST mkvers1.bat goto ERR2
- @echo updating/creating ..\version.h ...
- @set TEMP1=1
--@for /F "skip=8 tokens=3" %%i in (..\Makefile.version) do @call mkvers1 %%i
-+@for /F "skip=8 tokens=3" %%i in (..\version.mk) do @call mkvers1 %%i
- @if "%TEMPX1%." == "." goto NOX1
- @if "%TEMPX2%." == "." goto NOX1
- @if "%TEMPX3%." == "." goto NOX1
-@@ -11,7 +11,7 @@
- @echo #ifndef XMLRPC_C_VERSION_INCLUDED > %TEMP1%
- @echo #define XMLRPC_C_VERSION_INCLUDED >> %TEMP1%
- @echo /* generated by Windows/mkvers.bat on %DATE% ... */ >> %TEMP1%
--@echo #define XMLRPC_C_VERSION "Xmlrpc-c %TEMPX1%.%TEMPX2%.%TEMPX3%" >> %TEMP1%
-+@echo #define XMLRPC_C_VERSION "%TEMPX1%.%TEMPX2%.%TEMPX3%" >> %TEMP1%
- @echo #define XMLRPC_VERSION_MAJOR %TEMPX1% >> %TEMP1%
- @echo #define XMLRPC_VERSION_MINOR %TEMPX2% >> %TEMP1%
- @echo #define XMLRPC_VERSION_POINT %TEMPX3% >> %TEMP1%
-@@ -35,7 +35,7 @@ type %TEMP1%
-
-
- :ERR1
--@echo Can not locate ..\Makefile.version ... check name, location ...
-+@echo Can not locate ..\version.mk ... check name, location ...
- @pause
- @goto END
- :ERR2
-diff --git a/libs/xmlrpc-c/Windows/query_meerkat.dsp b/libs/xmlrpc-c/Windows/query_meerkat.dsp
-deleted file mode 100644
-index 2ffb15b..0000000
---- a/libs/xmlrpc-c/Windows/query_meerkat.dsp
-+++ /dev/null
-@@ -1,100 +0,0 @@
--# Microsoft Developer Studio Project File - Name="query_meerkat" - Package Owner=<4>
--# Microsoft Developer Studio Generated Build File, Format Version 6.00
--# ** DO NOT EDIT **
--
--# TARGTYPE "Win32 (x86) Console Application" 0x0103
--
--CFG=query_meerkat - Win32 Debug
--!MESSAGE This is not a valid makefile. To build this project using NMAKE,
--!MESSAGE use the Export Makefile command and run
--!MESSAGE
--!MESSAGE NMAKE /f "query_meerkat.mak".
--!MESSAGE
--!MESSAGE You can specify a configuration when running NMAKE
--!MESSAGE by defining the macro CFG on the command line. For example:
--!MESSAGE
--!MESSAGE NMAKE /f "query_meerkat.mak" CFG="query_meerkat - Win32 Debug"
--!MESSAGE
--!MESSAGE Possible choices for configuration are:
--!MESSAGE
--!MESSAGE "query_meerkat - Win32 Release" (based on "Win32 (x86) Console Application")
--!MESSAGE "query_meerkat - Win32 Debug" (based on "Win32 (x86) Console Application")
--!MESSAGE
--
--# Begin Project
--# PROP AllowPerConfigDependencies 0
--# PROP Scc_ProjName "query_meerkat"
--# PROP Scc_LocalPath ".."
--CPP=cl.exe
--RSC=rc.exe
--
--!IF "$(CFG)" == "query_meerkat - Win32 Release"
--
--# PROP BASE Use_MFC 0
--# PROP BASE Use_Debug_Libraries 0
--# PROP BASE Output_Dir "Release"
--# PROP BASE Intermediate_Dir "Release"
--# PROP BASE Target_Dir ""
--# PROP Use_MFC 0
--# PROP Use_Debug_Libraries 0
--# PROP Output_Dir "Release\query_meerkat"
--# PROP Intermediate_Dir "Release\query_meerkat"
--# PROP Target_Dir ""
--# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
--# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\\" /I "..\include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
--# ADD BASE RSC /l 0x409 /d "NDEBUG"
--# ADD RSC /l 0x409 /d "NDEBUG"
--BSC32=bscmake.exe
--# ADD BASE BSC32 /nologo
--# ADD BSC32 /nologo
--LINK32=link.exe
--# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
--# ADD LINK32 ..\lib\xmlrpc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib WinInet.lib /nologo /subsystem:console /machine:I386 /out:"..\bin\query_meerkat.exe"
--
--!ELSEIF "$(CFG)" == "query_meerkat - Win32 Debug"
--
--# PROP BASE Use_MFC 0
--# PROP BASE Use_Debug_Libraries 1
--# PROP BASE Output_Dir "Debug"
--# PROP BASE Intermediate_Dir "Debug"
--# PROP BASE Target_Dir ""
--# PROP Use_MFC 0
--# PROP Use_Debug_Libraries 1
--# PROP Output_Dir "Debug\query_meerkat"
--# PROP Intermediate_Dir "Debug\query_meerkat"
--# PROP Target_Dir ""
--# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
--# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\\" /I "..\include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
--# ADD BASE RSC /l 0x409 /d "_DEBUG"
--# ADD RSC /l 0x409 /d "_DEBUG"
--BSC32=bscmake.exe
--# ADD BASE BSC32 /nologo
--# ADD BSC32 /nologo
--LINK32=link.exe
--# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
--# ADD LINK32 ..\lib\xmlrpcD.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib WinInet.lib /nologo /subsystem:console /debug /machine:I386 /out:"..\bin\query_meerkatD.exe" /pdbtype:sept
--
--!ENDIF
--
--# Begin Target
--
--# Name "query_meerkat - Win32 Release"
--# Name "query_meerkat - Win32 Debug"
--# Begin Group "Source Files"
--
--# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
--# Begin Source File
--
--SOURCE="..\examples\query-meerkat.c"
--# End Source File
--# End Group
--# Begin Group "Header Files"
--
--# PROP Default_Filter "h;hpp;hxx;hm;inl"
--# End Group
--# Begin Group "Resource Files"
--
--# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
--# End Group
--# End Target
--# End Project
-diff --git a/libs/xmlrpc-c/Windows/rpctest.dsp b/libs/xmlrpc-c/Windows/rpctest.dsp
-index 159692c..aa8fc4c 100644
---- a/libs/xmlrpc-c/Windows/rpctest.dsp
-+++ b/libs/xmlrpc-c/Windows/rpctest.dsp
-@@ -143,6 +143,14 @@ SOURCE=..\src\test\value.c
- # End Source File
- # Begin Source File
-
-+SOURCE=..\src\test\value_datetime.c
-+# End Source File
-+# Begin Source File
-+
-+SOURCE=..\src\test\value_datetime.h
-+# End Source File
-+# Begin Source File
-+
- SOURCE=..\src\test\xml_data.c
- # End Source File
- # End Group
-diff --git a/libs/xmlrpc-c/Windows/socketpair.cpp b/libs/xmlrpc-c/Windows/socketpair.cpp
-new file mode 100644
-index 0000000..77310eb
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/socketpair.cpp
-@@ -0,0 +1,71 @@
-+#include
-+
-+
-+int
-+xmlrpc_win32_socketpair(int const domain,
-+ int const type,
-+ int const protocol,
-+ SOCKET socks[2]) {
-+ bool error;
-+
-+ error = false; // initial value
-+
-+ SOCKET listener;
-+ listener = socket(AF_INET, SOCK_STREAM, 0);
-+ if (listener == INVALID_SOCKET)
-+ error = true;
-+ else {
-+ struct sockaddr_in addr;
-+ memset(&addr, 0, sizeof(addr));
-+ addr.sin_family = AF_INET;
-+ addr.sin_addr.s_addr = htonl(0x7f000001);
-+ addr.sin_port = 0;
-+
-+ int rc;
-+ rc = bind(listener, (const struct sockaddr*) &addr, sizeof(addr));
-+ if (rc == SOCKET_ERROR)
-+ error = true;
-+ else {
-+ int addrlen;
-+ int rc;
-+ addrlen = sizeof(addr); // initial value
-+ rc = getsockname(listener, (struct sockaddr*) &addr, &addrlen);
-+ if (rc == SOCKET_ERROR)
-+ error = true;
-+ else {
-+ int rc;
-+
-+ rc = listen(listener, 1);
-+ if (rc == SOCKET_ERROR)
-+ error = true;
-+ else {
-+ socks[0] = socket(AF_INET, SOCK_STREAM, 0);
-+ if (socks[0] == INVALID_SOCKET)
-+ error = true;
-+ else {
-+ int rc;
-+ rc = connect(socks[0],
-+ (const struct sockaddr*) &addr,
-+ sizeof(addr));
-+ if (rc == SOCKET_ERROR)
-+ error = true;
-+ else {
-+ socks[1] = accept(listener, NULL, NULL);
-+ if (socks[1] == INVALID_SOCKET)
-+ error = true;
-+ }
-+ if (error)
-+ closesocket(socks[0]);
-+ }
-+ }
-+ }
-+ }
-+ closesocket(listener);
-+ }
-+
-+ return error ? -1 : 0;
-+}
-+
-+
-+
-+
-diff --git a/libs/xmlrpc-c/Windows/transport_config.h b/libs/xmlrpc-c/Windows/transport_config.h
-deleted file mode 100644
-index 2642168..0000000
---- a/libs/xmlrpc-c/Windows/transport_config.h
-+++ /dev/null
-@@ -1,13 +0,0 @@
--/* Win32 version of transport_config.h.
--
-- For other platforms, this is generated automatically, but for Windows,
-- someone generates it manually. Nonetheless, we keep it looking as much
-- as possible like the automatically generated one to make it easier to
-- maintain (e.g. you can compare the two and see why something builds
-- differently for Windows that for some other platform).
--*/
--#define MUST_BUILD_WININET_CLIENT 1
--#define MUST_BUILD_CURL_CLIENT 0
--#define MUST_BUILD_LIBWWW_CLIENT 0
--static const char * const XMLRPC_DEFAULT_TRANSPORT =
--"wininet";
-diff --git a/libs/xmlrpc-c/Windows/transport_config_win32.h b/libs/xmlrpc-c/Windows/transport_config_win32.h
-index 54bb9b5..2642168 100644
---- a/libs/xmlrpc-c/Windows/transport_config_win32.h
-+++ b/libs/xmlrpc-c/Windows/transport_config_win32.h
-@@ -1,13 +1,13 @@
--/* Win32 version of transport_config.h.
--
-- For other platforms, this is generated automatically, but for Windows,
-- someone generates it manually. Nonetheless, we keep it looking as much
-- as possible like the automatically generated one to make it easier to
-- maintain (e.g. you can compare the two and see why something builds
-- differently for Windows that for some other platform).
--*/
--#define MUST_BUILD_WININET_CLIENT 1
--#define MUST_BUILD_CURL_CLIENT 0
--#define MUST_BUILD_LIBWWW_CLIENT 0
--static const char * const XMLRPC_DEFAULT_TRANSPORT =
--"wininet";
-+/* Win32 version of transport_config.h.
-+
-+ For other platforms, this is generated automatically, but for Windows,
-+ someone generates it manually. Nonetheless, we keep it looking as much
-+ as possible like the automatically generated one to make it easier to
-+ maintain (e.g. you can compare the two and see why something builds
-+ differently for Windows that for some other platform).
-+*/
-+#define MUST_BUILD_WININET_CLIENT 1
-+#define MUST_BUILD_CURL_CLIENT 0
-+#define MUST_BUILD_LIBWWW_CLIENT 0
-+static const char * const XMLRPC_DEFAULT_TRANSPORT =
-+"wininet";
-diff --git a/libs/xmlrpc-c/Windows/win32_config.h b/libs/xmlrpc-c/Windows/win32_config.h
-index aabf9c2..d0df55b 100644
---- a/libs/xmlrpc-c/Windows/win32_config.h
-+++ b/libs/xmlrpc-c/Windows/win32_config.h
-@@ -20,19 +20,23 @@
- #define XMLRPC_SOCKET SOCKET
- #define XMLRPC_HAVE_TIMEVAL 0
- #define XMLRPC_HAVE_TIMESPEC 0
-+ #define XMLRPC_HAVE_PTHREAD 0
- #else
- #define XMLRPC_SOCKET int
- #define XMLRPC_HAVE_TIMEVAL 1
- #define XMLRPC_HAVE_TIMESPEC 1
-+ #define XMLRPC_HAVE_PTHREAD 1
- #endif
-
- #if defined(_MSC_VER)
- /* Newer MSVC has long long, but MSVC 6 does not */
- #define XMLRPC_INT64 __int64
- #define XMLRPC_INT32 __int32
-+ #define XMLRPC_PRId64 PRId64
- #else
- #define XMLRPC_INT64 long long
- #define XMLRPC_INT32 int
-+ #define XMLRPC_PRId64 "I64d"
- #endif
- #endif
-
-diff --git a/libs/xmlrpc-c/Windows/xmlparse.2008.vcproj b/libs/xmlrpc-c/Windows/xmlparse.2008.vcproj
-deleted file mode 100644
-index 15adb11..0000000
---- a/libs/xmlrpc-c/Windows/xmlparse.2008.vcproj
-+++ /dev/null
-@@ -1,387 +0,0 @@
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-diff --git a/libs/xmlrpc-c/Windows/xmlparse.2010.vcxproj b/libs/xmlrpc-c/Windows/xmlparse.2010.vcxproj
-deleted file mode 100644
-index a747e32..0000000
---- a/libs/xmlrpc-c/Windows/xmlparse.2010.vcxproj
-+++ /dev/null
-@@ -1,198 +0,0 @@
--
--
--
--
-- Debug
-- Win32
--
--
-- Debug
-- x64
--
--
-- Release
-- Win32
--
--
-- Release
-- x64
--
--
--
-- xmlparse
-- {0D108721-EAE8-4BAF-8102-D8960EC93647}
-- xmlparse
--
--
--
-- StaticLibrary
-- false
-- MultiByte
--
--
-- StaticLibrary
-- false
-- MultiByte
--
--
-- StaticLibrary
-- false
-- MultiByte
--
--
-- StaticLibrary
-- false
-- MultiByte
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-- <_ProjectFileVersion>10.0.30319.1
-- $(PlatformName)\xmlparse\$(Configuration)\
-- $(PlatformName)\xmlparse\$(Configuration)\
-- $(PlatformName)\xmlparse\$(Configuration)\
-- $(PlatformName)\xmlparse\$(Configuration)\
--
--
--
-- MaxSpeed
-- OnlyExplicitInline
-- ..\lib\expat\xmltok;..\lib\expat\xmlwf;..;..\lib\util\include;..\include;.;%(AdditionalIncludeDirectories)
-- NDEBUG;WIN32;_WINDOWS;XML_DTD;_LIB;%(PreprocessorDefinitions)
-- true
-- MultiThreaded
-- true
-- Level3
-- true
--
--
-- NDEBUG;%(PreprocessorDefinitions)
-- 0x0409
--
--
-- true
--
--
-- true
-- .\Release\xmlparse/xmlparse.bsc
--
--
--
--
-- X64
--
--
-- MaxSpeed
-- OnlyExplicitInline
-- ..\lib\expat\xmltok;..\lib\expat\xmlwf;..;..\lib\util\include;..\include;.;%(AdditionalIncludeDirectories)
-- NDEBUG;WIN32;_WINDOWS;XML_DTD;_LIB;%(PreprocessorDefinitions)
-- true
-- MultiThreaded
-- true
-- Level3
-- true
--
--
-- NDEBUG;%(PreprocessorDefinitions)
-- 0x0409
--
--
-- true
--
--
-- true
-- .\Release\xmlparse/xmlparse.bsc
--
--
--
--
-- Disabled
-- ..\lib\expat\xmltok;..\lib\expat\xmlwf;..;..\lib\util\include;..\include;.;%(AdditionalIncludeDirectories)
-- WIN32;_WINDOWS;XML_DTD;_LIB;%(PreprocessorDefinitions)
-- true
-- EnableFastChecks
-- MultiThreadedDebugDLL
-- Level3
-- true
-- ProgramDatabase
--
--
-- _DEBUG;%(PreprocessorDefinitions)
-- 0x0409
--
--
-- true
--
--
-- true
-- .\Debug\xmlparse/xmlparse.bsc
--
--
--
--
-- X64
--
--
-- Disabled
-- ..\lib\expat\xmltok;..\lib\expat\xmlwf;..;..\lib\util\include;..\include;.;%(AdditionalIncludeDirectories)
-- WIN32;_WINDOWS;XML_DTD;_LIB;%(PreprocessorDefinitions)
-- true
-- EnableFastChecks
-- MultiThreadedDebugDLL
-- Level3
-- true
-- ProgramDatabase
--
--
-- _DEBUG;%(PreprocessorDefinitions)
-- 0x0409
--
--
-- true
--
--
-- true
-- .\Debug\xmlparse/xmlparse.bsc
--
--
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
--
--
--
--
--
--
--
-\ No newline at end of file
-diff --git a/libs/xmlrpc-c/Windows/xmlrpc-c/config.h b/libs/xmlrpc-c/Windows/xmlrpc-c/config.h
-deleted file mode 100644
-index aabf9c2..0000000
---- a/libs/xmlrpc-c/Windows/xmlrpc-c/config.h
-+++ /dev/null
-@@ -1,38 +0,0 @@
--#ifndef XMLRPC_C_CONFIG_H_INCLUDED
--#define XMLRPC_C_CONFIG_H_INCLUDED
--
--/* This file, part of XML-RPC For C/C++, is meant to
-- define characteristics of this particular installation
-- that the other header files need in
-- order to compile correctly when #included in Xmlrpc-c
-- user code.
--
-- Those header files #include this one.
--
-- This file was created by a make rule.
--*/
--#define XMLRPC_HAVE_WCHAR 1
--#ifdef WIN32
-- /* SOCKET is a type defined by . Anyone who
-- uses XMLRPC_SOCKET on a WIN32 system must #include
--
-- */
-- #define XMLRPC_SOCKET SOCKET
-- #define XMLRPC_HAVE_TIMEVAL 0
-- #define XMLRPC_HAVE_TIMESPEC 0
--#else
-- #define XMLRPC_SOCKET int
-- #define XMLRPC_HAVE_TIMEVAL 1
-- #define XMLRPC_HAVE_TIMESPEC 1
--#endif
--
--#if defined(_MSC_VER)
-- /* Newer MSVC has long long, but MSVC 6 does not */
-- #define XMLRPC_INT64 __int64
-- #define XMLRPC_INT32 __int32
--#else
-- #define XMLRPC_INT64 long long
-- #define XMLRPC_INT32 int
--#endif
--#endif
--
-diff --git a/libs/xmlrpc-c/Windows/xmlrpc.2008.vcproj b/libs/xmlrpc-c/Windows/xmlrpc.2008.vcproj
-deleted file mode 100644
-index 6a16191..0000000
---- a/libs/xmlrpc-c/Windows/xmlrpc.2008.vcproj
-+++ /dev/null
-@@ -1,2042 +0,0 @@
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-diff --git a/libs/xmlrpc-c/Windows/xmlrpc.2010.vcxproj b/libs/xmlrpc-c/Windows/xmlrpc.2010.vcxproj
-deleted file mode 100644
-index bdc988c..0000000
---- a/libs/xmlrpc-c/Windows/xmlrpc.2010.vcxproj
-+++ /dev/null
-@@ -1,620 +0,0 @@
--
--
--
--
-- Debug
-- Win32
--
--
-- Debug
-- x64
--
--
-- Release
-- Win32
--
--
-- Release
-- x64
--
--
--
-- xmlrpc
-- {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}
-- xmlrpc
--
--
--
-- StaticLibrary
-- false
-- MultiByte
--
--
-- StaticLibrary
-- false
-- MultiByte
--
--
-- StaticLibrary
-- false
-- MultiByte
--
--
-- StaticLibrary
-- false
-- MultiByte
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-- <_ProjectFileVersion>10.0.30319.1
-- $(PlatformName)\xmlrpc\$(Configuration)\
-- $(PlatformName)\xmlrpc\$(Configuration)\
-- $(PlatformName)\xmlrpc\$(Configuration)\
-- $(PlatformName)\xmlrpc\$(Configuration)\
--
--
--
-- Disabled
-- ../lib;../lib/util/include;../include;..;../lib/expat/xmlparse;../lib/abyss/src;../lib/wininet_transport;.;%(AdditionalIncludeDirectories)
-- _DEBUG;WIN32;_LIB;ABYSS_WIN32;CURL_STATICLIB;%(PreprocessorDefinitions)
-- true
-- EnableFastChecks
-- MultiThreadedDebugDLL
-- Level3
-- true
--
--
-- _DEBUG;%(PreprocessorDefinitions)
-- 0x0409
--
--
-- true
--
--
-- true
-- .\Debug\xmlrpc/xmlrpc.bsc
--
--
--
--
-- X64
--
--
-- Disabled
-- ../lib;../lib/util/include;../include;..;../lib/expat/xmlparse;../lib/abyss/src;../lib/wininet_transport;.;%(AdditionalIncludeDirectories)
-- _DEBUG;WIN32;_LIB;ABYSS_WIN32;CURL_STATICLIB;%(PreprocessorDefinitions)
-- true
-- EnableFastChecks
-- MultiThreadedDebugDLL
-- Level3
-- true
--
--
-- _DEBUG;%(PreprocessorDefinitions)
-- 0x0409
--
--
-- true
--
--
-- true
-- .\Debug\xmlrpc/xmlrpc.bsc
--
--
--
--
-- MaxSpeed
-- OnlyExplicitInline
-- ../lib;../lib/util/include;../include;..;../lib/expat/xmlparse;../lib/abyss/src;../lib/wininet_transport;.;%(AdditionalIncludeDirectories)
-- NDEBUG;WIN32;_LIB;ABYSS_WIN32;CURL_STATICLIB;%(PreprocessorDefinitions)
-- true
-- MultiThreadedDLL
-- true
-- Level3
-- true
--
--
-- NDEBUG;%(PreprocessorDefinitions)
-- 0x0409
--
--
-- true
--
--
-- true
-- .\Release\xmlrpc/xmlrpc.bsc
--
--
--
--
-- X64
--
--
-- MaxSpeed
-- OnlyExplicitInline
-- ../lib;../lib/util/include;../include;..;../lib/expat/xmlparse;../lib/abyss/src;../lib/wininet_transport;.;%(AdditionalIncludeDirectories)
-- NDEBUG;WIN32;_LIB;ABYSS_WIN32;CURL_STATICLIB;%(PreprocessorDefinitions)
-- true
-- MultiThreadedDLL
-- true
-- Level3
-- true
--
--
-- NDEBUG;%(PreprocessorDefinitions)
-- 0x0409
--
--
-- true
--
--
-- true
-- .\Release\xmlrpc/xmlrpc.bsc
--
--
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- true
-- .;..\..\curl\include;%(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- .;..\..\curl\include;%(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- .;..\..\curl\include;%(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- .;..\..\curl\include;%(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- true
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-\ No newline at end of file
-diff --git a/libs/xmlrpc-c/Windows/xmlrpc.2010.vcxproj.filters b/libs/xmlrpc-c/Windows/xmlrpc.2010.vcxproj.filters
-deleted file mode 100644
-index 6886dfe..0000000
---- a/libs/xmlrpc-c/Windows/xmlrpc.2010.vcxproj.filters
-+++ /dev/null
-@@ -1,287 +0,0 @@
--
--
--
--
-- {7ca2b8b9-bf59-4407-aedf-588e548fe34a}
-- cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;cc
--
--
-- {28891c93-973b-487f-a8f9-3fae090e14e3}
-- h;hpp;hxx;hm;inl
--
--
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
-- Source Files
--
--
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
-- Header Files
--
--
--
-\ No newline at end of file
-diff --git a/libs/xmlrpc-c/Windows/xmlrpc.dsp b/libs/xmlrpc-c/Windows/xmlrpc.dsp
-index 15d20f0..a85ad1d 100644
---- a/libs/xmlrpc-c/Windows/xmlrpc.dsp
-+++ b/libs/xmlrpc-c/Windows/xmlrpc.dsp
-@@ -91,6 +91,10 @@ SOURCE=..\lib\libutil\asprintf.c
- # End Source File
- # Begin Source File
-
-+SOURCE=..\lib\libutil\base64.c
-+# End Source File
-+# Begin Source File
-+
- SOURCE=..\lib\libutil\error.c
- # End Source File
- # Begin Source File
-@@ -111,6 +115,10 @@ SOURCE=..\lib\util\pthreadx_win32.c
- # End Source File
- # Begin Source File
-
-+SOURCE=..\src\parse_datetime.c
-+# End Source File
-+# Begin Source File
-+
- SOURCE=..\src\parse_value.c
- # End Source File
- # Begin Source File
-@@ -362,6 +370,10 @@ SOURCE=..\lib\util\include\pthreadx.h
- # End Source File
- # Begin Source File
-
-+SOURCE=..\src\parse_datetime.h
-+# End Source File
-+# Begin Source File
-+
- SOURCE=..\src\parse_value.h
- # End Source File
- # Begin Source File
-diff --git a/libs/xmlrpc-c/Windows/xmlrpc.dsw b/libs/xmlrpc-c/Windows/xmlrpc.dsw
-index f7b676e..62a062e 100644
---- a/libs/xmlrpc-c/Windows/xmlrpc.dsw
-+++ b/libs/xmlrpc-c/Windows/xmlrpc.dsw
-@@ -111,6 +111,36 @@ Package=<4>
-
- ###############################################################################
-
-+Project: "xmlrpc_misc"=".\xmlrpc_misc.dsp" - Package Owner=<4>
-+
-+Package=<5>
-+{{{
-+}}}
-+
-+Package=<4>
-+{{{
-+}}}
-+
-+###############################################################################
-+
-+Project: "xmlrpcclient"=".\xmlrpcclient.dsp" - Package Owner=<4>
-+
-+Package=<5>
-+{{{
-+}}}
-+
-+Package=<4>
-+{{{
-+ Begin Project Dependency
-+ Project_Dep_Name xmlrpc
-+ End Project Dependency
-+ Begin Project Dependency
-+ Project_Dep_Name xmlrpc_misc
-+ End Project Dependency
-+}}}
-+
-+###############################################################################
-+
- Project: "xmlrpccpp"=".\xmlrpccpp.dsp" - Package Owner=<4>
-
- Package=<5>
-diff --git a/libs/xmlrpc-c/Windows/xmlrpc_config.h b/libs/xmlrpc-c/Windows/xmlrpc_config.h
-deleted file mode 100644
-index 319dc2a..0000000
---- a/libs/xmlrpc-c/Windows/xmlrpc_config.h
-+++ /dev/null
-@@ -1,158 +0,0 @@
--/* Win32 version of xmlrpc_config.h.
--
-- For other platforms, this is generated automatically, but for Windows,
-- someone generates it manually. Nonetheless, we keep it looking as much
-- as possible like the automatically generated one to make it easier to
-- maintain (e.g. you can compare the two and see why something builds
-- differently for Windows than for some other platform).
--
-- The purpose of this file is to define stuff particular to the build
-- environment being used to build Xmlrpc-c. Xmlrpc-c source files can
-- #include this file and have build-environment-independent source code.
--
-- A major goal of this file is to reduce conditional compilation in
-- the other source files as much as possible. Even more, we want to avoid
-- having to generate source code particular to a build environment
-- except in this file.
--
-- This file is NOT meant to be used by any code outside of the
-- Xmlrpc-c source tree. There is a similar file that gets installed
-- as that performs the same function for Xmlrpc-c
-- interface header files that get compiled as part of a user's program.
--
-- Logical macros are 0 or 1 instead of the more traditional defined and
-- undefined. That's so we can distinguish when compiling code between
-- "false" and some problem with the code.
--*/
--
--#ifndef XMLRPC_CONFIG_H_INCLUDED
--#define XMLRPC_CONFIG_H_INCLUDED
--
--/* From xmlrpc_amconfig.h */
--
--#define HAVE__STRICMP 1
--/* Name of package */
--#define PACKAGE "xmlrpc-c"
--/*----------------------------------*/
--
--#ifndef HAVE_SETGROUPS
--#define HAVE_SETGROUPS 0
--#endif
--#ifndef HAVE_ASPRINTF
--#define HAVE_ASPRINTF 0
--#endif
--#ifndef HAVE_SETENV
--#define HAVE_SETENV 0
--#endif
--#ifndef HAVE_PSELECT
--#define HAVE_PSELECT 0
--#endif
--#ifndef HAVE_WCSNCMP
--#define HAVE_WCSNCMP 1
--#endif
--#ifndef HAVE_GETTIMEOFDAY
--#define HAVE_GETTIMEOFDAY 0
--#endif
--#ifndef HAVE_LOCALTIME_R
--#define HAVE_LOCALTIME_R 0
--#endif
--#ifndef HAVE_GMTIME_R
--#define HAVE_GMTIME_R 0
--#endif
--#ifndef HAVE_STRCASECMP
--#define HAVE_STRCASECMP 0
--#endif
--#ifndef HAVE_STRICMP
--#define HAVE_STRICMP 0
--#endif
--#ifndef HAVE__STRICMP
--#define HAVE__STRICMP 0
--#endif
--
--#define HAVE_WCHAR_H 1
--#define HAVE_SYS_FILIO_H 0
--#define HAVE_SYS_IOCTL_H 0
--
--#define VA_LIST_IS_ARRAY 0
--
--#define HAVE_LIBWWW_SSL 0
--
--/* Used to mark an unused function parameter */
--#define ATTR_UNUSED
--
--#define DIRECTORY_SEPARATOR "\\"
--
--#define HAVE_UNICODE_WCHAR 1
--
--/* Xmlrpc-c code uses __inline__ to declare functions that should
-- be compiled as inline code. GNU C recognizes the __inline__ keyword.
-- Others recognize 'inline' or '__inline' or nothing at all to say
-- a function should be inlined.
--
-- We could make 'configure' simply do a trial compile to figure out
-- which one, but for now, this approximation is easier:
--*/
--#if (!defined(__GNUC__))
-- #if (!defined(__inline__))
-- #if (defined(__sgi) || defined(_AIX) || defined(_MSC_VER))
-- #define __inline__ __inline
-- #else
-- #define __inline__
-- #endif
-- #endif
--#endif
--
--/* MSVCRT means we're using the Microsoft Visual C++ runtime library */
--
--#ifdef _MSC_VER
--/* The compiler is Microsoft Visual C++. */
-- #define MSVCRT _MSC_VER
--#else
-- #define MSVCRT 0
--#endif
--
--#if MSVCRT
-- /* The MSVC runtime library _does_ have a 'struct timeval', but it is
-- part of the Winsock interface (along with select(), which is probably
-- its intended use), so isn't intended for use for general timekeeping.
-- */
-- #define HAVE_TIMEVAL 0
-- #define HAVE_TIMESPEC 0
--#else
-- #define HAVE_TIMEVAL 1
-- /* timespec is Posix.1b. If we need to work on a non-Posix.1b non-Windows
-- system, we'll have to figure out how to make Configure determine this.
-- */
-- #define HAVE_TIMESPEC 1
--#endif
--
--#if MSVCRT
-- #define XMLRPC_VSNPRINTF _vsnprintf
--#else
-- #define XMLRPC_VSNPRINTF vsnprintf
--#endif
--
--#if defined(_MSC_VER) && (_MSC_VER >= 1400)
--/* Starting with MSVC 8, the runtime library defines various POSIX functions
-- such as strdup() whose names violate the ISO C standard (the standard
-- says the strXXX names are reserved for the standard), but warns you of
-- the standards violation. That warning is 4996, along with other warnings
-- that tell you you're using a function that Microsoft thinks you
-- shouldn't.
--
-- Well, POSIX is more important than that element of ISO C, so we disable
-- that warning.
--
-- FYI, msvcrt also defines _strdup(), etc, which doesn't violate the
-- naming standard. But since other environments don't define _strdup(),
-- we can't use it in portable code.
--*/
--#pragma warning(disable:4996)
--#endif
--
--#define snprintf _snprintf
--#define popen _popen
--#define strtoll _strtoui64
--#define strtoull _strtoui64
--
--#endif
-diff --git a/libs/xmlrpc-c/Windows/xmlrpc_win32_config.h b/libs/xmlrpc-c/Windows/xmlrpc_win32_config.h
-index e4e34fd..798b5b2 100644
---- a/libs/xmlrpc-c/Windows/xmlrpc_win32_config.h
-+++ b/libs/xmlrpc-c/Windows/xmlrpc_win32_config.h
-@@ -31,6 +31,8 @@
- /* From xmlrpc_amconfig.h */
-
- #define HAVE__STRICMP 1
-+#define HAVE__STRTOUI64 1
-+
- /* Name of package */
- #define PACKAGE "xmlrpc-c"
- /*----------------------------------*/
-@@ -72,6 +74,7 @@
- #define HAVE_WCHAR_H 1
- #define HAVE_SYS_FILIO_H 0
- #define HAVE_SYS_IOCTL_H 0
-+#define HAVE_SYS_SELECT_H 0
-
- #define VA_LIST_IS_ARRAY 0
-
-@@ -127,11 +130,41 @@
- #endif
-
- #if MSVCRT
-+ #define HAVE_WINDOWS_THREAD 1
-+#else
-+ #define HAVE_WINDOWS_THREAD 0
-+#endif
-+
-+/* Some people have and use pthreads on Windows. See
-+ http://sourceware.org/pthreads-win32 . For that case, we can set
-+ HAVE_PTHREAD to 1. The builder prefers to use pthreads if it has
-+ a choice.
-+*/
-+#define HAVE_PTHREAD 0
-+
-+/* Note that the return value of XMLRPC_VSNPRINTF is int on Windows,
-+ ssize_t on POSIX.
-+*/
-+#if MSVCRT
- #define XMLRPC_VSNPRINTF _vsnprintf
- #else
- #define XMLRPC_VSNPRINTF vsnprintf
- #endif
-
-+#if MSVCRT
-+ #define HAVE_REGEX 0
-+#else
-+ #define HAVE_REGEX 1
-+#endif
-+
-+#if MSVCRT
-+ #define XMLRPC_SOCKETPAIR xmlrpc_win32_socketpair
-+ #define XMLRPC_CLOSESOCKET closesocket
-+#else
-+ #define XMLRPC_SOCKETPAIR socketpair
-+ #define XMLRPC_CLOSESOCKET close
-+#endif
-+
- #if defined(_MSC_VER) && (_MSC_VER >= 1400)
- /* Starting with MSVC 8, the runtime library defines various POSIX functions
- such as strdup() whose names violate the ISO C standard (the standard
-@@ -149,10 +182,42 @@
- */
- #pragma warning(disable:4996)
- #endif
-+/* Warning C4090 is "different 'const' qualifiers".
-+
-+ We disable this warning because MSVC erroneously issues it when there is
-+ in fact no difference in const qualifiers:
-+
-+ const char ** p;
-+ void * q;
-+ q = p;
-+
-+ Note that both p and q are pointers to non-const.
-+
-+ We have seen this in MSVC 7.1, 8, and 9 (but not 6).
-+*/
-+#pragma warning(disable:4090)
-+
-+#if HAVE_STRTOLL
-+ # define XMLRPC_STRTOLL strtoll
-+#elif HAVE_STRTOQ
-+ # define XMLRPC_STRTOLL strtoq /* Interix */
-+#elif HAVE___STRTOLL
-+ # define XMLRPC_STRTOLL __strtoll /* HP-UX <= 11.11 */
-+#elif HAVE__STRTOUI64
-+ #define XMLRPC_STRTOLL _strtoui64 /* Windows MSVC */
-+#endif
-+
-+#if HAVE_STRTOULL
-+ # define XMLRPC_STRTOULL strtoull
-+#elif HAVE_STRTOUQ
-+ # define XMLRPC_STRTOULL strtouq /* Interix */
-+#elif HAVE___STRTOULL
-+ # define XMLRPC_STRTOULL __strtoull /* HP-UX <= 11.11 */
-+#elif HAVE__STRTOUI64
-+ #define XMLRPC_STRTOULL _strtoui64 /* Windows MSVC */
-+#endif
-
- #define snprintf _snprintf
- #define popen _popen
--#define strtoll _strtoui64
--#define strtoull _strtoui64
-
- #endif
-diff --git a/libs/xmlrpc-c/Windows/xmlrpcclient.dsp b/libs/xmlrpc-c/Windows/xmlrpcclient.dsp
-new file mode 100644
-index 0000000..97061b0
---- /dev/null
-+++ b/libs/xmlrpc-c/Windows/xmlrpcclient.dsp
-@@ -0,0 +1,106 @@
-+# Microsoft Developer Studio Project File - Name="xmlrpcclient" - Package Owner=<4>
-+# Microsoft Developer Studio Generated Build File, Format Version 6.00
-+# ** DO NOT EDIT **
-+
-+# TARGTYPE "Win32 (x86) Console Application" 0x0103
-+
-+CFG=xmlrpcclient - Win32 Release
-+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-+!MESSAGE use the Export Makefile command and run
-+!MESSAGE
-+!MESSAGE NMAKE /f "xmlrpcclient.mak".
-+!MESSAGE
-+!MESSAGE You can specify a configuration when running NMAKE
-+!MESSAGE by defining the macro CFG on the command line. For example:
-+!MESSAGE
-+!MESSAGE NMAKE /f "xmlrpcclient.mak" CFG="xmlrpcclient - Win32 Release"
-+!MESSAGE
-+!MESSAGE Possible choices for configuration are:
-+!MESSAGE
-+!MESSAGE "xmlrpcclient - Win32 Release" (based on "Win32 (x86) Console Application")
-+!MESSAGE "xmlrpcclient - Win32 Debug" (based on "Win32 (x86) Console Application")
-+!MESSAGE
-+
-+# Begin Project
-+# PROP AllowPerConfigDependencies 0
-+CPP=cl.exe
-+RSC=rc.exe
-+
-+!IF "$(CFG)" == "xmlrpcclient - Win32 Release"
-+
-+# PROP BASE Use_MFC 0
-+# PROP BASE Use_Debug_Libraries 0
-+# PROP BASE Output_Dir ".\Release"
-+# PROP BASE Intermediate_Dir ".\Release"
-+# PROP BASE Target_Dir "."
-+# PROP Use_MFC 0
-+# PROP Use_Debug_Libraries 0
-+# PROP Output_Dir "Release\xmlrpcclient"
-+# PROP Intermediate_Dir "Release\xmlrpcclient"
-+# PROP Ignore_Export_Lib 0
-+# PROP Target_Dir "."
-+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
-+# ADD CPP /nologo /MT /W3 /GX /O2 /I ".." /I "..\lib\util\include" /I "..\tools\lib\include" /I "..\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /FD /c
-+# SUBTRACT CPP /YX
-+# ADD BASE RSC /l 0x809 /d "NDEBUG"
-+# ADD RSC /l 0x809 /d "NDEBUG"
-+BSC32=bscmake.exe
-+# ADD BASE BSC32 /nologo
-+# ADD BSC32 /nologo
-+LINK32=link.exe
-+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wininet.lib /nologo /subsystem:console /machine:I386 /out:"..\bin\xmlrpcclient.exe"
-+
-+!ELSEIF "$(CFG)" == "xmlrpcclient - Win32 Debug"
-+
-+# PROP BASE Use_MFC 0
-+# PROP BASE Use_Debug_Libraries 1
-+# PROP BASE Output_Dir ".\Debug"
-+# PROP BASE Intermediate_Dir ".\Debug"
-+# PROP BASE Target_Dir "."
-+# PROP Use_MFC 0
-+# PROP Use_Debug_Libraries 1
-+# PROP Output_Dir "Debug\xmlrpcclient"
-+# PROP Intermediate_Dir "Debug\xmlrpcclient"
-+# PROP Ignore_Export_Lib 0
-+# PROP Target_Dir "."
-+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
-+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I ".." /I "..\lib\util\include" /I "..\tools\lib\include" /I "..\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
-+# SUBTRACT CPP /YX
-+# ADD BASE RSC /l 0x809 /d "_DEBUG"
-+# ADD RSC /l 0x809 /d "_DEBUG"
-+BSC32=bscmake.exe
-+# ADD BASE BSC32 /nologo
-+# ADD BSC32 /nologo
-+LINK32=link.exe
-+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
-+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wininet.lib /nologo /subsystem:console /debug /machine:I386 /out:"..\bin\xmlrpcclientD.exe"
-+
-+!ENDIF
-+
-+# Begin Target
-+
-+# Name "xmlrpcclient - Win32 Release"
-+# Name "xmlrpcclient - Win32 Debug"
-+# Begin Group "Source Files"
-+
-+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;for;f90"
-+# Begin Source File
-+
-+SOURCE=..\tools\xmlrpc\xmlrpc.c
-+# End Source File
-+# Begin Source File
-+
-+SOURCE=..\tools\lib\dumpvalue.c
-+# End Source File
-+# End Group
-+# Begin Group "Header Files"
-+
-+# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
-+# End Group
-+# Begin Group "Resource Files"
-+
-+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
-+# End Group
-+# End Target
-+# End Project
-diff --git a/libs/xmlrpc-c/Windows/xmlrpccpp.dsp b/libs/xmlrpc-c/Windows/xmlrpccpp.dsp
-index fedf4e2..34a4728 100644
---- a/libs/xmlrpc-c/Windows/xmlrpccpp.dsp
-+++ b/libs/xmlrpc-c/Windows/xmlrpccpp.dsp
-@@ -128,7 +128,6 @@ SOURCE=..\src\cpp\outcome.cpp
- # Begin Source File
-
- SOURCE=..\src\cpp\packetsocket.cpp
--# PROP Exclude_From_Build 1
- # End Source File
- # Begin Source File
-
-@@ -152,6 +151,10 @@ SOURCE=..\src\cpp\server_pstream.cpp
- # End Source File
- # Begin Source File
-
-+SOURCE=..\src\cpp\server_pstream_conn.cpp
-+# End Source File
-+# Begin Source File
-+
- SOURCE=..\src\cpp\value.cpp
- # End Source File
- # Begin Source File
-diff --git a/libs/xmlrpc-c/Windows/xmltok.2008.vcproj b/libs/xmlrpc-c/Windows/xmltok.2008.vcproj
-deleted file mode 100644
-index 0935ede..0000000
---- a/libs/xmlrpc-c/Windows/xmltok.2008.vcproj
-+++ /dev/null
-@@ -1,455 +0,0 @@
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-diff --git a/libs/xmlrpc-c/Windows/xmltok.2010.vcxproj b/libs/xmlrpc-c/Windows/xmltok.2010.vcxproj
-deleted file mode 100644
-index a34b3f1..0000000
---- a/libs/xmlrpc-c/Windows/xmltok.2010.vcxproj
-+++ /dev/null
-@@ -1,213 +0,0 @@
--
--
--
--
-- Debug
-- Win32
--
--
-- Debug
-- x64
--
--
-- Release
-- Win32
--
--
-- Release
-- x64
--
--
--
-- xmltok
-- {B535402E-38D2-4D54-8360-423ACBD17192}
-- xmltok
--
--
--
-- StaticLibrary
-- false
-- MultiByte
--
--
-- StaticLibrary
-- false
-- MultiByte
--
--
-- StaticLibrary
-- false
-- MultiByte
--
--
-- StaticLibrary
-- false
-- MultiByte
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-- <_ProjectFileVersion>10.0.30319.1
-- $(PlatformName)\xmltok\$(Configuration)\
-- $(PlatformName)\xmltok\$(Configuration)\
-- $(PlatformName)\xmltok\$(Configuration)\
-- $(PlatformName)\xmltok\$(Configuration)\
--
--
--
-- Disabled
-- ..;.;%(AdditionalIncludeDirectories)
-- _DEBUG;WIN32;_WINDOWS;XML_DTD;XML_NS;_LIB;%(PreprocessorDefinitions)
-- true
-- EnableFastChecks
-- MultiThreadedDebugDLL
-- Level3
-- true
--
--
-- _DEBUG;%(PreprocessorDefinitions)
-- 0x0409
--
--
-- true
--
--
-- true
-- .\Debug\xmltok/xmltok.bsc
--
--
--
--
-- X64
--
--
-- Disabled
-- ..;.;%(AdditionalIncludeDirectories)
-- _DEBUG;WIN32;_WINDOWS;XML_DTD;XML_NS;_LIB;%(PreprocessorDefinitions)
-- true
-- EnableFastChecks
-- MultiThreadedDebugDLL
-- Level3
-- true
--
--
-- _DEBUG;%(PreprocessorDefinitions)
-- 0x0409
--
--
-- true
--
--
-- true
-- .\Debug\xmltok/xmltok.bsc
--
--
--
--
-- MaxSpeed
-- OnlyExplicitInline
-- ..;.;%(AdditionalIncludeDirectories)
-- NDEBUG;XML_NS;WIN32;_WINDOWS;XML_DTD;_LIB;%(PreprocessorDefinitions)
-- true
-- MultiThreaded
-- true
-- Level3
-- true
--
--
-- NDEBUG;%(PreprocessorDefinitions)
-- 0x0409
--
--
-- true
--
--
-- true
-- .\Release\xmltok/xmltok.bsc
--
--
--
--
-- X64
--
--
-- MaxSpeed
-- OnlyExplicitInline
-- ..;.;%(AdditionalIncludeDirectories)
-- NDEBUG;XML_NS;WIN32;_WINDOWS;XML_DTD;_LIB;%(PreprocessorDefinitions)
-- true
-- MultiThreaded
-- true
-- Level3
-- true
--
--
-- NDEBUG;%(PreprocessorDefinitions)
-- 0x0409
--
--
-- true
--
--
-- true
-- .\Release\xmltok/xmltok.bsc
--
--
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
-- %(AdditionalIncludeDirectories)
-- %(PreprocessorDefinitions)
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-\ No newline at end of file
-diff --git a/libs/xmlrpc-c/Windows/xmltok.dsp b/libs/xmlrpc-c/Windows/xmltok.dsp
-index eaaebde..d9f88c8 100644
---- a/libs/xmlrpc-c/Windows/xmltok.dsp
-+++ b/libs/xmlrpc-c/Windows/xmltok.dsp
-@@ -41,7 +41,7 @@ RSC=rc.exe
- MTL=midl.exe
- LINK32=link.exe -lib
- # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_LIB" /YX /FD /c
--# ADD CPP /nologo /MT /W3 /GX /O2 /I ".." /D "NDEBUG" /D "XML_NS" /D "WIN32" /D "_WINDOWS" /D "XML_DTD" /D "_MBCS" /D "_LIB" /YX /FD /c
-+# ADD CPP /nologo /MT /W3 /GX /O2 /I ".." /I "..\lib\util\include" /D "NDEBUG" /D "XML_NS" /D "WIN32" /D "_WINDOWS" /D "XML_DTD" /D "_MBCS" /D "_LIB" /YX /FD /c
- # ADD BASE RSC /l 0x409 /d "NDEBUG"
- # ADD RSC /l 0x409 /d "NDEBUG"
- BSC32=bscmake.exe
-@@ -66,7 +66,7 @@ LIB32=link.exe -lib
- MTL=midl.exe
- LINK32=link.exe -lib
- # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
--# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I ".." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "XML_DTD" /D "XML_NS" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I ".." /I "..\lib\util\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "XML_DTD" /D "XML_NS" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
- # ADD BASE RSC /l 0x409 /d "_DEBUG"
- # ADD RSC /l 0x409 /d "_DEBUG"
- BSC32=bscmake.exe
-diff --git a/libs/xmlrpc-c/common.mk b/libs/xmlrpc-c/common.mk
-index 5b89fa1..a20bf42 100644
---- a/libs/xmlrpc-c/common.mk
-+++ b/libs/xmlrpc-c/common.mk
-@@ -9,7 +9,7 @@
- # SRCDIR: Name of directory which is the top of the Xmlrpc-c source tree.
- # BLDDIR: Name of directory which is the top of the Xmlrpc-c build tree.
-
--include $(SRCDIR)/Makefile.version
-+include $(SRCDIR)/version.mk
-
- # .DELETE_ON_ERROR is a special predefined Make target that says to delete
- # the target if a command in the rule for it fails. That's important,
-@@ -17,13 +17,27 @@ include $(SRCDIR)/Makefile.version
- # fully made.
- .DELETE_ON_ERROR:
-
--GCC_WARNINGS = -Wall -Wundef -Wimplicit -W -Winline -Wundef
-+GCC_WARNINGS = -Wall -W -Wno-uninitialized -Wundef -Wimplicit -Winline \
-+ -Wno-unknown-pragmas
- # We need -Wwrite-strings after we fix all the missing consts
-+ #
-+ # -Wuninitialized catches some great bugs, but it also flags a whole lot
-+ # of perfectly good code that can't be written any better. Too bad there's
-+ # no way to annotate particular variables as being OK, so we could turn
-+ # on -Wuninitialized for all the others.
-
- GCC_C_WARNINGS = $(GCC_WARNINGS) \
- -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes
-
--GCC_CXX_WARNINGS = $(GCC_WARNINGS) -Woverloaded-virtual -Wsynth
-+GCC_CXX_WARNINGS = $(GCC_WARNINGS) -Wsynth
-+
-+# Before 09.05.20, we had -Woverloaded-virtual, but it doesn't seem to do
-+# anything useful. It causes a warning that a method was hidden, but
-+# experiments show nothing is actually hidden. The GCC manual's description
-+# of what it does does not match empirical evidence. The option causes
-+# warnings when a derived class of xmlrpc_c::method2 overrides one of the
-+# execute() methods and not the other (as cpp/test/registry.cpp does), but the
-+# code works fine.
-
- # The NDEBUG macro says not to build code that assumes there are no bugs.
- # This makes the code go faster. The main thing it does is tell the C library
-@@ -55,12 +69,21 @@ ifeq ($(CURDIR)x,x)
- CURDIR := $(shell /bin/pwd)
- endif
-
-+# The package XmlRpc++ on Sourceforge includes a library named
-+# libxmlrpc++ just as Xmlrpc-c does. To use them both, you may need
-+# to rename one. To rename the Xmlrpc-c one, set the make variable
-+# LIBXMLRPCPP_NAME, e.g. on the 'make' command line.
-+
-+ifeq ($(LIBXMLRPCPP_NAME),)
-+ LIBXMLRPCPP_NAME := xmlrpc++
-+endif
-+
- ##############################################################################
- # STATIC LINK LIBRARY RULES #
- ##############################################################################
-
-
--# To use this rule, the including make file must set a target_specific
-+# To use this rule, the including make file must set a target-specific
- # variable LIBOBJECTS (and declare dependencies that include LIBOBJECTS).
- # Example:
- # FOO_OBJECTS = foo1.o foo2.o
-@@ -81,19 +104,19 @@ $(TARGET_STATIC_LIBRARIES):
- ##############################################################################
-
- ifeq ($(SHARED_LIB_TYPE),unix)
-- include $(SRCDIR)/unix-common.make
-+ include $(SRCDIR)/unix-common.mk
- endif
-
- ifeq ($(SHARED_LIB_TYPE),irix)
-- include $(SRCDIR)/irix-common.make
-+ include $(SRCDIR)/irix-common.mk
- endif
-
- ifeq ($(SHARED_LIB_TYPE),dll)
-- include $(SRCDIR)/dll-common.make
-+ include $(SRCDIR)/dll-common.mk
- endif
-
- ifeq ($(SHARED_LIB_TYPE),dylib)
-- include $(SRCDIR)/dylib-common.make
-+ include $(SRCDIR)/dylib-common.mk
- endif
-
- ifeq ($(SHARED_LIB_TYPE),NONE)
-@@ -127,10 +150,10 @@ endif
-
- #------ the actual rules ----------------------------------------------------
- $(TARGET_SHARED_LIBRARIES) dummyshlib:
-- $(CCLD) $(LDFLAGS_SHLIB) $(LIBDEP) -o $@ $(LIBOBJECTS) $(LADD)
-+ $(CCLD) $(LADD) $(LDFLAGS_SHLIB) $(LIBOBJECTS) $(LIBDEP) -o $@
-
- $(TARGET_SHARED_LIBS_PP) dummyshlibpp:
-- $(CXXLD) $(LDFLAGS_SHLIB) $(LIBDEP) -o $@ $(LIBOBJECTS) $(LADD)
-+ $(CXXLD) $(LADD) $(LDFLAGS_SHLIB) $(LIBOBJECTS) $(LIBDEP) -o $@
- #----------------------------------------------------------------------------
-
- LIBXMLRPC_UTIL_DIR = $(BLDDIR)/lib/libutil
-@@ -186,7 +209,6 @@ LIBXMLRPC_ABYSS = \
- LIBXMLRPC_ABYSS_A = $(LIBXMLRPC_ABYSS_DIR)/libxmlrpc_abyss.a
- endif
-
--ifneq ($(OMIT_CPP_LIB_RULES),Y)
- LIBXMLRPC_CPP = \
- $(call shliblefn, $(BLDDIR)/src/cpp/libxmlrpc_cpp)
- LIBXMLRPC_CPP_A = $(BLDDIR)/src/cpp/libxmlrpc_cpp.a
-@@ -208,7 +230,6 @@ LIBXMLRPC_SERVER_ABYSSPP_A = $(BLDDIR)/src/cpp/libxmlrpc_server_abyss++.a
- LIBXMLRPC_SERVER_PSTREAMPP = \
- $(call shliblefn, $(BLDDIR)/src/cpp/libxmlrpc_server_pstream++)
- LIBXMLRPC_SERVER_PSTREAMPP_A = $(BLDDIR)/src/cpp/libxmlrpc_server_pstream++.a
--endif
-
- # LIBXMLRPC_XML is the list of Xmlrpc-c libraries we need to parse
- # XML. If we're using an external library to parse XML, this is null.
-@@ -239,31 +260,41 @@ endif
- # foo.o foo.osh: INCLUDES = -Iinclude -I/usr/include/foostuff
- # bar.o bar.osh: INCLUDES = -Iinclude -I/usr/include/barstuff
- #
--# include Makefile.common
-+# include common.mk
- #
- # The above generates rules to build foo.o, bar.o, foo.osh, and bar.osh
- #
- # For C++ source files, use TARGET_MODS_PP instead.
-
--# CFLAGS and CXXFLAGS are designed to be overridden on the make command
--# line. We pile all the options except -I into these variables so the
--# user can override them all if he wants.
-+# CFLAGS and CXXFLAGS are designed to be picked up as environment
-+# variables. The user may use them to add inclusion search directories
-+# (-I) or control 32/64 bitness or the like. Using these is always
-+# iffy, because the options one might include can interact in unpredictable
-+# ways with what the make file is trying to do. But at least some users
-+# get useful results.
-+
-+CFLAGS_ALL = $(CFLAGS_COMMON) $(CFLAGS_LOCAL) $(CFLAGS) \
-+ $(INCLUDES) $(CFLAGS_PERSONAL) $(CADD)
-+
-+CXXFLAGS_ALL = $(CXXFLAGS_COMMON) $(CFLAGS_LOCAL) $(CXXFLAGS) \
-+ $(INCLUDES) $(CFLAGS_PERSONAL) $(CADD)
-+
-
- $(TARGET_MODS:%=%.o):%.o:%.c
-- $(CC) -c -o $@ $(INCLUDES) $(CFLAGS) $<
-+ $(CC) -c -o $@ $(CFLAGS_ALL) $<
-
- $(TARGET_MODS:%=%.osh): CFLAGS_COMMON += $(CFLAGS_SHLIB)
-
- $(TARGET_MODS:%=%.osh):%.osh:%.c
-- $(CC) -c -o $@ $(INCLUDES) $(CFLAGS) $(CFLAGS_SHLIB) $<
-+ $(CC) -c -o $@ $(INCLUDES) $(CFLAGS_ALL) $(CFLAGS_SHLIB) $<
-
- $(TARGET_MODS_PP:%=%.o):%.o:%.cpp
-- $(CXX) -c -o $@ $(INCLUDES) $(CXXFLAGS) $<
-+ $(CXX) -c -o $@ $(INCLUDES) $(CXXFLAGS_ALL) $<
-
- $(TARGET_MODS_PP:%=%.osh): CXXFLAGS_COMMON += $(CFLAGS_SHLIB)
-
- $(TARGET_MODS_PP:%=%.osh):%.osh:%.cpp
-- $(CXX) -c -o $@ $(INCLUDES) $(CXXFLAGS) $<
-+ $(CXX) -c -o $@ $(INCLUDES) $(CXXFLAGS_ALL) $<
-
-
- ##############################################################################
-@@ -278,11 +309,6 @@ $(TARGET_MODS_PP:%=%.osh):%.osh:%.cpp
- # to rebuild the symbolic link. So we don't make $(SRCDIR) a
- # dependency of 'srcdir'.
-
--# We should do the same for 'blddir'. We did once before, then undid
--# it in an erroneous effort to enable parallel make. It's a little harder
--# with blddir; when we did it before, we had to use the non-symlink
--# version in a few places.
--
- srcdir:
- $(LN_S) $(SRCDIR) $@
- blddir:
-@@ -343,6 +369,12 @@ endif
- ifneq ($(OMIT_CURL_TRANSPORT_RULE),Y)
- $(BLDDIR)/lib/curl_transport/xmlrpc_curl_transport.o \
- $(BLDDIR)/lib/curl_transport/xmlrpc_curl_transport.osh \
-+$(BLDDIR)/lib/curl_transport/curltransaction.o \
-+$(BLDDIR)/lib/curl_transport/curltransaction.osh \
-+$(BLDDIR)/lib/curl_transport/curlmulti.o \
-+$(BLDDIR)/lib/curl_transport/curlmulti.osh \
-+$(BLDDIR)/lib/curl_transport/lock_pthread.o \
-+$(BLDDIR)/lib/curl_transport/lock_pthread.osh \
- : FORCE
- $(MAKE) -C $(dir $@) -f $(SRCDIR)/lib/curl_transport/Makefile \
- $(notdir $@)
-@@ -385,6 +417,8 @@ $(LIBXMLRPC_ABYSS) $(LIBXMLRPC_ABYSS_A): FORCE
- $(MAKE) -C $(dir $@) -f $(SRCDIR)/lib/abyss/src/Makefile \
- $(notdir $@)
-
-+ifneq ($(OMIT_CPP_LIB_RULES),Y)
-+
- $(LIBXMLRPCPP) $(LIBXMLRPCPP_A) \
- $(LIBXMLRPC_PACKETSOCKET) $(LIBXMLRPC_PACKETSOCKET_A) \
- $(LIBXMLRPC_CLIENTPP) $(LIBXMLRPC_CLIENTPP_A) \
-@@ -394,6 +428,7 @@ $(LIBXMLRPC_SERVER_PSTREAMPP) $(LIBXMLRPC_SERVER_PSTREAMPP_A) \
- $(LIBXMLRPC_CPP) $(LIBXMLRPC_CPP_A) : FORCE
- $(MAKE) -C $(dir $@) -f $(SRCDIR)/src/cpp/Makefile \
- $(notdir $@)
-+endif
-
- # For the following utilities, we don't bother with a library -- we
- # just explicitly link the object file we need. This is to save
-@@ -421,12 +456,12 @@ CASPRINTF = $(UTIL_DIR)/casprintf.o
-
- # About version.h: This is a built header file, which means it is a supreme
- # pain in the ass. The biggest problem is that when we automatically make
--# dependencies (Makefile.depend), it doesn't exist yet. This means Gcc
-+# dependencies (depend.mk), it doesn't exist yet. This means Gcc
- # generates a dependency on it being in the local directory. Therefore,
- # we generate it in the local directory, as a symbolic link, wherever it
- # is needed. But the original is always in the top level directory,
- # generated by a rule in that directory's make file. Problem 2 is that
--# the top directory's make file includes Makefile.common, so the rules
-+# the top directory's make file includes common.mk, so the rules
- # below conflict with it. That's what OMIT_VERSION_H is for.
-
- ifneq ($(OMIT_VERSION_H),Y)
-@@ -471,10 +506,10 @@ $(SUBDIRS:%=$(CURDIR)/%):
-
- MKINSTALLDIRS = $(SHELL) $(SRCDIR)/mkinstalldirs
-
--.PHONY: install-common install-ltlibraries install-headers install-bin
-+.PHONY: install-common install-headers install-bin install-man
- install-common: \
-- install-ltlibraries install-static-libraries install-shared-libraries \
-- install-headers install-bin
-+ install-static-libraries install-shared-libraries \
-+ install-headers install-bin install-man
-
- INSTALL_LIB_CMD = $(INSTALL_DATA) $$p $(DESTDIR)$(LIBINST_DIR)/$$p
- RANLIB_CMD = $(RANLIB) $(DESTDIR)$(LIBINST_DIR)/$$p
-@@ -520,6 +555,16 @@ install-bin: $(PROGRAMS_TO_INSTALL) $(DESTDIR)$(PROGRAMINST_DIR)
- $(DESTDIR)$(PROGRAMINST_DIR):
- $(MKINSTALLDIRS) $@
-
-+MANDESTDIR = $(DESTDIR)$(MANINST_DIR)
-+INSTALL_MAN_CMD = $(INSTALL_DATA) $$p $(MANDESTDIR)/$$p
-+
-+install-man: $(MAN_FILES_TO_INSTALL)
-+ $(MKINSTALLDIRS) $(MANDESTDIR)
-+ @list='$(MAN_FILES_TO_INSTALL)'; \
-+ for p in $$list; do \
-+ echo "$(MAN_FILES_TO_INSTALL)"; \
-+ $(INSTALL_MAN_CMD); \
-+ done
-
- ##############################################################################
- # MISCELLANEOUS RULES #
-@@ -536,29 +581,30 @@ endif
-
- .PHONY: distclean-common
- distclean-common:
--# Makefile.depend is generated by 'make dep' and contains only dependencies
-+# depend.mk is generated by 'make dep' and contains only dependencies
- # that make parts get _rebuilt_ when parts upon which they depend change.
- # It does not contain dependencies that are necessary to cause a part to
- # get built in the first place. E.g. if foo.c uses bar.h and bar.h gets built
- # by a make rule, you must put the dependency of foo.c on bar.h somewhere
--# besides Makefile.depend.
-+# besides depend.mk.
- #
--# Because of this, a user doesn't need Makefile.depend, because he
-+# Because of this, a user doesn't need depend.mk, because he
- # doesn't modify source files. A developer, on the other hand, must make his
--# own Makefile.depend, because 'make dep' creates Makefile.depend with
-+# own depend.mk, because 'make dep' creates depend.mk with
- # absolute pathnames, specific to the developer's system.
- #
--# So we obliterate Makefile.depend here. The build will automatically
--# create an empty Makefile.depend when it is needed for the user. The
-+# So we obliterate depend.mk here. The build will automatically
-+# create an empty depend.mk when it is needed for the user. The
- # developer must do 'make dep' if he wants to edit and rebuild.
- #
- # Other projects have the build automatically build a true
--# Makefile.depend, suitable for a developer. We have found that to be
-+# depend.mk, suitable for a developer. We have found that to be
- # an utter disaster -- it's way too complicated and prone to failure,
- # especially with built .h files. Better not to burden the user, who
- # gains nothing from it, with that.
- #
-- rm -f Makefile.depend
-+ rm -f depend.mk
-+ rm -f Makefile.depend # We used to create a file by this name
- rm -f srcdir blddir
-
- .PHONY: distdir-common
-@@ -589,17 +635,17 @@ dep-common: FORCE
- ifneq ($(DEP_SOURCES)x,x)
- -$(CC) -MM -MG -I. $(INCLUDES) $(DEP_SOURCES) | \
- $(DEPEND_MASSAGER) \
-- >Makefile.depend
-+ >depend.mk
- endif
-
--Makefile.depend:
-+depend.mk:
- cat /dev/null >$@
-
- # The automatic dependency generation is a pain in the butt and
- # totally unnecessary for people just installing the distributed code,
- # so to avoid needless failures in the field and a complex build, the
--# 'distclean' target simply makes Makefile.depend an empty file. A
--# developer may do 'make dep' to create a Makefile.depend full of real
-+# 'distclean' target simply makes depend.mk an empty file. A
-+# developer may do 'make dep' to create a depend.mk full of real
- # dependencies.
-
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
-diff --git a/libs/xmlrpc-c/conf/abyss_root/conf/abyss.conf b/libs/xmlrpc-c/conf/abyss_root/conf/abyss.conf
-deleted file mode 100644
-index f9c09f2..0000000
---- a/libs/xmlrpc-c/conf/abyss_root/conf/abyss.conf
-+++ /dev/null
-@@ -1,56 +0,0 @@
--# ABYSS Web Server configuration file
--# (C) Moez Mahfoudh - 2000
--
--# Cases in option names are ignored,
--# that means that PORT=port=PoRT=..
--
--# When writing paths, do not worry about / or \ use.
--# ABYSS will substitute / with \ on Win32 systems.
--
--# Options which are system specific (such as User) are
--# ignored on systems which do not handle them.
--
--# The Port option tells the server on which TCP port to listen.
--# default is 80
--Port 8080
--
--# The name or #number of the user to run the server as if it is
--# launched as root (UNIX specific)
--User nobody
--
--# The Server Root (UNIX systems style)
--ServerRoot conf/abyss_root
--
--# The Server Root (Win32 systems style)
--# ServerRoot G:\XML\xmlrpc-c-0.9.5\conf\abyss_root
--
--# The Path option specifies the web files path.
--Path htdocs
--
--# The Default option contains the name of the files the server should
--# look for when only a path is given (e.g. http://myserver/info/).
--Default index.html index.htm INDEX.HTM INDEX.HTML
--
--# The KeepAlive option is used to set the maximum number of requests
--# served using the same persistent connection.
--KeepAlive 10
--
--# The TimeOut option tells the server how much seconds to wait for
--# an idle connection before closing it.
--TimeOut 10
--
--# The MimeTypes option specifies the location of the file
--# containing the mapping of MIME types and files extensions
--MimeTypes conf/mime.types
--
--# The path of the log file
--LogFile log/access.log
--
--# The file where the pid of the server is logged (UNIX specific)
--PidFile log/abyss.pid
--
--# If AdvertiseServer if set to no, then no server field would be
--# appended to the responses. This is the way to make the server
--# identity unknown to some malicious people which can profit from
--# well known security holes in the software to crash it.
--AdvertiseServer yes
-diff --git a/libs/xmlrpc-c/conf/abyss_root/conf/mime.types b/libs/xmlrpc-c/conf/abyss_root/conf/mime.types
-deleted file mode 100644
-index d53db0f..0000000
---- a/libs/xmlrpc-c/conf/abyss_root/conf/mime.types
-+++ /dev/null
-@@ -1,276 +0,0 @@
--# This is a comment. I love comments.
--
--# This file controls what Internet media types are sent to the client for
--# given file extension(s). Sending the correct media type to the client
--# is important so they know how to handle the content of the file.
--# Extra types can either be added here or by using an AddType directive
--# in your config files. For more information about Internet media types,
--# please read RFC 2045, 2046, 2047, 2048, and 2077. The Internet media type
--# registry is at .
--
--# MIME type Extension
--application/EDI-Consent
--application/EDI-X12
--application/EDIFACT
--application/activemessage
--application/andrew-inset ez
--application/applefile
--application/atomicmail
--application/cals-1840
--application/commonground
--application/cybercash
--application/dca-rft
--application/dec-dx
--application/eshop
--application/hyperstudio
--application/iges
--application/mac-binhex40 hqx
--application/mac-compactpro cpt
--application/macwriteii
--application/marc
--application/mathematica
--application/msword doc
--application/news-message-id
--application/news-transmission
--application/octet-stream bin dms lha lzh exe class
--application/oda oda
--application/pdf pdf
--application/pgp-encrypted
--application/pgp-keys
--application/pgp-signature
--application/pkcs10
--application/pkcs7-mime
--application/pkcs7-signature
--application/postscript ai eps ps
--application/prs.alvestrand.titrax-sheet
--application/prs.cww
--application/prs.nprend
--application/remote-printing
--application/riscos
--application/rtf rtf
--application/set-payment
--application/set-payment-initiation
--application/set-registration
--application/set-registration-initiation
--application/sgml
--application/sgml-open-catalog
--application/slate
--application/smil smi smil
--application/vemmi
--application/vnd.3M.Post-it-Notes
--application/vnd.FloGraphIt
--application/vnd.acucobol
--application/vnd.anser-web-certificate-issue-initiation
--application/vnd.anser-web-funds-transfer-initiation
--application/vnd.audiograph
--application/vnd.businessobjects
--application/vnd.claymore
--application/vnd.comsocaller
--application/vnd.dna
--application/vnd.dxr
--application/vnd.ecdis-update
--application/vnd.ecowin.chart
--application/vnd.ecowin.filerequest
--application/vnd.ecowin.fileupdate
--application/vnd.ecowin.series
--application/vnd.ecowin.seriesrequest
--application/vnd.ecowin.seriesupdate
--application/vnd.enliven
--application/vnd.epson.salt
--application/vnd.fdf
--application/vnd.ffsns
--application/vnd.framemaker
--application/vnd.fujitsu.oasys
--application/vnd.fujitsu.oasys2
--application/vnd.fujitsu.oasys3
--application/vnd.fujitsu.oasysgp
--application/vnd.fujitsu.oasysprs
--application/vnd.fujixerox.docuworks
--application/vnd.hp-HPGL
--application/vnd.hp-PCL
--application/vnd.hp-PCLXL
--application/vnd.hp-hps
--application/vnd.ibm.MiniPay
--application/vnd.ibm.modcap
--application/vnd.intercon.formnet
--application/vnd.intertrust.digibox
--application/vnd.intertrust.nncp
--application/vnd.is-xpr
--application/vnd.japannet-directory-service
--application/vnd.japannet-jpnstore-wakeup
--application/vnd.japannet-payment-wakeup
--application/vnd.japannet-registration
--application/vnd.japannet-registration-wakeup
--application/vnd.japannet-setstore-wakeup
--application/vnd.japannet-verification
--application/vnd.japannet-verification-wakeup
--application/vnd.koan
--application/vnd.lotus-1-2-3
--application/vnd.lotus-approach
--application/vnd.lotus-freelance
--application/vnd.lotus-organizer
--application/vnd.lotus-screencam
--application/vnd.lotus-wordpro
--application/vnd.meridian-slingshot
--application/vnd.mif mif
--application/vnd.minisoft-hp3000-save
--application/vnd.mitsubishi.misty-guard.trustweb
--application/vnd.ms-artgalry
--application/vnd.ms-asf
--application/vnd.ms-excel xls
--application/vnd.ms-powerpoint ppt
--application/vnd.ms-project
--application/vnd.ms-tnef
--application/vnd.ms-works
--application/vnd.music-niff
--application/vnd.musician
--application/vnd.netfpx
--application/vnd.noblenet-directory
--application/vnd.noblenet-sealer
--application/vnd.noblenet-web
--application/vnd.novadigm.EDM
--application/vnd.novadigm.EDX
--application/vnd.novadigm.EXT
--application/vnd.osa.netdeploy
--application/vnd.powerbuilder6
--application/vnd.powerbuilder6-s
--application/vnd.rapid
--application/vnd.seemail
--application/vnd.shana.informed.formtemplate
--application/vnd.shana.informed.interchange
--application/vnd.shana.informed.package
--application/vnd.street-stream
--application/vnd.svd
--application/vnd.swiftview-ics
--application/vnd.truedoc
--application/vnd.visio
--application/vnd.webturbo
--application/vnd.wrq-hp3000-labelled
--application/vnd.wt.stf
--application/vnd.xara
--application/vnd.yellowriver-custom-menu
--application/wita
--application/wordperfect5.1
--application/x-bcpio bcpio
--application/x-cdlink vcd
--application/x-chess-pgn pgn
--application/x-compress
--application/x-cpio cpio
--application/x-csh csh
--application/x-director dcr dir dxr
--application/x-dvi dvi
--application/x-futuresplash spl
--application/x-gtar gtar
--application/x-gzip
--application/x-hdf hdf
--application/x-javascript js
--application/x-koan skp skd skt skm
--application/x-latex latex
--application/x-netcdf nc cdf
--application/x-sh sh
--application/x-shar shar
--application/x-shockwave-flash swf
--application/x-stuffit sit
--application/x-sv4cpio sv4cpio
--application/x-sv4crc sv4crc
--application/x-tar tar
--application/x-tcl tcl
--application/x-tex tex
--application/x-texinfo texinfo texi
--application/x-troff t tr roff
--application/x-troff-man man
--application/x-troff-me me
--application/x-troff-ms ms
--application/x-ustar ustar
--application/x-wais-source src
--application/x400-bp
--application/xml
--application/zip zip
--audio/32kadpcm
--audio/basic au snd
--audio/midi mid midi kar
--audio/mpeg mpga mp2 mp3
--audio/vnd.qcelp
--audio/x-aiff aif aiff aifc
--audio/x-pn-realaudio ram rm
--audio/x-pn-realaudio-plugin rpm
--audio/x-realaudio ra
--audio/x-wav wav
--chemical/x-pdb pdb xyz
--image/bmp bmp
--image/cgm
--image/g3fax
--image/gif gif
--image/ief ief
--image/jpeg jpeg jpg jpe
--image/naplps
--image/png png
--image/prs.btif
--image/tiff tiff tif
--image/vnd.dwg
--image/vnd.dxf
--image/vnd.fpx
--image/vnd.net-fpx
--image/vnd.svf
--image/vnd.xiff
--image/x-cmu-raster ras
--image/x-portable-anymap pnm
--image/x-portable-bitmap pbm
--image/x-portable-graymap pgm
--image/x-portable-pixmap ppm
--image/x-rgb rgb
--image/x-xbitmap xbm
--image/x-xpixmap xpm
--image/x-xwindowdump xwd
--message/delivery-status
--message/disposition-notification
--message/external-body
--message/http
--message/news
--message/partial
--message/rfc822
--model/iges igs iges
--model/mesh msh mesh silo
--model/vnd.dwf
--model/vrml wrl vrml
--multipart/alternative
--multipart/appledouble
--multipart/byteranges
--multipart/digest
--multipart/encrypted
--multipart/form-data
--multipart/header-set
--multipart/mixed
--multipart/parallel
--multipart/related
--multipart/report
--multipart/signed
--multipart/voice-message
--text/css css
--text/directory
--text/enriched
--text/html html htm
--text/plain asc txt
--text/prs.lines.tag
--text/rfc822-headers
--text/richtext rtx
--text/rtf rtf
--text/sgml sgml sgm
--text/tab-separated-values tsv
--text/uri-list
--text/vnd.abc
--text/vnd.flatland.3dml
--text/vnd.fmi.flexstor
--text/vnd.in3d.3dml
--text/vnd.in3d.spot
--text/vnd.latex-z
--text/x-setext etx
--text/xml xml
--video/mpeg mpeg mpg mpe
--video/quicktime qt mov
--video/vnd.motorola.video
--video/vnd.motorola.videop
--video/vnd.vivo
--video/x-msvideo avi
--video/x-sgi-movie movie
--x-conference/x-cooltalk ice
-diff --git a/libs/xmlrpc-c/conf/abyss_root/htdocs/index.htm b/libs/xmlrpc-c/conf/abyss_root/htdocs/index.htm
-deleted file mode 100644
-index f0369a5..0000000
---- a/libs/xmlrpc-c/conf/abyss_root/htdocs/index.htm
-+++ /dev/null
-@@ -1,21 +0,0 @@
--
--
--ABYSS is working !!!
--
--
--Congratulations, ABYSS is working !!!
--
--
--ABYSS Web Server is working correctly on your system. You should now change this
--page with yours.
--
--Please include in your web pages (at least the first), the 'Powered by ABYSS'
--banner to promote the use of ABYSS .
--
--
--
--
--Copyright © 2000 Moez Mahfoudh . All rights reserved.
--
--
--
-diff --git a/libs/xmlrpc-c/config.mk.in b/libs/xmlrpc-c/config.mk.in
-index b583e6e..bebfa54 100644
---- a/libs/xmlrpc-c/config.mk.in
-+++ b/libs/xmlrpc-c/config.mk.in
-@@ -27,16 +27,15 @@ ENABLE_LIBXML2_BACKEND = @ENABLE_LIBXML2_BACKEND@
- MUST_BUILD_WININET_CLIENT = @MUST_BUILD_WININET_CLIENT@
- MUST_BUILD_CURL_CLIENT = @MUST_BUILD_CURL_CLIENT@
- MUST_BUILD_LIBWWW_CLIENT = @MUST_BUILD_LIBWWW_CLIENT@
-+BUILD_TOOLS = @BUILD_TOOLS@
-+BUILD_XMLRPC_PSTREAM = @BUILD_XMLRPC_PSTREAM@
- LSOCKET = @LSOCKET@
- WININET_LDADD = @WININET_LDADD@
--WININET_RPATH = @WININET_RPATH@
--WININET_WL_RPATH = @WININET_WL_RPATH@
-+WININET_LIBDIR = @WININET_LIBDIR@
- CURL_LDADD = @CURL_LDADD@
--CURL_RPATH = @CURL_RPATH@
--CURL_WL_RPATH = @CURL_WL_RPATH@
-+CURL_LIBDIR = @CURL_LIBDIR@
- LIBWWW_LDADD = @LIBWWW_LDADD@
--LIBWWW_RPATH = @LIBWWW_RPATH@
--LIBWWW_WL_RPATH = @LIBWWW_WL_RPATH@
-+LIBWWW_LIBDIR = @LIBWWW_LIBDIR@
- FEATURE_LIST = @FEATURE_LIST@
- ABS_SRCDIR = @abs_srcdir@
- PREFIX = @prefix@
-@@ -164,7 +163,10 @@ MUST_BUILD_SHLIBLE = N
- shlibfn = $(1:%=%.shlibdummy)
- shliblefn = $(1:%=%.shlibledummy)
-
--ifeq ($(HOST_OS),linux-gnu)
-+# HOST_OS is usually has a version number suffix, e.g. "aix5.3.0.0", so
-+# we compare based on prefix.
-+
-+ifeq ($(patsubst linux-gnu%,linux-gnu,$(HOST_OS)),linux-gnu)
- # Assume linker is GNU Compiler (gcc)
- SHARED_LIB_TYPE = unix
- MUST_BUILD_SHLIB = Y
-@@ -177,20 +179,28 @@ ifeq ($(HOST_OS),linux-gnu)
- CFLAGS_SHLIB=-fPIC
- endif
-
--ifeq ($(findstring solaris,$(HOST_OS)),solaris)
-+ifeq ($(patsubst solaris%,solaris,$(HOST_OS)),solaris)
- SHARED_LIB_TYPE = unix
- MUST_BUILD_SHLIB = Y
- MUST_BUILD_SHLIBLE = Y
- SHLIB_SUFFIX = so
- shlibfn = $(1:%=%.$(SHLIB_SUFFIX).$(MAJ).$(MIN))
- shliblefn = $(1:%=%.$(SHLIB_SUFFIX))
-+ # We assume Sun compiler and linker here. It isn't clear what to do
-+ # about a user who uses GNU compiler and Ld instead. For that, the
-+ # options should be the same as "linux-gnu" platform, above, except
-+ # with NEED_WL_RPATH. If the user uses the GNU compiler but the Sun
-+ # linker, it's even more complicated: we need an rpath option of the
-+ # form -Wl,-R .
-+
- # Solaris compiler (Sun C 5.5) can't take multiple ld options as
- # -Wl,-a,-b . Ld sees -a,-b in that case.
- LDFLAGS_SHLIB = -Wl,-Bdynamic -Wl,-G -Wl,-h -Wl,$(SONAME)
- CFLAGS_SHLIB = -Kpic
-+ NEED_RPATH=yes
- endif
-
--ifeq ($(HOST_OS),aix)
-+ifeq ($(patsubst aix%,aix,$(HOST_OS)),aix)
- SHARED_LIB_TYPE = unix
- MUST_BUILD_SHLIB = Y
- MUST_BUILD_SHLIBLE = Y
-@@ -200,7 +210,7 @@ ifeq ($(HOST_OS),aix)
- LDFLAGS_SHLIB = -qmkshrobj
- endif
-
--ifeq ($(HOST_OS),hpux)
-+ifeq ($(patsubst hpux%,hpux,$(HOST_OS)),hpux)
- SHARED_LIB_TYPE = unix
- MUST_BUILD_SHLIB = Y
- MUST_BUILD_SHLIBLE = Y
-@@ -210,7 +220,7 @@ ifeq ($(HOST_OS),hpux)
- LDFLAGS_SHLIB: -shared -fPIC
- endif
-
--ifeq ($(HOST_OS),osf)
-+ifeq ($(patsubst osf%,osf,$(HOST_OS)),osf)
- SHARED_LIB_TYPE = unix
- MUST_BUILD_SHLIB = Y
- MUST_BUILD_SHLIBLE = Y
-@@ -220,7 +230,7 @@ ifeq ($(HOST_OS),osf)
- LDFLAGS_SHLIB = -shared -expect_unresolved
- endif
-
--ifeq ($(findstring netbsd,$(HOST_OS)),netbsd)
-+ifeq ($(patsubst netbsd%,netbsd,$(HOST_OS)),netbsd)
- SHARED_LIB_TYPE = unix
- SHLIB_SUFFIX = so
- MUST_BUILD_SHLIB = Y
-@@ -232,7 +242,31 @@ ifeq ($(findstring netbsd,$(HOST_OS)),netbsd)
- NEED_WL_RPATH=yes
- endif
-
--ifeq ($(HOST_OS),dragonfly)
-+ifeq ($(patsubst freebsd%,freebsd,$(HOST_OS)),freebsd)
-+ SHARED_LIB_TYPE = unix
-+ SHLIB_SUFFIX = so
-+ MUST_BUILD_SHLIB = Y
-+ MUST_BUILD_SHLIBLE = Y
-+ shlibfn = $(1:%=%.$(SHLIB_SUFFIX).$(MAJ).$(MIN))
-+ shliblefn = $(1:%=%.$(SHLIB_SUFFIX))
-+ CFLAGS_SHLIB = -fpic
-+ LDFLAGS_SHLIB = -shared -Wl,-soname,$(SONAME) $(SHLIB_CLIB)
-+ NEED_WL_RPATH=yes
-+endif
-+
-+ifeq ($(findstring interix,$(HOST_OS)),interix)
-+ SHARED_LIB_TYPE = unix
-+ SHLIB_SUFFIX = so
-+ MUST_BUILD_SHLIB = Y
-+ MUST_BUILD_SHLIBLE = Y
-+ shlibfn = $(1:%=%.$(SHLIB_SUFFIX).$(MAJ).$(MIN))
-+ shliblefn = $(1:%=%.$(SHLIB_SUFFIX))
-+ CFLAGS_SHLIB =
-+ LDFLAGS_SHLIB = -shared -Wl,-soname,$(SONAME) $(SHLIB_CLIB)
-+ NEED_WL_RPATH=yes
-+endif
-+
-+ifeq ($(patsubst dragonfly%,dragonfly,$(HOST_OS)),dragonfly)
- SHARED_LIB_TYPE = unix
- MUST_BUILD_SHLIB = Y
- MUST_BUILD_SHLIBLE = Y
-@@ -243,7 +277,7 @@ ifeq ($(HOST_OS),dragonfly)
- LDFLAGS_SHLIB = -shared -Wl,-soname,$(SONAME) $(SHLIB_CLIB)
- endif
-
--ifeq ($(HOST_OS),beos)
-+ifeq ($(patsubst beos%,beos,$(HOST_OS)),beos)
- SHARED_LIB_TYPE = unix
- MUST_BUILD_SHLIB = Y
- MUST_BUILD_SHLIBLE = Y
-@@ -253,18 +287,18 @@ ifeq ($(HOST_OS),beos)
- LDFLAGS_SHLIB = -nostart
- endif
-
--ifeq ($(patsubst darwin%, darwin, $(HOST_OS)), darwin)
-- # (I once saw a system that generated 'darwin8.10.1').
-+ifeq ($(patsubst darwin%,darwin,$(HOST_OS)),darwin)
- SHARED_LIB_TYPE = dylib
- MUST_BUILD_SHLIB = Y
- MUST_BUILD_SHLIBLE = Y
- SHLIB_SUFFIX = dylib
- shlibfn = $(1:%=%.$(MAJ).$(MIN).$(SHLIB_SUFFIX))
- shliblefn = $(1:%=%.$(SHLIB_SUFFIX))
-- LDFLAGS_SHLIB = -shared -Wl,-soname,$(SONAME) $(SHLIB_CLIB)
-+ LDFLAGS_SHLIB = -dynamiclib -undefined suppress -single_module \
-+ -flat_namespace $(SHLIB_CLIB)
- endif
-
--ifeq ($(HOST_OS),irix)
-+ifeq ($(patsubst irix%,irix,$(HOST_OS)),irix)
- SHARED_LIB_TYPE = irix
- MUST_BUILD_SHLIB = Y
- MUST_BUILD_SHLIBLE = Y
-@@ -278,13 +312,13 @@ ifeq ($(HOST_OS),irix)
- -set_version $(shell perl -e '$(VERSIONPERLPROG)') -lc
- endif
-
--ifeq ($(HOST_OS),cygwin)
-+ifeq ($(patsubst cygwin%,cygwin,$(HOST_OS)),cygwin)
- SHARED_LIB_TYPE = dll
- MUST_BUILD_SHLIB = Y
- MUST_BUILD_SHLIBLE = N
- SHLIB_SUFFIX = dll
-- shlibfn = $(1:lib%=$(SHLIB_PREFIX)%.$(SHLIB_SUFFIX).$(MAJ).$(MIN))
-- shliblefn = $(1:%=%.shlibledummy)
-+ shlibfn = $(1:%=%.$(SHLIB_SUFFIX))
-+ shliblefn = $(1:%=%.$(SHLIB_SUFFIX))
- LDFLAGS_SHLIB = -shared -Wl,-soname,$(SONAME) $(SHLIB_CLIB)
- endif
-
-@@ -293,12 +327,12 @@ endif
- ##############################################################################
-
- # BUILDTOOL_CC is the compiler to use to generate build tools, which we
--# will then run to build product. The typical reason this would be
-+# will then run to build the product. The typical reason this would be
- # different from CC is that you're cross-compiling: the product will run
- # in Environment A, but you're building in Environment B, so you must
--# build the build toos for Environment B.
-+# build the build tools for Environment B.
-
--# The cross compiling user can update Makefile.config or override
-+# The cross compiling user can update config.mk or override
- # BUILDTOOL_CC on a make command.
-
- BUILDTOOL_CC = $(CC)
-@@ -316,9 +350,18 @@ INSTALL_SCRIPT = $(INSTALL) -c -m 755
- # PREFIX is designed to be overridden at make time if the user decides
- # he doesn't like the default specified at 'configure' time.
-
--LIBINST_DIR = $(PREFIX)/lib
--HEADERINST_DIR = $(PREFIX)/include
--PROGRAMINST_DIR = $(PREFIX)/bin
-+prefix = $(PREFIX)
-+
-+#datarootdir is the new Autoconf(2.60) name for datadir, which is still
-+#accepted, but a warning is issued if datarootdir is not also used.
-+
-+exec_prefix = @exec_prefix@
-+DATAROOT_DIR = @datarootdir@
-+DATAINST_DIR = @datadir@
-+LIBINST_DIR = @libdir@
-+HEADERINST_DIR = @includedir@
-+PROGRAMINST_DIR = @bindir@
-+MANINST_DIR = @mandir@/man1
-
- # DESTDIR is designed to be overridden at make time in order to relocate
- # the entire install into a subdirectory.
-diff --git a/libs/xmlrpc-c/configure.gnu b/libs/xmlrpc-c/configure.gnu
-deleted file mode 100644
-index dda9b7d..0000000
---- a/libs/xmlrpc-c/configure.gnu
-+++ /dev/null
-@@ -1,4 +0,0 @@
--#! /bin/sh
--srcpath=$(dirname $0 2>/dev/null ) || srcpath="."
--$srcpath/configure "$@" --disable-cplusplus --disable-wininet-client --disable-libwww-client --disable-shared --with-pic --disable-curl-client
--
-diff --git a/libs/xmlrpc-c/configure.in b/libs/xmlrpc-c/configure.in
-index 231a1d3..8fbe80a 100644
---- a/libs/xmlrpc-c/configure.in
-+++ b/libs/xmlrpc-c/configure.in
-@@ -86,10 +86,45 @@ AC_MSG_RESULT($MUST_BUILD_LIBWWW_CLIENT)
- AC_SUBST(MUST_BUILD_LIBWWW_CLIENT)
-
-
-+AC_ARG_ENABLE(tools,
-+ [ --enable-tools Build the tools], ,
-+[enable_tools=no])
-+
-+# The first AC_CHECK_LIB has to be in unconditional code because as a
-+# side effect, it determines what the object file suffix is on this system,
-+# and if it is statically present even though not actually executed, Autoconf
-+# later thinks it has already computed the object file suffix and uses it
-+# without computing it. This was with Autoconf 2.59
-+AC_CHECK_LIB(ncurses, main, [have_libncurses=yes], [have_libncurses=no])
-+AC_CHECK_LIB(readline, main, [have_libreadline=yes], [have_libreadline=no])
-+
-+AC_MSG_CHECKING(whether to build tools)
-+
-+BUILD_XMLRPC_PSTREAM=no
-+
-+if test $enable_tools = yes; then
-+ if ! test "$MUST_BUILD_WININET_CLIENT $MUST_BUILD_CURL_CLIENT $MUST_BUILD_LIBWWW_CLIENT" = "no no no"; then
-+ if test $have_libreadline = yes && test $have_libncurses = yes; then
-+ BUILD_XMLRPC_PSTREAM=yes
-+ fi
-+ BUILD_TOOLS=yes
-+ fi
-+else
-+ BUILD_TOOLS=$enable_tools
-+fi
-+
-+AC_MSG_RESULT($BUILD_TOOLS)
-+AC_SUBST(BUILD_TOOLS)
-+
-+if test $BUILD_TOOLS = yes; then
-+ AC_MSG_CHECKING(whether to build the xmlrpc_pstream tool)
-+ AC_MSG_RESULT($BUILD_XMLRPC_PSTREAM)
-+ AC_SUBST(BUILD_XMLRPC_PSTREAM)
-+fi
-+
-+
- dnl Set up the appropriate Makefile substitutions.
-
--LIBXMLRPC_CLIENT_LA=libxmlrpc_client.la
--AC_SUBST(LIBXMLRPC_CLIENT_LA)
- CLIENTTEST=clienttest
- AC_SUBST(CLIENTTEST)
- XMLRPC_CLIENT_H=xmlrpc_client.h
-@@ -126,7 +161,6 @@ AC_SUBST(ENABLE_ABYSS_SERVER)
-
- dnl Set up the appropriate Makefile substitutions.
- ABYSS_SUBDIR=
--LIBXMLRPC_ABYSS_SERVER_LA=
- SERVERTEST=
- VALIDATEE=
- XMLRPC_ABYSS_H=
-@@ -134,14 +168,12 @@ SERVER=
- if test x"$enable_abyss_server" != xno; then
- FEATURE_LIST="abyss-server $FEATURE_LIST"
- ABYSS_SUBDIR=abyss
-- LIBXMLRPC_ABYSS_SERVER_LA=libxmlrpc_abyss_server.la
- SERVERTEST=servertest
- VALIDATEE=validatee
- XMLRPC_ABYSS_H=xmlrpc_abyss.h
- SERVER=server
- fi
- AC_SUBST(ABYSS_SUBDIR)
--AC_SUBST(LIBXMLRPC_ABYSS_SERVER_LA)
- AC_SUBST(SERVERTEST)
- AC_SUBST(VALIDATEE)
- AC_SUBST(XMLRPC_ABYSS_H)
-@@ -198,7 +230,9 @@ dnl Checks for programs.
- dnl =======================================================================
-
- AC_PROG_CC
--AC_PROG_CXX
-+if test x"$enable_cplusplus" != xno; then
-+ AC_PROG_CXX
-+fi
-
-
- dnl =======================================================================
-@@ -272,6 +306,14 @@ else
- fi
- AC_SUBST(HAVE_SYS_IOCTL_H_DEFINE)
-
-+AC_CHECK_HEADERS(sys/select.h)
-+if test x"$ac_cv_header_sys_select_h" = xyes; then
-+ HAVE_SYS_SELECT_H_DEFINE=1
-+else
-+ HAVE_SYS_SELECT_H_DEFINE=0
-+fi
-+AC_SUBST(HAVE_SYS_SELECT_H_DEFINE)
-+
-
- AC_CHECK_HEADERS(stdarg.h, , [
- AC_MSG_ERROR(stdarg.h is required to build this library)
-@@ -329,7 +371,7 @@ AC_CHECK_FUNCS(setgroups)
-
- AC_CHECK_FUNCS(asprintf)
-
--AC_CHECK_FUNCS(setenv)
-+AC_CHECK_FUNCS(setenv strtoll strtoull strtoq strtouq __strtoll __strtoull)
-
- dnl uclib doesn't have pselect
- AC_CHECK_FUNCS(pselect)
-@@ -380,22 +422,22 @@ dnl you will need to configure this way..
-
- if test $MUST_BUILD_WININET_CLIENT = yes; then
-
-- dnl You can control which of these gets chosen by fooling around with PATH.
-+ dnl You can control which of these gets chosen by controlling PATH.
- AC_PATH_PROGS(WININET_CONFIG, wininet-xmlrpc-config wininet-config, no)
- if test "x$WININET_CONFIG" = "xno"; then
-- AC_MSG_ERROR(wininet lib not found; see './configure --help')
-+ AC_MSG_ERROR(Configure INTERNAL ERROR - first wininet-config found, then not found)
- fi
-
- dnl Get our wininet version.
- dnl Adapted from a macro which called gtk-config.
- AC_MSG_CHECKING(for wininet version >= 1.0.0)
-- W3VER=`$WININET_CONFIG --version`
-+ W3VER=$($WININET_CONFIG --version)
- WININET_MAJOR=\
--`echo $W3VER|sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
-+$(echo $W3VER|sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/')
- WININET_MINOR=\
--`echo $W3VER|sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
-+$(echo $W3VER|sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/')
- WININET_MICRO=\
--`echo $W3VER|sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
-+$(echo $W3VER|sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/')
- AC_MSG_RESULT($WININET_MAJOR.$WININET_MINOR.$WININET_MICRO)
-
- dnl Check to make sure our version is OK.
-@@ -417,61 +459,44 @@ if test $MUST_BUILD_WININET_CLIENT = yes; then
- fi
-
- dnl Get the necessary CFLAGS, and merge them into our master list.
-- WININET_CFLAGS="`$WININET_CONFIG --cflags`"
-+ WININET_CFLAGS=$($WININET_CONFIG --cflags)
- AC_SUBST(WININET_CFLAGS)
- CFLAGS="$CFLAGS $WININET_CFLAGS"
-
- dnl Get the huge list of libraries we need to link against.
-- WININET_LDADD="`$WININET_CONFIG --libs`"
-+ WININET_LDADD=$($WININET_CONFIG --libs)
- AC_SUBST(WININET_LDADD)
-
-- dnl Oh, such massive brain damage! Because there may be another copy
-- dnl of libwww in the default dynamic loader search path, we need to
-- dnl adjust the search patch manually. Just gag me with a backquote, OK?
- AC_MSG_CHECKING(for wininet library directory)
-- if $WININET_CONFIG --rpath-dir > /dev/null 2>&1; then
-- dnl Yay! We're using our smart version of wininet.
-- WININET_LIBDIR="`$WININET_CONFIG --rpath-dir`"
-- else
-- dnl Yawn. We're using the regular boring version.
-- WININET_LIBDIR="`$WININET_CONFIG --prefix`/lib"
-- fi
-+ WININET_LIBDIR="$($WININET_CONFIG --prefix)/lib"
- AC_MSG_RESULT($WININET_LIBDIR)
- AC_SUBST(WININET_LIBDIR)
-- WININET_RPATH="-rpath $WININET_LIBDIR"
-- AC_SUBST(WININET_RPATH)
-- WININET_WL_RPATH="-Wl,--rpath -Wl,$WININET_LIBDIR"
-- AC_SUBST(WININET_WL_RPATH)
-
- fi # MUST_BUILD_WININET_CLIENT
-
- dnl =======================================================================
- dnl Finding w3c-libwww
- dnl =======================================================================
--dnl Once upon a time, we used a patched copy of libwww that needed to
--dnl co-exist with the system copy of libwww. We have some vestigal function
--dnl for keeping track of libwww's rpath, although this is no longer really
--dnl necessary.
-
- if test $MUST_BUILD_LIBWWW_CLIENT = yes; then
-
-- dnl First of all, locate the semi-broken libwww config program.
-- dnl You can control which of these gets chosen by fooling around with PATH.
-+ dnl First of all, locate the libwww config program.
-+ dnl You can control which of these gets chosen by controlling PATH.
- AC_PATH_PROGS(LIBWWW_CONFIG, libwww-xmlrpc-config libwww-config, no)
- if test "x$LIBWWW_CONFIG" = "xno"; then
-- AC_MSG_ERROR(w3c-libwww not found; see './configure --help')
-+ AC_MSG_ERROR(Configure INTERNAL ERROR - first libwww-config found, then not found)
- fi
-
- dnl Get our libwww version.
- dnl Adapted from a macro which called gtk-config.
- AC_MSG_CHECKING(for w3c-libwww version >= 5.2.8)
-- W3VER=`$LIBWWW_CONFIG --version`
-+ W3VER=$($LIBWWW_CONFIG --version)
- LIBWWW_MAJOR=\
--`echo $W3VER|sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
-+$(echo $W3VER|sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/')
- LIBWWW_MINOR=\
--`echo $W3VER|sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
-+$(echo $W3VER|sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/')
- LIBWWW_MICRO=\
--`echo $W3VER|sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
-+$(echo $W3VER|sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/')
- AC_MSG_RESULT($LIBWWW_MAJOR.$LIBWWW_MINOR.$LIBWWW_MICRO)
-
- dnl Check to make sure our version is OK.
-@@ -493,78 +518,46 @@ if test $MUST_BUILD_LIBWWW_CLIENT = yes; then
- fi
-
- dnl Get the huge list of libraries we need to link against.
-- LIBWWW_LDADD="`$LIBWWW_CONFIG --libs`"
-+ LIBWWW_LDADD=$(LIBWWW_CONFIG --libs)
- AC_SUBST(LIBWWW_LDADD)
-
-- dnl Oh, such massive brain damage! Because there may be another copy
-- dnl of libwww in the default dynamic loader search path, we need to
-- dnl adjust the search patch manually. Just gag me with a backquote, OK?
- AC_MSG_CHECKING(for libwww library directory)
-- if $LIBWWW_CONFIG --rpath-dir > /dev/null 2>&1; then
-- dnl Yay! We're using our smart version of libwww.
-- LIBWWW_LIBDIR="`$LIBWWW_CONFIG --rpath-dir`"
-- else
-- dnl Yawn. We're using the regular boring version.
-- LIBWWW_LIBDIR="`$LIBWWW_CONFIG --prefix`/lib"
-- fi
-+ LIBWWW_LIBDIR="$(LIBWWW_CONFIG --prefix)/lib"
- AC_MSG_RESULT($LIBWWW_LIBDIR)
- AC_SUBST(LIBWWW_LIBDIR)
-
-- # Some ancient rpath stuff, now disabled. I turned this off because it
-- # breaks Debian (and Mandrake?) policy, and we don't use it anymore.
-- # If you have multiple copies of w3c-libwww lying around, you can turn
-- # it back on.
-- #LIBWWW_RPATH="-rpath $LIBWWW_LIBDIR"
-- LIBWWW_RPATH=""
-- AC_SUBST(LIBWWW_RPATH)
-- #LIBWWW_WL_RPATH="-Wl,--rpath -Wl,$LIBWWW_LIBDIR"
-- LIBWWW_WL_RPATH=""
-- AC_SUBST(LIBWWW_WL_RPATH)
--
- fi # MUST_BUILD_LIBWWW_CLIENT
-
-
- dnl =======================================================================
--dnl Finding cURL
-+dnl Finding Curl
- dnl =======================================================================
-
- if test $MUST_BUILD_CURL_CLIENT = yes; then
-
-- dnl First of all, locate the curl config program.
-- dnl You can control which of these gets chosen by fooling around with PATH.
-+ dnl First of all, locate the Curl config program.
-+ dnl You can control which of these gets chosen by controlling PATH.
- AC_PATH_PROGS(CURL_CONFIG, curl-xmlrpc-config curl-config, no)
- if test "x$CURL_CONFIG" = "xno"; then
-- AC_MSG_ERROR(cURL not found; see './configure --help')
-+ AC_MSG_ERROR(Configure INTERNAL ERROR - first curl-config found, then not found)
- fi
-
- dnl There used to be code here to check the Curl version and make sure
- dnl it is at least 7.8. But there were bugs both in the code and in
-- dnl curl (curl-config --vernum, at least in older versios of Curl,
-+ dnl curl (curl-config --vernum, at least in older versions of Curl,
- dnl omits the leading zero). So it didn't work. Plus, checking version
- dnl numbers isn't a good idea. Better to check for feature presence.
- dnl So we don't do any check now. If we find out there's a problem with
- dnl older Curls, we will revisit that.
-
-- dnl Get the huge list of libraries we need to link against.
-- dnl MRB-20010516-For some reason, curl-config
-- dnl does not list itself '-lcurl'. 2004.12.12. It seems to do so
-- dnl now.
-- CURL_LDADD=`$CURL_CONFIG --libs`
-+ CURL_LDADD=$($CURL_CONFIG --libs)
- AC_SUBST(CURL_LDADD)
-
-- dnl Oh, such massive brain damage! Because there may be another copy
-- dnl of curl in the default dynamic loader search path, we need to
-- dnl adjust the search path manually. Just gag me with a backquote, OK?
-- AC_MSG_CHECKING(for curl library directory)
-- dnl Yawn. We're using the regular boring version.
-- CURL_LIBDIR="`$CURL_CONFIG --prefix`/lib"
-+ AC_MSG_CHECKING(for Curl library directory)
-+ CURL_LIBDIR="$($CURL_CONFIG --prefix)/lib"
-
- AC_MSG_RESULT($CURL_LIBDIR)
- AC_SUBST(CURL_LIBDIR)
-- CURL_RPATH="-rpath $CURL_LIBDIR"
-- AC_SUBST(CURL_RPATH)
-- CURL_WL_RPATH="-Wl,--rpath -Wl,$CURL_LIBDIR"
-- AC_SUBST(CURL_WL_RPATH)
-
- fi # MUST_BUILD_CURL_CLIENT
-
-@@ -620,7 +613,7 @@ CPP_WARN_FLAGS=
- AC_SUBST(CPP_WARN_FLAGS)
-
-
--BUILDDIR=`pwd`
-+BUILDDIR=$(pwd)
- AC_SUBST(BUILDDIR)
-
-
-@@ -632,7 +625,7 @@ dnl Note that AM_CONFIG_HEADER at the top of this file outputs another
- dnl result: xmlrpc_amconfig.h .
-
- AC_OUTPUT( \
-- Makefile.srcdir \
-+ srcdir.mk \
- config.mk \
- xmlrpc_config.h \
- )
-@@ -647,7 +640,9 @@ fi
-
-
- if test "$MUST_BUILD_WININET_CLIENT $MUST_BUILD_CURL_CLIENT $MUST_BUILD_LIBWWW_CLIENT" = "no no no"; then
-- AC_MSG_NOTICE([\n\n==>We are not building any client XML transport (see earlier messages explaining why), therefore WE WILL NOT BUILD THE CLIENT LIBRARY.])
-+ AC_MSG_NOTICE([==>])
-+ AC_MSG_NOTICE([==>We are not building any client XML transport (see earlier messages explaining why), therefore WE WILL NOT BUILD THE CLIENT LIBRARY.])
-+ AC_MSG_NOTICE([==>])
- fi
-
-
-diff --git a/libs/xmlrpc-c/debian/README.Debian b/libs/xmlrpc-c/debian/README.Debian
-deleted file mode 100644
-index 830df77..0000000
---- a/libs/xmlrpc-c/debian/README.Debian
-+++ /dev/null
-@@ -1,7 +0,0 @@
--xmlrpc-c for Debian
---------------------
--
--This is my first attempt at porting my RPM packages to Debian. User
--beware!
--
-- -- Eric Kidd , Tue, 26 Jun 2001 12:39:39 -0400
-diff --git a/libs/xmlrpc-c/debian/changelog b/libs/xmlrpc-c/debian/changelog
-deleted file mode 100644
-index 848fac8..0000000
---- a/libs/xmlrpc-c/debian/changelog
-+++ /dev/null
-@@ -1,22 +0,0 @@
--xmlrpc-c (0.9.10-1) unstable; urgency=low
--
-- * Updated from new upstream release.
--
-- -- Eric Kidd Sun, 1 Jul 2001 10:45:51 -0400
--
--xmlrpc-c (0.9.9-2) unstable; urgency=low
--
-- * Added man pages.
-- * Improved depends for xmlrpc-c-dev.
--
-- -- Eric Kidd Wed, 27 Jun 2001 12:25:52 -0400
--
--xmlrpc-c (0.9.9-1) unstable; urgency=low
--
-- * Initial Release.
--
-- -- Eric Kidd Tue, 26 Jun 2001 12:39:39 -0400
--
--Local variables:
--mode: debian-changelog
--End:
-diff --git a/libs/xmlrpc-c/debian/control b/libs/xmlrpc-c/debian/control
-deleted file mode 100644
-index 45bd020..0000000
---- a/libs/xmlrpc-c/debian/control
-+++ /dev/null
-@@ -1,30 +0,0 @@
--Source: xmlrpc-c
--Section: devel
--Priority: optional
--Maintainer: Eric Kidd
--Build-Depends: debhelper (>> 3.0.0), libwww0 (>= 5.3.2), libwww-dev (>= 5.3.2)
--Standards-Version: 3.5.2
--
--Package: xmlrpc-c0
--Architecture: any
--Depends: ${shlibs:Depends}
--Description: A library implementing XML-based remote procedure calls
-- XML-RPC is a lightweight RPC protocol based on XML and HTTP. This package
-- is used by XML-RPC clients and servers written in C and C++.
--
--Package: xmlrpc-c-dev
--Architecture: any
--Depends: xmlrpc-c0 (= ${Source-Version}), libc6-dev, libstdc++-dev, libfrontier-rpc-perl
--Description: Libraries and header files for developing XML-RPC applications
-- Static libraries and header files for writing XML-RPC applications in C and
-- C++.
--
--Package: xmlrpc-c-apps
--Architecture: any
--Depends: xmlrpc-c0 (= ${Source-Version}), ${shlibs:Depends}
--Description: Sample XML-RPC applications
-- Some handy XML-RPC demo applications based on the Meerkat Open Wire Service
-- (found at http://www.oreillynet.com/meerkat/). You can use 'query-meerkat' to
-- perform a regex search on recent news items, or 'meerkat-app-list' to get
-- a list of recent Linux software releases.
--
-diff --git a/libs/xmlrpc-c/debian/copyright b/libs/xmlrpc-c/debian/copyright
-deleted file mode 100644
-index 8873b9d..0000000
---- a/libs/xmlrpc-c/debian/copyright
-+++ /dev/null
-@@ -1,128 +0,0 @@
--This software package is covered by the XML-RPC C Library License.
--Additionally, certain parts of this library are derived from pre-existing
--code, which may carry its own license.
--
--In particular, the Expat Licence applies to the contents of the directory
--lib/expat, the ABYSS Web Server License applies to the contents of the
--directory lib/abyss and parts of the file src/xmlrpc_abyss.c, and the
--Python 1.5.2 license applies to parts of the file src/xmlrpc_base64.c.
--
--And as for the tools/ directory, you'll have to examine the licenses on
--your own.
--
--
-- XML-RPC C Library License
-- -------------------------
--
--Copyright (C) 2001 by First Peer, Inc. All rights reserved.
--Copyright (C) 2001 by Eric Kidd. All rights reserved.
--
--Redistribution and use in source and binary forms, with or without
--modification, are permitted provided that the following conditions
--are met:
--1. Redistributions of source code must retain the above copyright
-- notice, this list of conditions and the following disclaimer.
--2. Redistributions in binary form must reproduce the above copyright
-- notice, this list of conditions and the following disclaimer in the
-- documentation and/or other materials provided with the distribution.
--3. The name of the author may not be used to endorse or promote products
-- derived from this software without specific prior written permission.
--
--THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
--ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
--IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
--ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
--FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
--DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
--OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
--HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
--LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
--OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
--SUCH DAMAGE.
--
--
-- Expat License
-- -------------
--
--Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
--
--Permission is hereby granted, free of charge, to any person obtaining
--a copy of this software and associated documentation files (the
--"Software"), to deal in the Software without restriction, including
--without limitation the rights to use, copy, modify, merge, publish,
--distribute, sublicense, and/or sell copies of the Software, and to
--permit persons to whom the Software is furnished to do so, subject to
--the following conditions:
--
--The above copyright notice and this permission notice shall be included
--in all copies or substantial portions of the Software.
--
--THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
--EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
--MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
--IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
--CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
--TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
--SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--
--
-- ABYSS Web Server License
-- ------------------------
--
--Copyright (C) 2000 by Moez Mahfoudh . All rights reserved.
--
--Redistribution and use in source and binary forms, with or without
--modification, are permitted provided that the following conditions
--are met:
--1. Redistributions of source code must retain the above copyright
-- notice, this list of conditions and the following disclaimer.
--2. Redistributions in binary form must reproduce the above copyright
-- notice, this list of conditions and the following disclaimer in the
-- documentation and/or other materials provided with the distribution.
--3. The name of the author may not be used to endorse or promote products
-- derived from this software without specific prior written permission.
--
--THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
--ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
--IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
--ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
--FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
--DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
--OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
--HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
--LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
--OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
--SUCH DAMAGE.
--
--
--
-- Python 1.5.2 License
-- --------------------
--
--Copyright 1991, 1992, 1993, 1994 by Stichting Mathematisch Centrum,
--Amsterdam, The Netherlands.
--
-- All Rights Reserved
--
--Permission to use, copy, modify, and distribute this software and its
--documentation for any purpose and without fee is hereby granted,
--provided that the above copyright notice appear in all copies and that
--both that copyright notice and this permission notice appear in
--supporting documentation, and that the names of Stichting Mathematisch
--Centrum or CWI or Corporation for National Research Initiatives or
--CNRI not be used in advertising or publicity pertaining to
--distribution of the software without specific, written prior
--permission.
--
--While CWI is the initial source for this software, a modified version
--is made available by the Corporation for National Research Initiatives
--(CNRI) at the Internet address ftp://ftp.python.org.
--
--STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
--REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
--MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
--CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
--DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
--PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
--TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
--PERFORMANCE OF THIS SOFTWARE.
-diff --git a/libs/xmlrpc-c/debian/postinst b/libs/xmlrpc-c/debian/postinst
-deleted file mode 100644
-index a7b0408..0000000
---- a/libs/xmlrpc-c/debian/postinst
-+++ /dev/null
-@@ -1,47 +0,0 @@
--#! /bin/sh
--# postinst script for xmlrpc-c
--#
--# see: dh_installdeb(1)
--
--set -e
--
--# summary of how this script can be called:
--# * `configure'
--# * `abort-upgrade'
--# * `abort-remove' `in-favour'
--#
--# * `abort-deconfigure' `in-favour'
--# `removing'
--#
--# for details, see /usr/share/doc/packaging-manual/
--#
--# quoting from the policy:
--# Any necessary prompting should almost always be confined to the
--# post-installation script, and should be protected with a conditional
--# so that unnecessary prompting doesn't happen if a package's
--# installation fails and the `postinst' is called with `abort-upgrade',
--# `abort-remove' or `abort-deconfigure'.
--
--case "$1" in
-- configure)
-- ldconfig
-- ;;
--
-- abort-upgrade|abort-remove|abort-deconfigure)
--
-- ;;
--
-- *)
-- echo "postinst called with unknown argument \`$1'" >&2
-- exit 0
-- ;;
--esac
--
--# dh_installdeb will replace this with shell code automatically
--# generated by other debhelper scripts.
--
--#DEBHELPER#
--
--exit 0
--
--
-diff --git a/libs/xmlrpc-c/debian/postrm b/libs/xmlrpc-c/debian/postrm
-deleted file mode 100644
-index 3294e0a..0000000
---- a/libs/xmlrpc-c/debian/postrm
-+++ /dev/null
-@@ -1,39 +0,0 @@
--#! /bin/sh
--# postrm script for xmlrpc-c
--#
--# see: dh_installdeb(1)
--
--set -e
--
--# summary of how this script can be called:
--# * `remove'
--# * `purge'
--# * `upgrade'
--# * `failed-upgrade'
--# * `abort-install'
--# * `abort-install'
--# * `abort-upgrade'
--# * `disappear' overwrit>r>
--# for details, see /usr/share/doc/packaging-manual/
--
--case "$1" in
-- remove)
-- ldconfig
-- ;;
--
-- purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
--
-- ;;
--
-- *)
-- echo "postrm called with unknown argument \`$1'" >&2
-- exit 0
--
--esac
--
--# dh_installdeb will replace this with shell code automatically
--# generated by other debhelper scripts.
--
--#DEBHELPER#
--
--
-diff --git a/libs/xmlrpc-c/debian/rules b/libs/xmlrpc-c/debian/rules
-deleted file mode 100644
-index c7c728c..0000000
---- a/libs/xmlrpc-c/debian/rules
-+++ /dev/null
-@@ -1,97 +0,0 @@
--#!/usr/bin/make -f
--# Sample debian/rules that uses debhelper.
--# GNU copyright 1997 to 1999 by Joey Hess.
--
--# Uncomment this to turn on verbose mode.
--#export DH_VERBOSE=1
--
--# This is the debhelper compatability version to use.
--export DH_COMPAT=3
--
--# shared library versions, option 1
--#version=2.0.5
--#major=2
--# option 2, assuming the library is created as src/.libs/libfoo.so.2.0.5 or so
--version=`ls src/.libs/lib*.so.* | \
-- awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
--major=`ls src/.libs/lib*.so.* | \
-- awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`
--
--configure: configure-stamp
--configure-stamp:
-- dh_testdir
-- # Add here commands to configure the package.
-- ./configure --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
--
-- touch configure-stamp
--
--build: configure-stamp build-stamp
--build-stamp:
-- dh_testdir
--
-- # Add here commands to compile the package.
-- $(MAKE)
-- $(MAKE) check
--
-- touch build-stamp
--
--clean:
-- dh_testdir
-- dh_testroot
-- rm -f build-stamp configure-stamp
--
-- # Add here commands to clean up after the build process.
-- -$(MAKE) distclean
--
-- dh_clean
--
--install: build
-- dh_testdir
-- dh_testroot
-- dh_clean -k
-- dh_installdirs
--
-- # Add here commands to install the package into debian/tmp
-- $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
--
--
--# Build architecture-independent files here.
--binary-indep: build install
--# We have nothing to do by default.
--
--# Build architecture-dependent files here.
--binary-arch: build install
-- dh_testdir
-- dh_testroot
-- dh_movefiles
--
--# dh_installdebconf
-- dh_installdocs
-- dh_installexamples
-- dh_installmenu
--# dh_installlogrotate
--# dh_installemacsen
--# dh_installpam
--# dh_installmime
--# dh_installinit
-- dh_installcron
--# dh_installman debian/xmlrpc-c.7
--# dh_installman -p xmlrpc-c-dev debian/xml-rpc-api2cpp.1 debian/xml-rpc-api2txt.1 debian/xmlrpc-c-config.1
--# dh_installman -p xmlrpc-c-apps debian/meerkat-app-list.1 debian/query-meerkat.1
-- dh_installinfo
--# dh_undocumented
-- dh_installchangelogs
-- dh_link
-- dh_strip
-- dh_compress
-- dh_fixperms
-- dh_makeshlibs
-- dh_installdeb
--# dh_perl
-- dh_shlibdeps -l"$(CURDIR)/debian/xmlrpc-c0/usr/lib/:$$LD_LIBRARY_PATH"
-- dh_gencontrol
-- dh_md5sums
-- dh_builddeb
--
--binary: binary-indep binary-arch
--.PHONY: build clean binary-indep binary-arch binary install configure
-diff --git a/libs/xmlrpc-c/debian/xmlrpc-c-apps.files b/libs/xmlrpc-c/debian/xmlrpc-c-apps.files
-deleted file mode 100644
-index 3f005c6..0000000
---- a/libs/xmlrpc-c/debian/xmlrpc-c-apps.files
-+++ /dev/null
-@@ -1,4 +0,0 @@
--usr/bin/query-meerkat
--usr/bin/meerkat-app-list
--usr/share/man/man1/query-meerkat.1
--usr/share/man/man1/meerkat-app-list.1
-diff --git a/libs/xmlrpc-c/debian/xmlrpc-c-dev.files b/libs/xmlrpc-c/debian/xmlrpc-c-dev.files
-deleted file mode 100644
-index f1cc55d..0000000
---- a/libs/xmlrpc-c/debian/xmlrpc-c-dev.files
-+++ /dev/null
-@@ -1,10 +0,0 @@
--usr/bin/xmlrpc-c-config
--usr/bin/xml-rpc-api2txt
--usr/bin/xml-rpc-api2cpp
--usr/include/*
--usr/lib/lib*.a
--usr/lib/lib*.la
--usr/lib/lib*.so
--usr/share/man/man1/xmlrpc-c-config.1
--usr/share/man/man1/xml-rpc-api2txt.1
--usr/share/man/man1/xml-rpc-api2cpp.1
-diff --git a/libs/xmlrpc-c/debian/xmlrpc-c0.docs b/libs/xmlrpc-c/debian/xmlrpc-c0.docs
-deleted file mode 100644
-index 6df52b9..0000000
---- a/libs/xmlrpc-c/debian/xmlrpc-c0.docs
-+++ /dev/null
-@@ -1,6 +0,0 @@
--BUGS
--NEWS
--README
--CREDITS
--SECURITY
--doc/*.txt
-diff --git a/libs/xmlrpc-c/debian/xmlrpc-c0.examples b/libs/xmlrpc-c/debian/xmlrpc-c0.examples
-deleted file mode 100644
-index d510cc5..0000000
---- a/libs/xmlrpc-c/debian/xmlrpc-c0.examples
-+++ /dev/null
-@@ -1,3 +0,0 @@
--examples/*.c
--examples/*.cc
--conf
-diff --git a/libs/xmlrpc-c/debian/xmlrpc-c0.files b/libs/xmlrpc-c/debian/xmlrpc-c0.files
-deleted file mode 100644
-index 6f82592..0000000
---- a/libs/xmlrpc-c/debian/xmlrpc-c0.files
-+++ /dev/null
-@@ -1,2 +0,0 @@
--usr/lib/lib*.so.*
--usr/share/man/man7/xmlrpc-c.7
-diff --git a/libs/xmlrpc-c/dll-common.make b/libs/xmlrpc-c/dll-common.make
-deleted file mode 100644
-index 0d53c17..0000000
---- a/libs/xmlrpc-c/dll-common.make
-+++ /dev/null
-@@ -1,22 +0,0 @@
--# -*-makefile-*- <-- an Emacs control
--
--# See unix-common.make for an explanation of this file. This file is
--# analogous to unix-common.make, but is for a Windows system
--
--SONAME = $@
--IMPLIB = $(@:%:%.dll.a)
--
--SHLIB_CMD = $(CCLD) $(LDFLAGS_SHLIB) -o $@ $^ $(LADD)
--
--.PHONY: $(SHLIB_INSTALL_TARGETS)
--.PHONY: install-shared-libraries
--
--SHLIB_INSTALL_TARGETS = $(SHARED_LIBS_TO_INSTALL:%=%/install)
--
--#SHLIB_INSTALL_TARGETS is like "libfoo/install libbar/install"
--
--install-shared-libraries: $(SHLIB_INSTALL_TARGETS)
--
--$(SHLIB_INSTALL_TARGETS):lib%/install:$(SHLIB_PREFIX)%.$(SHLIB_SUFFIX).$(MAJ).$(MIN)
--# $< is a library file name, e.g. cygfoo.so.3.1 .
-- $(INSTALL_SHLIB) $< $(DESTDIR)$(LIBINST_DIR)/$<
-diff --git a/libs/xmlrpc-c/dll-common.mk b/libs/xmlrpc-c/dll-common.mk
-new file mode 100644
-index 0000000..9840709
---- /dev/null
-+++ b/libs/xmlrpc-c/dll-common.mk
-@@ -0,0 +1,22 @@
-+# -*-makefile-*- <-- an Emacs control
-+
-+# See unix-common.mk for an explanation of this file. This file is
-+# analogous to unix-common.mk, but is for a Windows system
-+
-+SONAME = $@
-+IMPLIB = $(@:%:%.dll.a)
-+
-+SHLIB_CMD = $(CCLD) $(LDFLAGS_SHLIB) -o $@ $^ $(LADD)
-+
-+.PHONY: $(SHLIB_INSTALL_TARGETS)
-+.PHONY: install-shared-libraries
-+
-+SHLIB_INSTALL_TARGETS = $(SHARED_LIBS_TO_INSTALL:%=%/install)
-+
-+#SHLIB_INSTALL_TARGETS is like "libfoo/install libbar/install"
-+
-+install-shared-libraries: $(SHLIB_INSTALL_TARGETS)
-+
-+$(SHLIB_INSTALL_TARGETS):%/install:%.$(SHLIB_SUFFIX)
-+# $< is a library file name, e.g. libfoo.dll .
-+ $(INSTALL_SHLIB) $< $(DESTDIR)$(LIBINST_DIR)/$<
-diff --git a/libs/xmlrpc-c/doc/INSTALL b/libs/xmlrpc-c/doc/INSTALL
-index 76881fa..2790010 100644
---- a/libs/xmlrpc-c/doc/INSTALL
-+++ b/libs/xmlrpc-c/doc/INSTALL
-@@ -82,6 +82,48 @@ you have to have a -f option and set SRCDIR and BLDDIR on your 'make'
- command.
-
-
-+CROSS-COMPILING
-+---------------
-+
-+Cross compiling is building code on one machine to be run on another,
-+particularly when the two machines are different enough that it matters,
-+e.g. one executes x86 instructions and the other executes PowerPC
-+instructions.
-+
-+The machine that will run the code is called the target machine. The one
-+that will build the code is the build machine.
-+
-+To cross-compile, you set up nearly all of the build environment for the
-+target machine (that includes such things as the default include file search
-+path for the compiler and library search path for the linker). On your
-+'configure' command, you use a --host option to identify the kind of target
-+machine (rather than let it default to the kind of machine on which
-+'configure' is running). It's a nontrivial task, and beyond the scope of
-+this document as it is not specific to Xmlrpc-c.
-+
-+There is one area that requires special attention and is specific to Xmlrpc-c:
-+The Xmlrpc-c build does part of its job by compiling a program from C source
-+code and running that program as part of the build. That compile, unlike all
-+the regular ones, must be done for the build machine, not the target
-+machine.
-+
-+To facilitate that, there are the BUILDTOOL_CC and BUILDTOOL_CCLD make
-+variables. BUILDTOOL_CC is the command name for the appropriate compiler
-+which which to build a build tool, i.e. a compiler that generates code to run
-+on the build system. BUILDTOOL_CCLD is similarly for the linker, and should
-+be the kind of linker command that invokes a combined compiler/linker,
-+e.g. "gcc" instead of "ld".
-+
-+You can set these make variables on the Make command line, or if you prefer,
-+by modifying the file 'config.mk' after 'configure' creates it. The default
-+value of these variables (as set in 'config.mk') is the same compile and link
-+commands as for building target code.
-+
-+(There is probably a way to do this with GNU Autoconf facilities and avoid the
-+BUILDTOOL_CC complication. If you know how (without using Automake), tell the
-+Xmlrpc-c maintainer and he will change the build system to use it).
-+
-+
- COMMON PROBLEMS
- ---------------
-
-@@ -135,7 +177,7 @@ to have it. The make file obviously specifies the path to the current
- libraries that the user just built in the link library search order,
- but the link is picking up the old system version instead. Why?
- Because the link options say to search /usr/lib _before_ the local
--build directory. And it does that because curl-config erroneously
-+build directory. And they do that because curl-config erroneously
- says that you need a -L /usr/lib link option to find the Curl library.
-
-
-diff --git a/libs/xmlrpc-c/dylib-common.make b/libs/xmlrpc-c/dylib-common.make
-deleted file mode 100644
-index a72d416..0000000
---- a/libs/xmlrpc-c/dylib-common.make
-+++ /dev/null
-@@ -1,37 +0,0 @@
--# -*-makefile-*- <-- an Emacs control
--
--# See unix-common.make for an explanation of this file. This file is
--# analogous to unix-common.make, but is for an Irix system.
--
--SONAME = $(@:%.$(MIN)=%)
--
--SHLIB_CMD = $(CCLD) $(LDFLAGS_SHLIB) -o $@ $^ $(LADD)
--
--SHLIBPP_CMD = $(CXXLD) $(LDFLAGS_SHLIB) -o $@ $^ $(LADD)
--
--SHLIB_LE_TARGETS = $(call shliblefn, $(SHARED_LIBS_TO_BUILD))
--
--$(SHLIB_LE_TARGETS):%.$(SHLIB_SUFFIX):%.$(MAJ).$(MIN).$(SHLIB_SUFFIX)
-- rm -f $@
-- $(LN_S) $< $@
--
--
--.PHONY: $(SHLIB_INSTALL_TARGETS)
--.PHONY: install-shared-libraries
--
--SHLIB_INSTALL_TARGETS = $(SHARED_LIBS_TO_INSTALL:%=%/install)
--
--#SHLIB_INSTALL_TARGETS is like "libfoo/install libbar/install"
--
--install-shared-libraries: $(SHLIB_INSTALL_TARGETS)
--
--$(SHLIB_INSTALL_TARGETS):%/install:%.$(MAJ).$(MIN).$(SHLIB_SUFFIX)
--# $< is a library file name, e.g. libfoo.so.3.1 .
-- $(INSTALL_SHLIB) $< $(DESTDIR)$(LIBINST_DIR)/$<
-- cd $(DESTDIR)$(LIBINST_DIR); \
-- rm -f $(<:%.$(MIN).$(SHLIB_SUFFIX)=%.$(SHLIB_SUFFIX)); \
-- $(LN_S) $< $(<:%.$(MIN).$(SHLIB_SUFFIX)=%.$(SHLIB_SUFFIX))
-- cd $(DESTDIR)$(LIBINST_DIR); \
-- rm -f $(<:%.$(MAJ).$(MIN).$(SHLIB_SUFFIX)=%.$(SHLIB_SUFFIX)); \
-- $(LN_S) $(<:%.$(MIN).$(SHLIB_SUFFIX)=%.$(SHLIB_SUFFIX)) \
-- $(<:%.$(MAJ).$(MIN).$(SHLIB_SUFFIX)=%.$(SHLIB_SUFFIX))
-diff --git a/libs/xmlrpc-c/dylib-common.mk b/libs/xmlrpc-c/dylib-common.mk
-new file mode 100644
-index 0000000..c9ac6c5
---- /dev/null
-+++ b/libs/xmlrpc-c/dylib-common.mk
-@@ -0,0 +1,37 @@
-+# -*-makefile-*- <-- an Emacs control
-+
-+# See unix-common.mk for an explanation of this file. This file is
-+# analogous to unix-common.mk, but is for an Irix system.
-+
-+SONAME = $(@:%.$(MIN)=%)
-+
-+SHLIB_CMD = $(CCLD) $(LADD) $(LDFLAGS_SHLIB) -o $@ $^
-+
-+SHLIBPP_CMD = $(CXXLD) $(LADD) $(LDFLAGS_SHLIB) -o $@ $^
-+
-+SHLIB_LE_TARGETS = $(call shliblefn, $(SHARED_LIBS_TO_BUILD))
-+
-+$(SHLIB_LE_TARGETS):%.$(SHLIB_SUFFIX):%.$(MAJ).$(MIN).$(SHLIB_SUFFIX)
-+ rm -f $@
-+ $(LN_S) $< $@
-+
-+
-+.PHONY: $(SHLIB_INSTALL_TARGETS)
-+.PHONY: install-shared-libraries
-+
-+SHLIB_INSTALL_TARGETS = $(SHARED_LIBS_TO_INSTALL:%=%/install)
-+
-+#SHLIB_INSTALL_TARGETS is like "libfoo/install libbar/install"
-+
-+install-shared-libraries: $(SHLIB_INSTALL_TARGETS)
-+
-+$(SHLIB_INSTALL_TARGETS):%/install:%.$(MAJ).$(MIN).$(SHLIB_SUFFIX)
-+# $< is a library file name, e.g. libfoo.so.3.1 .
-+ $(INSTALL_SHLIB) $< $(DESTDIR)$(LIBINST_DIR)/$<
-+ cd $(DESTDIR)$(LIBINST_DIR); \
-+ rm -f $(<:%.$(MIN).$(SHLIB_SUFFIX)=%.$(SHLIB_SUFFIX)); \
-+ $(LN_S) $< $(<:%.$(MIN).$(SHLIB_SUFFIX)=%.$(SHLIB_SUFFIX))
-+ cd $(DESTDIR)$(LIBINST_DIR); \
-+ rm -f $(<:%.$(MAJ).$(MIN).$(SHLIB_SUFFIX)=%.$(SHLIB_SUFFIX)); \
-+ $(LN_S) $(<:%.$(MIN).$(SHLIB_SUFFIX)=%.$(SHLIB_SUFFIX)) \
-+ $(<:%.$(MAJ).$(MIN).$(SHLIB_SUFFIX)=%.$(SHLIB_SUFFIX))
-diff --git a/libs/xmlrpc-c/examples/.cvsignore b/libs/xmlrpc-c/examples/.cvsignore
-deleted file mode 100644
-index 792265c..0000000
---- a/libs/xmlrpc-c/examples/.cvsignore
-+++ /dev/null
-@@ -1,11 +0,0 @@
--gen_sample_add_xml
--meerkat-app-list
--query-meerkat
--synch_client
--xmlrpc_asynch_client
--auth_client
--xmlrpc_loop_server
--xmlrpc_sample_add_client
--xmlrpc_sample_add_server
--xmlrpc_server_validatee
--*.cgi
-diff --git a/libs/xmlrpc-c/examples/Makefile b/libs/xmlrpc-c/examples/Makefile
-index 5a9fd19..c441c9f 100644
---- a/libs/xmlrpc-c/examples/Makefile
-+++ b/libs/xmlrpc-c/examples/Makefile
-@@ -1,8 +1,8 @@
--# Since the programs in this directories are examples for the user, this
--# make file should be as ordinary as possible. It should not rely heavily
--# on included make files or configuration parameters. It should not use
--# libtool. Also, we don't try to build or rebuild the libraries on which
--# these programs depend.
-+# Since the programs in this directory are examples for the user, this make
-+# file should be as ordinary as possible. It should not rely heavily on
-+# included make files or configuration parameters. Also, we don't try to
-+# build or rebuild the libraries on which these programs depend or even
-+# recognize that they've changed on their own.
-
-
- ifeq ($(SRCDIR),)
-@@ -15,8 +15,8 @@ include $(BLDDIR)/config.mk
-
- default: all
-
--CFLAGS = $(CFLAGS_COMMON) $(CFLAGS_PERSONAL) $(CADD)
--LDFLAGS = $(LADD)
-+CFLAGS = $(CFLAGS_PERSONAL) $(CADD)
-+LDFLAGS += $(LADD)
-
- # If this were a real application, working from an installed copy of
- # Xmlrpc-c, XMLRPC_C_CONFIG would just be 'xmlrpc-c-config'. It would be
-@@ -25,6 +25,7 @@ XMLRPC_C_CONFIG = $(BLDDIR)/xmlrpc-c-config.test
-
- CLIENTPROGS = \
- auth_client \
-+ compound_value_client \
- synch_client \
- xmlrpc_sample_add_client \
- xmlrpc_asynch_client \
-@@ -37,6 +38,7 @@ SERVERPROGS_CGI = \
- xmlrpc_sample_add_server.cgi
-
- SERVERPROGS_ABYSS = \
-+ compound_value_server \
- interrupted_server \
- xmlrpc_inetd_server \
- xmlrpc_socket_server \
-@@ -44,15 +46,19 @@ SERVERPROGS_ABYSS = \
- xmlrpc_sample_add_server \
- xmlrpc_server_validatee \
-
-+BASIC_PROGS = \
-+ json \
-+ gen_sample_add_xml \
-+
- # Build up PROGS:
- PROGS =
-
-+PROGS += $(BASIC_PROGS)
-+
- ifeq ($(ENABLE_ABYSS_SERVER),yes)
- PROGS += $(SERVERPROGS_ABYSS)
- endif
-
--PROGS += gen_sample_add_xml
--
- ifeq ($(MUST_BUILD_CLIENT),yes)
- PROGS += $(CLIENTPROGS)
- endif
-@@ -63,17 +69,17 @@ endif
-
- INCLUDES = -I. $(shell $(XMLRPC_C_CONFIG) client abyss-server --cflags)
-
--LDADD_CLIENT = \
-- $(shell $(XMLRPC_C_CONFIG) client --ldadd)
-+LIBS_CLIENT = \
-+ $(shell $(XMLRPC_C_CONFIG) client --libs)
-
--LDADD_SERVER_ABYSS = \
-- $(shell $(XMLRPC_C_CONFIG) abyss-server --ldadd)
-+LIBS_SERVER_ABYSS = \
-+ $(shell $(XMLRPC_C_CONFIG) abyss-server --libs)
-
--LDADD_SERVER_CGI = \
-- $(shell $(XMLRPC_C_CONFIG) cgi-server --ldadd)
-+LIBS_SERVER_CGI = \
-+ $(shell $(XMLRPC_C_CONFIG) cgi-server --libs)
-
--LDADD_BASE = \
-- $(shell $(XMLRPC_C_CONFIG) --ldadd)
-+LIBS_BASE = \
-+ $(shell $(XMLRPC_C_CONFIG) --libs)
-
- all: $(PROGS)
-
-@@ -90,16 +96,17 @@ $(BLDDIR)/examples/cpp:
- mkdir $@
-
- $(CLIENTPROGS):%:%.o
-- $(CCLD) -o $@ $(LDFLAGS) $^ $(LDADD_CLIENT)
-+ $(CCLD) -o $@ $^ $(LIBS_CLIENT) $(LDFLAGS)
-
- $(SERVERPROGS_CGI):%.cgi:%_cgi.o
-- $(CCLD) -o $@ $(LDFLAGS) $^ $(LDADD_SERVER_CGI)
-+ $(CCLD) -o $@ $^ $(LIBS_SERVER_CGI) $(LDFLAGS)
-
- $(SERVERPROGS_ABYSS):%:%.o
-- $(CCLD) -o $@ $(LDFLAGS) $^ $(LDADD_SERVER_ABYSS)
-+ $(CCLD) -o $@ $^ $(LIBS_SERVER_ABYSS) $(LDFLAGS)
-+
-+$(BASIC_PROGS):%:%.o
-+ $(CCLD) -o $@ $^ $(LIBS_BASE) $(LDFLAGS)
-
--gen_sample_add_xml:%:%.o
-- $(CCLD) -o $@ $(LDFLAGS) $^ $(LDADD_BASE)
-
- OBJECTS = $(patsubst %,%.o,$(patsubst %.cgi,%_cgi,$(PROGS)))
-
-@@ -119,11 +126,9 @@ config.h:
- xmlrpc_amconfig.h:
- $(LN_S) $(BLDDIR)/$@ .
-
--include $(SRCDIR)/common.mk
--
- .PHONY: clean
--clean: clean-common
-- rm -f $(PROGS) config.h xmlrpc_amconfig.h
-+clean:
-+ rm -f $(PROGS) *.o config.h xmlrpc_amconfig.h
- $(MAKE) -C cpp clean
-
- .PHONY: distclean
-diff --git a/libs/xmlrpc-c/examples/README b/libs/xmlrpc-c/examples/README
-index 46b02b4..6691f8a 100644
---- a/libs/xmlrpc-c/examples/README
-+++ b/libs/xmlrpc-c/examples/README
-@@ -1,15 +1,12 @@
- This directory contains working examples of uses of XML-RPC-c. There
- are XML-RPC servers and XML-RPC clients that use the Xmlrpc-c libraries.
-
--The simplest example is the 'query-meerkat' program, which contacts an
--XML-RPC server that O'Reilly operates on the Internet called Meerkat.
--Meerkat provides an RPC that returns a list of new articles that match
--a specified search pattern. Run 'query-meerkat' like this example:
--
-- $ ./query-meerkat Linux
--
--This responds with a list of new articles that contain the work "Linux",
--according to O'reilly's Meerkat service.
-+The make file is a combination of an example of how to build programs
-+that use Xmlrpc-c libraries and something that actually does build the
-+programs in this directory. As such, it isn't perfect for either of
-+those purposes. To build the examples, you must first build the
-+libraries (make dependencies will not take care of that for you). Then
-+you can issue a simple 'make' in this directory.
-
-
- The simplest server program is 'xmlrpc_sample_add_server'. This
-diff --git a/libs/xmlrpc-c/examples/auth_client.c b/libs/xmlrpc-c/examples/auth_client.c
-index 50047f4..fbbd0a9 100644
---- a/libs/xmlrpc-c/examples/auth_client.c
-+++ b/libs/xmlrpc-c/examples/auth_client.c
-@@ -35,7 +35,7 @@ die_if_fault_occurred(xmlrpc_env * const envP) {
-
- int
- main(int const argc,
-- const char ** const argv ATTR_UNUSED) {
-+ const char ** const argv) {
-
- xmlrpc_env env;
- xmlrpc_server_info * serverP;
-diff --git a/libs/xmlrpc-c/examples/compound_value_client.c b/libs/xmlrpc-c/examples/compound_value_client.c
-new file mode 100644
-index 0000000..92baad1
---- /dev/null
-+++ b/libs/xmlrpc-c/examples/compound_value_client.c
-@@ -0,0 +1,161 @@
-+/* An XML-RPC client program written in C, as an example of using
-+ compound XML-RPC values.
-+
-+ For a simple client program that just deals with integer values,
-+ see xmlrpc_sample_add_client.c. This example focuses just on the
-+ compound XML-RPC values and not the client functions.
-+
-+ This client invokes the example.divide XML-RPC method that the example
-+ server program compound_value_server.c provides. That method takes a
-+ list of pairs of numbers and returns the list of their quotients.
-+
-+ Compound XML-RPC values are arrays and structures. We call them compound
-+ because they are made up of other XML-RPC values (e.g. an array of XML-RPC
-+ integers).
-+
-+ The arguments to the example.divide method are specified as follows:
-+
-+ There are two arguments:
-+
-+ Argument 0: Integer. Version number of this argument protocol. Must
-+ be 1.
-+
-+
-+ Argument 1: Array. One element for each pair of numbers you want the
-+ server to divide. Each element is structure, with these
-+ members:
-+
-+ KEY: "dividend"
-+ VALUE: floating point number. The dividend.
-+
-+ KEY: "divisor"
-+ VALUE: floating point number. The divisor.
-+
-+ The result of the method is an array. It has one member for each pair of
-+ numbers in the arguments (So it is the same size as Argument 1). That
-+ member is a floating point number. It is the quotient of the numbers
-+ in the corresponding element of Argument 1.
-+
-+ The client sends the RPC to the server running on the local system
-+ ("localhost"), HTTP Port 8080.
-+*/
-+
-+#include
-+#include
-+
-+#include
-+#include
-+
-+#include "config.h" /* information about this build environment */
-+
-+#define NAME "Xmlrpc-c Test Client"
-+#define VERSION "1.0"
-+
-+static void
-+dieIfFaultOccurred (xmlrpc_env * const envP) {
-+ if (envP->fault_occurred) {
-+ fprintf(stderr, "ERROR: %s (%d)\n",
-+ envP->fault_string, envP->fault_code);
-+ exit(1);
-+ }
-+}
-+
-+
-+
-+struct ratio {
-+ double dividend;
-+ double divisor;
-+};
-+
-+
-+
-+int
-+main(int const argc,
-+ const char ** const argv) {
-+
-+ const char * const serverUrl = "http://localhost:8080/RPC2";
-+ const char * const methodName = "example.divide";
-+ unsigned int const argVersion = 1;
-+ struct ratio const data[] = {{1,2},{12,3},{10,3},{89,3000}};
-+ xmlrpc_env env;
-+ xmlrpc_value * resultP;
-+ unsigned int i;
-+ xmlrpc_value * ratioArrayP;
-+ unsigned int quotientCt;
-+
-+ if (argc-1 > 0) {
-+ fprintf(stderr, "This program has no arguments\n");
-+ exit(1);
-+ }
-+
-+ xmlrpc_env_init(&env);
-+
-+ xmlrpc_client_init2(&env, XMLRPC_CLIENT_NO_FLAGS, NAME, VERSION, NULL, 0);
-+ dieIfFaultOccurred(&env);
-+
-+ /* Build the 2nd method argument: the array of ratios */
-+
-+ ratioArrayP = xmlrpc_array_new(&env);
-+ dieIfFaultOccurred(&env);
-+
-+ for (i = 0; i < 4; ++i) {
-+ xmlrpc_value * dividendP;
-+ xmlrpc_value * divisorP;
-+ xmlrpc_value * ratioP;
-+
-+ dividendP = xmlrpc_double_new(&env, data[i].dividend);
-+ dieIfFaultOccurred(&env);
-+ divisorP = xmlrpc_double_new(&env, data[i].divisor);
-+ dieIfFaultOccurred(&env);
-+
-+ ratioP = xmlrpc_struct_new(&env);
-+ dieIfFaultOccurred(&env);
-+
-+ xmlrpc_struct_set_value(&env, ratioP, "DIVIDEND", dividendP);
-+ dieIfFaultOccurred(&env);
-+ xmlrpc_struct_set_value(&env, ratioP, "DIVISOR", divisorP);
-+ dieIfFaultOccurred(&env);
-+
-+ xmlrpc_array_append_item(&env, ratioArrayP, ratioP);
-+ dieIfFaultOccurred(&env);
-+
-+ xmlrpc_DECREF(ratioP);
-+ xmlrpc_DECREF(divisorP);
-+ xmlrpc_DECREF(dividendP);
-+ }
-+
-+ /* Make the call */
-+
-+ resultP = xmlrpc_client_call(&env, serverUrl, methodName, "(iA)",
-+ (xmlrpc_int32) argVersion, ratioArrayP);
-+ dieIfFaultOccurred(&env);
-+
-+ /* Print out the quotients returned */
-+
-+ quotientCt = xmlrpc_array_size(&env, resultP);
-+ dieIfFaultOccurred(&env);
-+
-+ for (i = 0; i < quotientCt; ++i) {
-+ xmlrpc_value * quotientP;
-+ xmlrpc_double quotient;
-+
-+ xmlrpc_array_read_item(&env, resultP, i, "ientP);
-+ dieIfFaultOccurred(&env);
-+
-+ xmlrpc_read_double(&env, quotientP, "ient);
-+ dieIfFaultOccurred(&env);
-+
-+ printf("Server says quotient %u is %f\n", i, quotient);
-+
-+ xmlrpc_DECREF(quotientP);
-+ }
-+
-+ xmlrpc_DECREF(resultP);
-+
-+ xmlrpc_env_clean(&env);
-+
-+ xmlrpc_client_cleanup();
-+
-+ return 0;
-+}
-+
-diff --git a/libs/xmlrpc-c/examples/compound_value_server.c b/libs/xmlrpc-c/examples/compound_value_server.c
-new file mode 100644
-index 0000000..99d1127
---- /dev/null
-+++ b/libs/xmlrpc-c/examples/compound_value_server.c
-@@ -0,0 +1,199 @@
-+/* An XML-RPC server program written in C, as an example of using
-+ compound XML-RPC values.
-+
-+ For a simple server program that just deals with integer values,
-+ see xmlrpc_sample_add_server.c. This example focuses just on the
-+ compound XML-RPC values and not the server functions.
-+
-+ This server provides the example.divide XML-RPC method that the example
-+ client program compound_value_client.c invokes. See that program for
-+ details on what the method does.
-+
-+ The program takes one argument: the HTTP port number on which the server
-+ is to accept connections, in decimal.
-+
-+ Example:
-+
-+ $ ./compound_value_server 8080&
-+ $ ./compound_value_client
-+*/
-+
-+#include
-+#include
-+
-+#include
-+#include
-+#include
-+
-+#include "config.h" /* information about this build environment */
-+
-+
-+
-+static void
-+computeQuotient(xmlrpc_env * const envP,
-+ xmlrpc_value * const ratioP,
-+ xmlrpc_double * const quotientP) {
-+
-+ xmlrpc_value * dividendP;
-+
-+ xmlrpc_struct_find_value(envP, ratioP, "DIVIDEND", ÷ndP);
-+
-+ if (!envP->fault_occurred) {
-+ if (!dividendP)
-+ xmlrpc_env_set_fault(
-+ envP, 0, "Structure is missing 'DIVIDEND' member");
-+ else {
-+ xmlrpc_value * divisorP;
-+
-+ xmlrpc_struct_find_value(envP, ratioP, "DIVISOR", &divisorP);
-+
-+ if (!envP->fault_occurred) {
-+ if (!divisorP)
-+ xmlrpc_env_set_fault(
-+ envP, 0, "Structure is missing 'DIVISOR' member");
-+ else {
-+ xmlrpc_double dividend;
-+
-+ xmlrpc_read_double(envP, dividendP, ÷nd);
-+
-+ if (!envP->fault_occurred) {
-+ xmlrpc_double divisor;
-+
-+ xmlrpc_read_double(envP, divisorP, &divisor);
-+
-+ if (!envP->fault_occurred)
-+ *quotientP = dividend / divisor;
-+ }
-+ xmlrpc_DECREF(divisorP);
-+ }
-+ }
-+ xmlrpc_DECREF(dividendP);
-+ }
-+ }
-+}
-+
-+
-+
-+static void
-+computeQuotients(xmlrpc_env * const envP,
-+ xmlrpc_value * const ratioArrayP,
-+ xmlrpc_value ** const quotientArrayPP) {
-+
-+ xmlrpc_value * quotientArrayP;
-+
-+ quotientArrayP = xmlrpc_array_new(envP);
-+ if (!envP->fault_occurred) {
-+
-+ unsigned int const ratioCt = xmlrpc_array_size(envP, ratioArrayP);
-+
-+ unsigned int i;
-+
-+ for (i = 0; i < ratioCt && !envP->fault_occurred; ++i) {
-+ xmlrpc_value * ratioP;
-+
-+ xmlrpc_array_read_item(envP, ratioArrayP, i, &ratioP);
-+
-+ if (!envP->fault_occurred) {
-+ xmlrpc_double quotient;
-+
-+ computeQuotient(envP, ratioP, "ient);
-+
-+ if (!envP->fault_occurred) {
-+ xmlrpc_value * quotientP;
-+
-+ quotientP = xmlrpc_double_new(envP, quotient);
-+
-+ if (!envP->fault_occurred) {
-+ xmlrpc_array_append_item(envP, quotientArrayP,
-+ quotientP);
-+
-+ xmlrpc_DECREF(quotientP);
-+ }
-+ }
-+ xmlrpc_DECREF(ratioP);
-+ }
-+ }
-+ if (envP->fault_occurred)
-+ xmlrpc_DECREF(quotientArrayP);
-+ else
-+ *quotientArrayPP = quotientArrayP;
-+ }
-+}
-+
-+
-+
-+static xmlrpc_value *
-+example_divide(xmlrpc_env * const envP,
-+ xmlrpc_value * const paramArrayP,
-+ void * const serverInfo,
-+ void * const channelInfo) {
-+
-+ xmlrpc_value * retvalP;
-+ xmlrpc_int32 argVersion;
-+ xmlrpc_value * ratioArrayP;
-+
-+ xmlrpc_decompose_value(envP, paramArrayP, "(iA)",
-+ &argVersion, &ratioArrayP);
-+ if (envP->fault_occurred)
-+ return NULL;
-+
-+ if (argVersion != 1) {
-+ xmlrpc_env_set_fault(envP, 0, "Parameter list version must be 1");
-+ return NULL;
-+ }
-+
-+ computeQuotients(envP, ratioArrayP, &retvalP);
-+
-+ xmlrpc_DECREF(ratioArrayP);
-+
-+ if (envP->fault_occurred)
-+ return NULL;
-+
-+ return retvalP;
-+}
-+
-+
-+
-+int
-+main(int const argc,
-+ const char ** const argv) {
-+
-+ struct xmlrpc_method_info3 const methodInfo = {
-+ /* .methodName = */ "example.divide",
-+ /* .methodFunction = */ &example_divide,
-+ };
-+ xmlrpc_server_abyss_parms serverparm;
-+ xmlrpc_registry * registryP;
-+ xmlrpc_env env;
-+
-+ if (argc-1 != 1) {
-+ fprintf(stderr, "You must specify 1 argument: The TCP port "
-+ "number on which the server will accept connections "
-+ "for RPCs (8080 is a common choice). "
-+ "You specified %d arguments.\n", argc-1);
-+ exit(1);
-+ }
-+
-+ xmlrpc_env_init(&env);
-+
-+ registryP = xmlrpc_registry_new(&env);
-+
-+ xmlrpc_registry_add_method3(&env, registryP, &methodInfo);
-+
-+ /* In the modern form of the Abyss API, we supply parameters in memory
-+ like a normal API. We select the modern form by setting
-+ config_file_name to NULL:
-+ */
-+ serverparm.config_file_name = NULL;
-+ serverparm.registryP = registryP;
-+ serverparm.port_number = atoi(argv[1]);
-+ serverparm.log_file_name = "/tmp/xmlrpc_log";
-+
-+ printf("Running XML-RPC server...\n");
-+
-+ xmlrpc_server_abyss(&env, &serverparm, XMLRPC_APSIZE(log_file_name));
-+
-+ /* xmlrpc_server_abyss() never returns */
-+
-+ return 0;
-+}
-diff --git a/libs/xmlrpc-c/examples/cpp/.cvsignore b/libs/xmlrpc-c/examples/cpp/.cvsignore
-deleted file mode 100644
-index fedad6b..0000000
---- a/libs/xmlrpc-c/examples/cpp/.cvsignore
-+++ /dev/null
-@@ -1,4 +0,0 @@
--meerkat-app-list
--xmlrpc_sample_add_server
--xmlrpc_sample_add_client
--sample_add_client_complex
-diff --git a/libs/xmlrpc-c/examples/cpp/Makefile b/libs/xmlrpc-c/examples/cpp/Makefile
-index 1c8b930..18798cb 100644
---- a/libs/xmlrpc-c/examples/cpp/Makefile
-+++ b/libs/xmlrpc-c/examples/cpp/Makefile
-@@ -15,8 +15,8 @@ include $(BLDDIR)/config.mk
-
- default: all
-
--CXXFLAGS = $(CXXFLAGS_COMMON) $(CFLAGS_PERSONAL) $(CADD)
--LDFLAGS = $(LADD)
-+CXXFLAGS = $(CFLAGS_PERSONAL) $(CADD)
-+LDFLAGS += $(LADD)
-
- # If this were a real application, working from an installed copy of
- # Xmlrpc-c, XMLRPC_C_CONFIG would just be 'xmlrpc-c-config'. It would be
-@@ -24,10 +24,14 @@ LDFLAGS = $(LADD)
- XMLRPC_C_CONFIG = $(BLDDIR)/xmlrpc-c-config.test
-
-
-+SERVERPROGS_CGI = \
-+ xmlrpc_sample_add_server.cgi
-+
- SERVERPROGS_ABYSS = \
- xmlrpc_inetd_server \
- xmlrpc_loop_server \
- xmlrpc_sample_add_server \
-+ callinfo_abyss_server \
-
- CLIENTPROGS = \
- xmlrpc_sample_add_client \
-@@ -45,7 +49,11 @@ ifeq ($(MUST_BUILD_CLIENT),yes)
- PROGS += $(CLIENTPROGS)
- endif
-
--PROGS += pstream_inetd_server
-+ifeq ($(ENABLE_CGI_SERVER),yes)
-+ PROGS += $(SERVERPROGS_CGI)
-+endif
-+
-+PROGS += pstream_inetd_server pstream_serial_server
-
- ifeq ($(MUST_BUILD_CLIENT),yes)
- PROGS += pstream_client
-@@ -53,37 +61,43 @@ endif
-
- INCLUDES = -I. $(shell $(XMLRPC_C_CONFIG) c++2 client abyss-server --cflags)
-
--LDADD_SERVER_ABYSS = \
-- $(shell $(XMLRPC_C_CONFIG) c++2 abyss-server --ldadd)
-+LIBS_SERVER_ABYSS = \
-+ $(shell $(XMLRPC_C_CONFIG) c++2 abyss-server --libs)
-
--LDADD_CLIENT = \
-- $(shell $(XMLRPC_C_CONFIG) c++2 client --ldadd)
-+LIBS_SERVER_CGI = \
-+ $(shell $(XMLRPC_C_CONFIG) c++2 cgi-server --libs)
-
--LDADD_BASE = \
-- $(shell $(XMLRPC_C_CONFIG) c++2 --ldadd)
-+LIBS_CLIENT = \
-+ $(shell $(XMLRPC_C_CONFIG) c++2 client --libs)
-+
-+LIBS_BASE = \
-+ $(shell $(XMLRPC_C_CONFIG) c++2 --libs)
-
- all: $(PROGS)
-
-+$(SERVERPROGS_CGI):%.cgi:%_cgi.o
-+ $(CXXLD) -o $@ $^ $(LIBS_SERVER_CGI) $(LDFLAGS)
-+
- $(SERVERPROGS_ABYSS):%:%.o
-- $(CXXLD) -o $@ $(LDFLAGS) $^ $(LDADD_SERVER_ABYSS)
-+ $(CXXLD) -o $@ $^ $(LIBS_SERVER_ABYSS) $(LDFLAGS)
-
- $(CLIENTPROGS):%:%.o
-- $(CXXLD) -o $@ $(LDFLAGS) $^ $(LDADD_CLIENT)
-+ $(CXXLD) -o $@ $^ $(LIBS_CLIENT) $(LDFLAGS)
-
-
--LDADD_PSTREAM_CLIENT = \
-- $(shell $(XMLRPC_C_CONFIG) c++2 client --ldadd)
-+LIBS_PSTREAM_CLIENT = \
-+ $(shell $(XMLRPC_C_CONFIG) c++2 client --libs)
-
- pstream_client:%:%.o
-- $(CXXLD) -o $@ $(LDFLAGS) $^ $(LDADD_PSTREAM_CLIENT)
-+ $(CXXLD) -o $@ $^ $(LIBS_PSTREAM_CLIENT) $(LDFLAGS)
-
--LDADD_PSTREAM_SERVER = \
-- $(shell $(XMLRPC_C_CONFIG) c++2 pstream-server --ldadd)
-+LIBS_PSTREAM_SERVER = \
-+ $(shell $(XMLRPC_C_CONFIG) c++2 pstream-server --libs)
-
--pstream_inetd_server:%:%.o
-- $(CXXLD) -o $@ $(LDFLAGS) $^ $(LDADD_PSTREAM_SERVER)
-+pstream_inetd_server pstream_serial_server:%:%.o
-+ $(CXXLD) -o $@ $^ $(LIBS_PSTREAM_SERVER) $(LDFLAGS)
-
--OBJECTS = $(PROGS:%=%.o)
-+OBJECTS = $(patsubst %,%.o,$(patsubst %.cgi,%_cgi,$(PROGS)))
-
- $(OBJECTS):%.o:%.cpp
- $(CXX) -c $(INCLUDES) $(CXXFLAGS) $<
-@@ -97,11 +111,9 @@ config.h:
- xmlrpc_amconfig.h:
- $(LN_S) $(BLDDIR)/$@ .
-
--include $(SRCDIR)/common.mk
--
- .PHONY: clean
--clean: clean-common
-- rm -f $(PROGS) config.h xmlrpc_amconfig.h
-+clean:
-+ rm -f $(PROGS) *.o config.h xmlrpc_amconfig.h
-
- .PHONY: distclean
- distclean: clean
-diff --git a/libs/xmlrpc-c/examples/cpp/callinfo_abyss_server.cpp b/libs/xmlrpc-c/examples/cpp/callinfo_abyss_server.cpp
-new file mode 100644
-index 0000000..a297b8e
---- /dev/null
-+++ b/libs/xmlrpc-c/examples/cpp/callinfo_abyss_server.cpp
-@@ -0,0 +1,133 @@
-+// A simple standalone XML-RPC server written in C++.
-+//
-+// This server returns to the caller his IP address and port number,
-+// as a demonstration of how to access such information.
-+//
-+// This works only on Unix (to wit, something that uses Abyss's
-+// ChanSwitchUnix channel switch to accept TCP connections from clients).
-+//
-+// See xmlrpc_sample_add_server.cpp for a more basic example.
-+//
-+// To run this:
-+//
-+// $ ./callinfo_abyss_server &
-+// $ xmlrpc localhost:8080 getCallInfo
-+
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+
-+#include
-+#include
-+#include
-+#include
-+
-+using namespace std;
-+
-+
-+struct tcpPortAddr {
-+ unsigned char ipAddr[4];
-+ unsigned short portNumber;
-+};
-+
-+
-+static struct tcpPortAddr
-+tcpAddrFromSockAddr(struct sockaddr const sockAddr) {
-+
-+ const struct sockaddr_in * const sockAddrInP(
-+ static_cast((void *)&sockAddr));
-+
-+ const unsigned char * const ipAddr(
-+ static_cast(
-+ (const void *)&sockAddrInP->sin_addr.s_addr)
-+ ); // 4 byte array
-+
-+ assert(sockAddrInP->sin_family == AF_INET);
-+
-+ struct tcpPortAddr retval;
-+
-+ retval.ipAddr[0] = ipAddr[0];
-+ retval.ipAddr[1] = ipAddr[1];
-+ retval.ipAddr[2] = ipAddr[2];
-+ retval.ipAddr[3] = ipAddr[3];
-+ retval.portNumber = ntohs(sockAddrInP->sin_port);
-+
-+ return retval;
-+}
-+
-+
-+
-+static std::string
-+rpcIpAddrMsg(xmlrpc_c::callInfo_serverAbyss const& callInfo) {
-+
-+ void * chanInfoPtr;
-+ SessionGetChannelInfo(callInfo.abyssSessionP, &chanInfoPtr);
-+
-+ struct abyss_unix_chaninfo * const chanInfoP(
-+ static_cast(chanInfoPtr));
-+
-+ struct tcpPortAddr const tcpAddr(tcpAddrFromSockAddr(chanInfoP->peerAddr));
-+
-+ char msg[128];
-+
-+ sprintf(msg, "RPC is from IP address %u.%u.%u.%u, Port %hu",
-+ tcpAddr.ipAddr[0],
-+ tcpAddr.ipAddr[1],
-+ tcpAddr.ipAddr[2],
-+ tcpAddr.ipAddr[3],
-+ tcpAddr.portNumber);
-+
-+ return std::string(msg);
-+}
-+
-+
-+
-+class getCallInfoMethod : public xmlrpc_c::method2 {
-+public:
-+ void
-+ execute(xmlrpc_c::paramList const& paramList,
-+ const xmlrpc_c::callInfo * const callInfoPtr,
-+ xmlrpc_c::value * const retvalP) {
-+
-+ const xmlrpc_c::callInfo_serverAbyss * const callInfoP(
-+ dynamic_cast(callInfoPtr));
-+
-+ paramList.verifyEnd(0);
-+
-+ // Because this gets called via a xmlrpc_c::serverAbyss:
-+ assert(callInfoP != NULL);
-+
-+ *retvalP = xmlrpc_c::value_string(rpcIpAddrMsg(*callInfoP));
-+ }
-+};
-+
-+
-+
-+int
-+main(int const,
-+ const char ** const) {
-+
-+ try {
-+ xmlrpc_c::registry myRegistry;
-+
-+ xmlrpc_c::methodPtr const getCallInfoMethodP(new getCallInfoMethod);
-+
-+ myRegistry.addMethod("getCallInfo", getCallInfoMethodP);
-+
-+ xmlrpc_c::serverAbyss myAbyssServer(xmlrpc_c::serverAbyss::constrOpt()
-+ .registryP(&myRegistry)
-+ .portNumber(8080)
-+ );
-+
-+ myAbyssServer.run();
-+ // xmlrpc_c::serverAbyss.run() never returns
-+ assert(false);
-+ } catch (exception const& e) {
-+ cerr << "Something failed. " << e.what() << endl;
-+ }
-+ return 0;
-+}
-diff --git a/libs/xmlrpc-c/examples/cpp/meerkat-app-list.cpp b/libs/xmlrpc-c/examples/cpp/meerkat-app-list.cpp
-deleted file mode 100644
-index c2bd1e3..0000000
---- a/libs/xmlrpc-c/examples/cpp/meerkat-app-list.cpp
-+++ /dev/null
-@@ -1,108 +0,0 @@
--// List recently-released Linux applications. (Written in C++.)
--// For more details about O'Reilly's excellent Meerkat news service, see:
--// http://www.oreillynet.com/pub/a/rss/2000/11/14/meerkat_xmlrpc.html */
--
--#include
--#include
--#include
--
--using namespace std;
--
--#include
--
--#define NAME "XML-RPC C++ Meerkat Query Demo"
--#define VERSION "0.1"
--#define MEERKAT_URL "http://www.oreillynet.com/meerkat/xml-rpc/server.php"
--#define SOFTWARE_LINUX (6)
--
--static void list_apps (int hours) {
--
-- // Build our time_period parameter.
-- ostringstream time_period_stream;
-- time_period_stream << hours << "HOUR";
-- string time_period = time_period_stream.str();
--
-- // Assemble our meerkat query recipe.
-- XmlRpcValue recipe = XmlRpcValue::makeStruct();
-- recipe.structSetValue("category", XmlRpcValue::makeInt(SOFTWARE_LINUX));
-- recipe.structSetValue("time_period", XmlRpcValue::makeString(time_period));
-- recipe.structSetValue("descriptions", XmlRpcValue::makeInt(76));
--
-- // Build our parameter array.
-- XmlRpcValue param_array = XmlRpcValue::makeArray();
-- param_array.arrayAppendItem(recipe);
--
-- // Create a client pointing to Meerkat.
-- XmlRpcClient meerkat (MEERKAT_URL);
--
-- // Perform the query.
-- XmlRpcValue apps = meerkat.call("meerkat.getItems", param_array);
--
-- // Print our results.
-- int first = 1;
-- size_t app_count = apps.arraySize();
-- for (size_t i = 0; i < app_count; i++) {
-- XmlRpcValue app = apps.arrayGetItem(i);
--
-- // Get some information about our application.
-- string title = app.structGetValue("title").getString();
-- string link = app.structGetValue("link").getString();
-- string description = app.structGetValue("description").getString();
--
-- // Print a separator line if necessary.
-- if (first)
-- first = 0;
-- else
-- cout << endl;
--
-- // Print this application entry.
-- if (description.size() > 0) {
-- cout << title << endl << description << endl << link << endl;
-- } else {
-- cout << title << endl << description << endl << link << endl;
-- }
-- }
--}
--
--// Print out a usage message.
--static void usage (void)
--{
-- cerr << "Usage: meekat-app-list [hours]" << endl;
-- cerr << "Data from ." << endl;
-- exit(1);
--}
--
--int main (int argc, char **argv) {
-- int status = 0;
-- int hours = 25;
--
-- // Parse our command-line arguments.
-- if (argc == 1) {
-- // Use default value for hours.
-- } else if (argc == 2) {
-- hours = atoi(argv[1]);
-- }
-- if (hours == 0)
-- usage();
-- if (hours > 49) {
-- cerr << "It's not nice to ask for > 49 hours at once." << endl;
-- exit(1);
-- }
--
-- // Start up our client library.
-- XmlRpcClient::Initialize(NAME, VERSION);
--
-- // Call our implementation, and watch out for faults.
-- try {
-- list_apps(hours);
-- } catch (XmlRpcFault& fault) {
-- cerr << argv[0] << ": XML-RPC fault #" << fault.getFaultCode()
-- << ": " << fault.getFaultString() << endl;
-- status = 1;
-- }
--
-- // Shut down our client library.
-- XmlRpcClient::Terminate();
--
-- return status;
--}
-diff --git a/libs/xmlrpc-c/examples/cpp/pstream_client.cpp b/libs/xmlrpc-c/examples/cpp/pstream_client.cpp
-index 7a8f322..738e8ba 100644
---- a/libs/xmlrpc-c/examples/cpp/pstream_client.cpp
-+++ b/libs/xmlrpc-c/examples/cpp/pstream_client.cpp
-@@ -25,7 +25,7 @@
- #include
- #include
- #include
--#include
-+#include
- #include
- #include
- #include
-diff --git a/libs/xmlrpc-c/examples/cpp/pstream_inetd_server.cpp b/libs/xmlrpc-c/examples/cpp/pstream_inetd_server.cpp
-index 65f1aa5..00d930c 100644
---- a/libs/xmlrpc-c/examples/cpp/pstream_inetd_server.cpp
-+++ b/libs/xmlrpc-c/examples/cpp/pstream_inetd_server.cpp
-@@ -22,7 +22,7 @@
- #endif
- #include
- #include
--#include
-+#include
-
- #include
- #include
-@@ -76,12 +76,7 @@ main(int const,
- .socketFd(STDIN_FILENO)
- .registryP(&myRegistry));
-
-- for (bool clientHasDisconnected = false; !clientHasDisconnected;)
-- server.runOnce(&clientHasDisconnected);
-- // This reads one packet (containing an XML-RPC call message)
-- // from Standard Input, executes the indicated RPC, and writes
-- // one packet containing the XML-RPC response message to
-- // Standard Input.
-+ server.run();
-
- } catch (exception const& e) {
- cerr << "Something threw an error: " << e.what() << endl;
-diff --git a/libs/xmlrpc-c/examples/cpp/pstream_serial_server.cpp b/libs/xmlrpc-c/examples/cpp/pstream_serial_server.cpp
-new file mode 100644
-index 0000000..aba2fbe
---- /dev/null
-+++ b/libs/xmlrpc-c/examples/cpp/pstream_serial_server.cpp
-@@ -0,0 +1,84 @@
-+/* A simple standalone RPC server based on an Xmlrpc-c packet socket.
-+
-+ This program expects the invoker to provide a socket in listen mode
-+ as Standard Input.
-+
-+ This is not an XML-RPC server, because it uses a simple packet socket
-+ instead of HTTP. See xmlrpc_sample_add_server.cpp for an example of
-+ an XML-RPC server.
-+
-+ The advantage of this example over XML-RPC is that it has a connection
-+ concept. The client can be connected indefinitely and the server gets
-+ notified when the client terminates, even if it gets aborted by its OS.
-+
-+ Here's an example of running this:
-+
-+ $ socketexec -listen -local_port=8080 ./pstream_serial_server
-+*/
-+
-+#ifndef WIN32
-+#include
-+#endif
-+#include
-+#include
-+#include
-+
-+#include
-+#include
-+#include
-+
-+using namespace std;
-+
-+
-+class sampleAddMethod : public xmlrpc_c::method {
-+public:
-+ sampleAddMethod() {
-+ // signature and help strings are documentation -- the client
-+ // can query this information with a system.methodSignature and
-+ // system.methodHelp RPC.
-+ this->_signature = "i:ii"; // method's arguments are two integers
-+ this->_help = "This method adds two integers together";
-+ }
-+ void
-+ execute(xmlrpc_c::paramList const& paramList,
-+ xmlrpc_c::value * const retvalP) {
-+
-+ int const addend(paramList.getInt(0));
-+ int const adder(paramList.getInt(1));
-+
-+ paramList.verifyEnd(2);
-+
-+ *retvalP = xmlrpc_c::value_int(addend + adder);
-+ }
-+};
-+
-+
-+
-+int
-+main(int const,
-+ const char ** const) {
-+
-+ // It's a good idea to disable SIGPIPE signals; if client closes his end
-+ // of the pipe/socket, we'd rather see a failure to send a response than
-+ // get killed by the OS.
-+ signal(SIGPIPE, SIG_IGN);
-+
-+ try {
-+ xmlrpc_c::registry myRegistry;
-+
-+ xmlrpc_c::methodPtr const sampleAddMethodP(new sampleAddMethod);
-+
-+ myRegistry.addMethod("sample.add", sampleAddMethodP);
-+
-+ xmlrpc_c::serverPstream server(
-+ xmlrpc_c::serverPstream::constrOpt()
-+ .socketFd(STDIN_FILENO)
-+ .registryP(&myRegistry));
-+
-+ server.runSerial();
-+
-+ } catch (exception const& e) {
-+ cerr << "Something threw an error: " << e.what() << endl;
-+ }
-+ return 0;
-+}
-diff --git a/libs/xmlrpc-c/examples/cpp/xmlrpc_inetd_server.cpp b/libs/xmlrpc-c/examples/cpp/xmlrpc_inetd_server.cpp
-index 0dd902a..3bfe186 100644
---- a/libs/xmlrpc-c/examples/cpp/xmlrpc_inetd_server.cpp
-+++ b/libs/xmlrpc-c/examples/cpp/xmlrpc_inetd_server.cpp
-@@ -1,6 +1,25 @@
- /* A simple XML-RPC server that runs under Inetd. I.e. it lets the invoking
- program handle all the connection switching and simply processes one
- RPC on the provided connection (Standard Input) and exits.
-+
-+ A typical example of where this would be useful is with an Inetd
-+ "super server."
-+
-+ xmlrpc_sample_add_server.cpp is a server that does the same thing,
-+ but you give it a TCP port number and it listens for TCP connections
-+ and processes RPCs ad infinitum. xmlrpc_socket_server.c is halfway
-+ in between those -- you give it an already bound and listening
-+ socket, and it listens for TCP connections and processes RPCs ad
-+ infinitum.
-+
-+ Here is an easy way to test this program:
-+
-+ socketexec --accept --local_port=8080 --stdin -- ./xmlrpc_inetd_server
-+
-+ Now run the client program 'xmlrpc_sample_add_client'. Socketexec
-+ will accept the connection that the client program requests and pass it
-+ to this program on Standard Input. This program will perform the RPC,
-+ respond to the client, then exit.
- */
-
- #ifndef WIN32
-@@ -49,10 +68,8 @@ main(int const,
- myRegistry.addMethod("sample.add", sampleAddMethodP);
-
- xmlrpc_c::serverAbyss myAbyssServer(
-- myRegistry,
-- 8080, // TCP port on which to listen
-- "/tmp/xmlrpc_log" // Log file
-- );
-+ xmlrpc_c::serverAbyss::constrOpt()
-+ .registryP(&myRegistry));
-
- myAbyssServer.runConn(STDIN_FILENO);
- /* This reads the HTTP POST request from Standard Input and
-diff --git a/libs/xmlrpc-c/examples/cpp/xmlrpc_sample_add_server.cpp b/libs/xmlrpc-c/examples/cpp/xmlrpc_sample_add_server.cpp
-index ff96ae2..f499e5a 100644
---- a/libs/xmlrpc-c/examples/cpp/xmlrpc_sample_add_server.cpp
-+++ b/libs/xmlrpc-c/examples/cpp/xmlrpc_sample_add_server.cpp
-@@ -62,10 +62,9 @@ main(int const,
- myRegistry.addMethod("sample.add", sampleAddMethodP);
-
- xmlrpc_c::serverAbyss myAbyssServer(
-- myRegistry,
-- 8080, // TCP port on which to listen
-- "/tmp/xmlrpc_log" // Log file
-- );
-+ xmlrpc_c::serverAbyss::constrOpt()
-+ .registryP(&myRegistry)
-+ .portNumber(8080));
-
- myAbyssServer.run();
- // xmlrpc_c::serverAbyss.run() never returns
-diff --git a/libs/xmlrpc-c/examples/cpp/xmlrpc_sample_add_server_cgi.cpp b/libs/xmlrpc-c/examples/cpp/xmlrpc_sample_add_server_cgi.cpp
-new file mode 100644
-index 0000000..9b80603
---- /dev/null
-+++ b/libs/xmlrpc-c/examples/cpp/xmlrpc_sample_add_server_cgi.cpp
-@@ -0,0 +1,62 @@
-+/* A CGI script that effects a simple XML-RPC server, written in C++.
-+
-+ See the identically named C program source code for hints on running
-+ this example.
-+
-+*/
-+
-+#include
-+#include
-+
-+#include
-+#include
-+#include
-+
-+using namespace std;
-+
-+class sampleAddMethod : public xmlrpc_c::method {
-+public:
-+ sampleAddMethod() {
-+ // signature and help strings are documentation -- the client
-+ // can query this information with a system.methodSignature and
-+ // system.methodHelp RPC.
-+ this->_signature = "i:ii"; // method's arguments, result are integers
-+ this->_help = "This method adds two integers together";
-+ }
-+ void
-+ execute(xmlrpc_c::paramList const& paramList,
-+ xmlrpc_c::value * const retvalP) {
-+
-+ int const addend(paramList.getInt(0));
-+ int const adder(paramList.getInt(1));
-+
-+ paramList.verifyEnd(2);
-+
-+ *retvalP = xmlrpc_c::value_int(addend + adder);
-+ }
-+};
-+
-+
-+
-+int
-+main(int const,
-+ const char ** const) {
-+
-+ try {
-+ xmlrpc_c::registry myRegistry;
-+
-+ xmlrpc_c::methodPtr const sampleAddMethodP(new sampleAddMethod);
-+
-+ myRegistry.addMethod("sample.add", sampleAddMethodP);
-+
-+ xmlrpc_c::serverCgi myServer(
-+ xmlrpc_c::serverCgi::constrOpt()
-+ .registryP(&myRegistry));
-+
-+ myServer.processCall();
-+
-+ } catch (exception const& e) {
-+ cerr << "Something failed. " << e.what() << endl;
-+ }
-+ return 0;
-+}
-diff --git a/libs/xmlrpc-c/examples/gen_sample_add_xml.c b/libs/xmlrpc-c/examples/gen_sample_add_xml.c
-index 736d822..dd65699 100644
---- a/libs/xmlrpc-c/examples/gen_sample_add_xml.c
-+++ b/libs/xmlrpc-c/examples/gen_sample_add_xml.c
-@@ -28,7 +28,7 @@ die_if_fault_occurred(xmlrpc_env * const envP) {
-
- int
- main(int const argc,
-- const char ** const argv ATTR_UNUSED) {
-+ const char ** const argv) {
-
- char * const methodName = "sample.add";
-
-diff --git a/libs/xmlrpc-c/examples/interrupted_client.c b/libs/xmlrpc-c/examples/interrupted_client.c
-index 89cd4e8..1652be2 100644
---- a/libs/xmlrpc-c/examples/interrupted_client.c
-+++ b/libs/xmlrpc-c/examples/interrupted_client.c
-@@ -2,6 +2,7 @@
- both by timeout and by control-C.
- */
-
-+#define _XOPEN_SOURCE 600
- #include
- #include
- #include
-@@ -110,7 +111,7 @@ addInterruptibly(xmlrpc_client * const clientP,
-
- int
- main(int const argc,
-- const char ** const argv ATTR_UNUSED) {
-+ const char ** const argv) {
-
- const char * const serverUrl = "http://localhost:8080/RPC2";
-
-diff --git a/libs/xmlrpc-c/examples/interrupted_server.c b/libs/xmlrpc-c/examples/interrupted_server.c
-index 9d5c593..56bac81 100644
---- a/libs/xmlrpc-c/examples/interrupted_server.c
-+++ b/libs/xmlrpc-c/examples/interrupted_server.c
-@@ -1,4 +1,4 @@
--/* A simple standalone XML-RPC server based on Abyss.
-+/* A simple standalone XML-RPC server program based on Abyss.
-
- You can terminate this server in controlled fashion with a SIGTERM
- signal.
-@@ -7,6 +7,7 @@
- simpler code, but it is not interruptible with SIGTERM.
- */
-
-+#define _XOPEN_SOURCE 600
- #include
- #include
- #include
-@@ -36,7 +37,7 @@ dieIfFailed(const char * const description,
- static xmlrpc_server_abyss_t * serverToTerminateP;
-
- static void
--sigtermHandler(int const signalClass ATTR_UNUSED) {
-+sigtermHandler(int const signalClass) {
-
- xmlrpc_env env;
-
-@@ -82,8 +83,8 @@ restoreSigtermHandler(void){
- static xmlrpc_value *
- sample_add(xmlrpc_env * const envP,
- xmlrpc_value * const paramArrayP,
-- void * const serverInfo ATTR_UNUSED,
-- void * const channelInfo ATTR_UNUSED) {
-+ void * const serverInfo,
-+ void * const channelInfo) {
-
- xmlrpc_int x, y, z;
-
-@@ -105,6 +106,11 @@ int
- main(int const argc,
- const char ** const argv) {
-
-+ struct xmlrpc_method_info3 const methodInfo = {
-+ .methodName = "sample.add",
-+ .methodFunction = &sample_add,
-+ .serverInfo = NULL
-+ };
- xmlrpc_server_abyss_parms serverparm;
- xmlrpc_server_abyss_t * serverP;
- xmlrpc_registry * registryP;
-@@ -126,8 +132,7 @@ main(int const argc,
- registryP = xmlrpc_registry_new(&env);
- dieIfFailed("xmlrpc_registry_new", env);
-
-- xmlrpc_registry_add_method2(
-- &env, registryP, "sample.add", &sample_add, NULL, NULL, NULL);
-+ xmlrpc_registry_add_method3(&env, registryP, &methodInfo);
- dieIfFailed("xmlrpc_registry_add_method2", env);
-
- serverparm.config_file_name = NULL;
-diff --git a/libs/xmlrpc-c/examples/json.c b/libs/xmlrpc-c/examples/json.c
-new file mode 100644
-index 0000000..89fe82b
---- /dev/null
-+++ b/libs/xmlrpc-c/examples/json.c
-@@ -0,0 +1,115 @@
-+/*
-+ This example program demonstrates the JSON parsing and generating
-+ capabilities of Xmlrpc-c.
-+
-+ The program reads JSON text from Standard Input and displays its value as
-+ XML-RPC XML text. It then re-generates JSON from the intermediate
-+ parsed information and displays that.
-+*/
-+#include
-+#include
-+
-+#include
-+
-+
-+
-+static void
-+dieIfFaultOccurred(xmlrpc_env * const envP) {
-+ if (envP->fault_occurred) {
-+ fprintf(stderr, "ERROR: %s (%d)\n",
-+ envP->fault_string, envP->fault_code);
-+ exit(1);
-+ }
-+}
-+
-+
-+
-+void
-+printAsXml(xmlrpc_value * const valP) {
-+
-+ xmlrpc_env env;
-+ xmlrpc_mem_block out;
-+
-+ xmlrpc_env_init(&env);
-+
-+ XMLRPC_MEMBLOCK_INIT(char, &env, &out, 0);
-+
-+ dieIfFaultOccurred(&env);
-+
-+ xmlrpc_serialize_value(&env, &out, valP);
-+
-+ printf("XML-RPC XML:\n");
-+
-+ printf("%.*s\n",
-+ XMLRPC_MEMBLOCK_SIZE(char, &out),
-+ XMLRPC_MEMBLOCK_CONTENTS(char, &out));
-+
-+ XMLRPC_MEMBLOCK_CLEAN(char, &out);
-+ xmlrpc_env_clean(&env);
-+}
-+
-+
-+
-+void
-+printAsJson(xmlrpc_value * const valP) {
-+
-+ xmlrpc_env env;
-+ xmlrpc_mem_block out;
-+ xmlrpc_value * val2P;
-+
-+ xmlrpc_env_init(&env);
-+
-+ XMLRPC_MEMBLOCK_INIT(char, &env, &out, 0);
-+
-+ dieIfFaultOccurred(&env);
-+
-+ xmlrpc_serialize_json(&env, valP, &out);
-+
-+ dieIfFaultOccurred(&env);
-+
-+ printf("JSON:\n");
-+
-+ printf("%.*s\n",
-+ XMLRPC_MEMBLOCK_SIZE(char, &out),
-+ XMLRPC_MEMBLOCK_CONTENTS(char, &out));
-+
-+ XMLRPC_MEMBLOCK_CLEAN(char, &out);
-+ xmlrpc_env_clean(&env);
-+}
-+
-+
-+
-+int
-+main(int argc, const char *argv[]) {
-+
-+ xmlrpc_env env;
-+ char buf[1024];
-+ xmlrpc_value * valP;
-+ size_t bytesRead;
-+
-+ xmlrpc_env_init(&env);
-+
-+ if (argc-1 > 0) {
-+ fprintf(stderr, "This program has no arguments. "
-+ "JSON input is from Standard Input\n");
-+ exit(1);
-+ }
-+
-+ bytesRead = fread(buf, 1, sizeof(buf), stdin);
-+ buf[bytesRead] = '\0';
-+
-+ valP = xmlrpc_parse_json(&env, buf);
-+
-+ dieIfFaultOccurred(&env);
-+
-+ printAsXml(valP);
-+
-+ printAsJson(valP);
-+
-+ xmlrpc_DECREF(valP);
-+ xmlrpc_env_clean(&env);
-+
-+ return 0;
-+}
-+
-+
-diff --git a/libs/xmlrpc-c/examples/query-meerkat.c b/libs/xmlrpc-c/examples/query-meerkat.c
-deleted file mode 100644
-index e566654..0000000
---- a/libs/xmlrpc-c/examples/query-meerkat.c
-+++ /dev/null
-@@ -1,156 +0,0 @@
--/* A simple news-searcher, written in C to demonstrate how to use the
-- xmplrpc-c client library.
--
-- This program connects to an XMLRPC server that O'Reilly runs on the
-- Internet, gets some information, and displays it on Standard Output.
--
-- Note that that server is not in any way designed specifically for xmlrpc-c.
-- It simply implements the XMLRPC protocol, and works with any client that
-- implements XMLRPC.
--
-- The service that the aforementioned server provides is that it gives you
-- a list of news articles that match a certain regular expression. You give
-- that regular expression an argument to this client program.
--
-- For more details about O'Reilly's excellent Meerkat news service, see:
-- http://www.oreillynet.com/pub/a/rss/2000/11/14/meerkat_xmlrpc.html
--*/
--
--#include
--#include
--#include
--
--#include
--#include
--
--#include "config.h" /* information about this build environment */
--
--#define NAME "XML-RPC C Meerkat Query Demo"
--#define VERSION "1.0"
--#define MEERKAT_URL "http://www.oreillynet.com/meerkat/xml-rpc/server.php"
--
--struct cmdline {
-- const char * searchArg;
-- int hours;
--};
--
--
--static void
--parseCommandLine(int const argc,
-- const char ** const argv,
-- struct cmdline * const cmdlineP) {
--
-- if (argc-1 < 1) {
-- fprintf(stderr, "Need at least one argument: "
-- "A mysql regular expression "
-- "search pattern. Try 'query-meerkat Linux'\n");
-- exit(1);
-- } else {
-- cmdlineP->searchArg = argv[1];
--
-- if (argc-1 < 2) {
-- cmdlineP->hours = 24;
-- } else {
-- cmdlineP->hours = atoi(argv[2]);
-- if (cmdlineP->hours > 49) {
-- fprintf(stderr, "It's not nice to ask for > 49 hours "
-- "at once.\n");
-- exit(1);
-- }
-- if (argc-1 > 2) {
-- fprintf(stderr, "There are at most 2 arguments: "
-- "search pattern "
-- "and number of hours.");
-- exit(1);
-- }
-- }
-- }
--}
--
--
--
--static void
--die_if_fault_occurred(xmlrpc_env * const env) {
-- /* We're a command-line utility, so we abort if an error occurs. */
-- if (env->fault_occurred) {
-- fprintf(stderr, "XML-RPC Fault #%d: %s\n",
-- env->fault_code, env->fault_string);
-- exit(1);
-- }
--}
--
--
--
--/* Hey! We fit in one function. */
--int
--main(int const argc,
-- const char** const argv) {
--
-- struct cmdline cmdline;
-- char time_period[16];
-- xmlrpc_env env;
-- xmlrpc_value *stories, *story;
-- size_t size, i;
-- int first;
--
-- parseCommandLine(argc, argv, &cmdline);
--
-- snprintf(time_period, sizeof(time_period), "%dHOUR", cmdline.hours);
--
-- xmlrpc_env_init(&env);
--
-- /* Set up our client. */
-- xmlrpc_client_init2(&env, XMLRPC_CLIENT_NO_FLAGS, NAME, VERSION, NULL, 0);
--
-- die_if_fault_occurred(&env);
--
-- /* Ask Meerkat to look for matching stories. */
-- stories = xmlrpc_client_call(&env, MEERKAT_URL,
-- "meerkat.getItems", "({s:s,s:i,s:s})",
-- "search", cmdline.searchArg,
-- "descriptions", (xmlrpc_int32) 76,
-- "time_period", time_period);
-- die_if_fault_occurred(&env);
--
-- /* Loop over the stories. */
-- size = xmlrpc_array_size(&env, stories);
-- die_if_fault_occurred(&env);
-- first = 1;
-- for (i = 0; i < size; i++) {
-- const char * title;
-- const char * link;
-- const char * description;
--
-- /* Extract the useful information from our story. */
-- story = xmlrpc_array_get_item(&env, stories, i);
-- die_if_fault_occurred(&env);
-- xmlrpc_decompose_value(&env, story, "{s:s,s:s,s:s,*}",
-- "title", &title,
-- "link", &link,
-- "description", &description);
-- die_if_fault_occurred(&env);
--
-- /* Print a separator line if necessary. */
-- if (first)
-- first = 0;
-- else
-- printf("\n");
--
-- /* Print the story. */
-- if (strlen(description) > 0) {
-- printf("%s\n%s\n%s\n", title, description, link);
-- } else {
-- printf("%s\n%s\n", title, link);
-- }
-- free((char*)title);
-- free((char*)link);
-- free((char*)description);
-- }
--
-- /* Shut down our client. */
-- xmlrpc_DECREF(stories);
-- xmlrpc_env_clean(&env);
-- xmlrpc_client_cleanup();
--
-- return 0;
--}
-diff --git a/libs/xmlrpc-c/examples/synch_client.c b/libs/xmlrpc-c/examples/synch_client.c
-index 589aa7b..b9b62a2 100644
---- a/libs/xmlrpc-c/examples/synch_client.c
-+++ b/libs/xmlrpc-c/examples/synch_client.c
-@@ -1,4 +1,4 @@
--/* A simple synchronous XML-RPC client written in C. */
-+/* A simple synchronous XML-RPC client program written in C. */
-
- #include
- #include
-@@ -24,7 +24,7 @@ die_if_fault_occurred(xmlrpc_env * const envP) {
-
- int
- main(int const argc,
-- const char ** const argv ATTR_UNUSED) {
-+ const char ** const argv) {
-
- xmlrpc_env env;
- xmlrpc_value * resultP;
-diff --git a/libs/xmlrpc-c/examples/xmlrpc_asynch_client.c b/libs/xmlrpc-c/examples/xmlrpc_asynch_client.c
-index ec3bd31..ff56dfd 100644
---- a/libs/xmlrpc-c/examples/xmlrpc_asynch_client.c
-+++ b/libs/xmlrpc-c/examples/xmlrpc_asynch_client.c
-@@ -1,4 +1,4 @@
--/* A simple asynchronous XML-RPC client written in C, as an example of
-+/* A simple asynchronous XML-RPC client program written in C, as an example of
- Xmlrpc-c asynchronous RPC facilities. This is the same as the
- simpler synchronous client xmlprc_sample_add_client.c, except that
- it adds 3 different pairs of numbers with the summation RPCs going on
-@@ -35,7 +35,7 @@ static void
- handle_sample_add_response(const char * const serverUrl,
- const char * const methodName,
- xmlrpc_value * const paramArrayP,
-- void * const user_data ATTR_UNUSED,
-+ void * const user_data,
- xmlrpc_env * const faultP,
- xmlrpc_value * const resultP) {
-
-@@ -70,7 +70,7 @@ handle_sample_add_response(const char * const serverUrl,
-
- int
- main(int const argc,
-- const char ** const argv ATTR_UNUSED) {
-+ const char ** const argv) {
-
- const char * const serverUrl = "http://localhost:8080/RPC2";
- const char * const methodName = "sample.add";
-diff --git a/libs/xmlrpc-c/examples/xmlrpc_inetd_server.c b/libs/xmlrpc-c/examples/xmlrpc_inetd_server.c
-index 196b42a..8b1bb48 100644
---- a/libs/xmlrpc-c/examples/xmlrpc_inetd_server.c
-+++ b/libs/xmlrpc-c/examples/xmlrpc_inetd_server.c
-@@ -1,4 +1,4 @@
--/* A simple standalone XML-RPC server based on Abyss that processes a
-+/* A simple standalone XML-RPC server program based on Abyss that processes a
- single RPC from an existing TCP connection on Standard Input.
-
- A typical example of where this would be useful is with an Inetd
-@@ -21,6 +21,7 @@
- respond to the client, then exit.
- */
-
-+#define _XOPEN_SOURCE 600
- #include
- #include
- #include
-@@ -63,8 +64,8 @@ setupSignalHandlers(void) {
- static xmlrpc_value *
- sample_add(xmlrpc_env * const envP,
- xmlrpc_value * const paramArrayP,
-- void * const serverInfo ATTR_UNUSED,
-- void * const channelInfo ATTR_UNUSED) {
-+ void * const serverInfo,
-+ void * const channelInfo) {
-
- xmlrpc_int x, y, z;
-
-@@ -86,6 +87,11 @@ int
- main(int const argc,
- const char ** const argv) {
-
-+ struct xmlrpc_method_info3 const methodInfo = {
-+ .methodName = "sample.add",
-+ .methodFunction = &sample_add,
-+ .serverInfo = NULL
-+ };
- TServer abyssServer;
- xmlrpc_registry * registryP;
- xmlrpc_env env;
-@@ -101,8 +107,7 @@ main(int const argc,
-
- registryP = xmlrpc_registry_new(&env);
-
-- xmlrpc_registry_add_method2(
-- &env, registryP, "sample.add", &sample_add, NULL, NULL, NULL);
-+ xmlrpc_registry_add_method3(&env, registryP, &methodInfo);
-
- ServerCreateNoAccept(&abyssServer, "XmlRpcServer", NULL, NULL);
-
-diff --git a/libs/xmlrpc-c/examples/xmlrpc_loop_server.c b/libs/xmlrpc-c/examples/xmlrpc_loop_server.c
-index 2553ea6..af0c750 100644
---- a/libs/xmlrpc-c/examples/xmlrpc_loop_server.c
-+++ b/libs/xmlrpc-c/examples/xmlrpc_loop_server.c
-@@ -1,11 +1,14 @@
--/* A simple standalone XML-RPC server based on Abyss that contains a
-+/* A simple standalone XML-RPC server program based on Abyss that contains a
- simple one-thread request processing loop.
-
-+ This uses the "provide your own Abyss server" mode of operation.
-+
- xmlrpc_sample_add_server.c is a server that does the same thing, but
- does it by running a full Abyss daemon in the background, so it has
- less control over how the requests are served.
- */
-
-+#define _XOPEN_SOURCE 600
- #include
- #include
- #include
-@@ -66,7 +69,7 @@ printPeerIpAddr(TSession * const abyssSessionP) {
- static xmlrpc_value *
- sample_add(xmlrpc_env * const envP,
- xmlrpc_value * const paramArrayP,
-- void * const serverInfo ATTR_UNUSED,
-+ void * const serverInfo,
- void * const channelInfo) {
-
- xmlrpc_int x, y, z;
-@@ -117,6 +120,11 @@ int
- main(int const argc,
- const char ** const argv) {
-
-+ struct xmlrpc_method_info3 const methodInfo = {
-+ .methodName = "sample.add",
-+ .methodFunction = &sample_add,
-+ .serverInfo = NULL
-+ };
- TServer abyssServer;
- xmlrpc_registry * registryP;
- xmlrpc_env env;
-@@ -136,8 +144,7 @@ main(int const argc,
-
- registryP = xmlrpc_registry_new(&env);
-
-- xmlrpc_registry_add_method2(
-- &env, registryP, "sample.add", &sample_add, NULL, NULL, NULL);
-+ xmlrpc_registry_add_method3(&env, registryP, &methodInfo);
-
- xmlrpc_registry_set_shutdown(registryP,
- &requestShutdown, &terminationRequested);
-diff --git a/libs/xmlrpc-c/examples/xmlrpc_sample_add_client.c b/libs/xmlrpc-c/examples/xmlrpc_sample_add_client.c
-index f675a92..3a219dd 100644
---- a/libs/xmlrpc-c/examples/xmlrpc_sample_add_client.c
-+++ b/libs/xmlrpc-c/examples/xmlrpc_sample_add_client.c
-@@ -1,7 +1,10 @@
--/* A simple synchronous XML-RPC client written in C, as an example of
-+/* A simple synchronous XML-RPC client program written in C, as an example of
- an Xmlrpc-c client. This invokes the sample.add procedure that the
-- Xmlrpc-c example server.c server provides. I.e. it adds to numbers
-- together, the hard way.
-+ Xmlrpc-c example xmlrpc_sample_add_server.c server provides. I.e. it adds
-+ two numbers together, the hard way.
-+
-+ This sends the RPC to the server running on the local system ("localhost"),
-+ HTTP Port 8080.
- */
-
- #include
-@@ -16,9 +19,9 @@
- #define VERSION "1.0"
-
- static void
--die_if_fault_occurred (xmlrpc_env * const envP) {
-+dieIfFaultOccurred (xmlrpc_env * const envP) {
- if (envP->fault_occurred) {
-- fprintf(stderr, "XML-RPC Fault: %s (%d)\n",
-+ fprintf(stderr, "ERROR: %s (%d)\n",
- envP->fault_string, envP->fault_code);
- exit(1);
- }
-@@ -28,7 +31,7 @@ die_if_fault_occurred (xmlrpc_env * const envP) {
-
- int
- main(int const argc,
-- const char ** const argv ATTR_UNUSED) {
-+ const char ** const argv) {
-
- xmlrpc_env env;
- xmlrpc_value * resultP;
-@@ -46,7 +49,7 @@ main(int const argc,
-
- /* Start up our XML-RPC client library. */
- xmlrpc_client_init2(&env, XMLRPC_CLIENT_NO_FLAGS, NAME, VERSION, NULL, 0);
-- die_if_fault_occurred(&env);
-+ dieIfFaultOccurred(&env);
-
- printf("Making XMLRPC call to server url '%s' method '%s' "
- "to request the sum "
-@@ -55,11 +58,11 @@ main(int const argc,
- /* Make the remote procedure call */
- resultP = xmlrpc_client_call(&env, serverUrl, methodName,
- "(ii)", (xmlrpc_int32) 5, (xmlrpc_int32) 7);
-- die_if_fault_occurred(&env);
-+ dieIfFaultOccurred(&env);
-
- /* Get our sum and print it out. */
- xmlrpc_read_int(&env, resultP, &sum);
-- die_if_fault_occurred(&env);
-+ dieIfFaultOccurred(&env);
- printf("The sum is %d\n", sum);
-
- /* Dispose of our result value. */
-diff --git a/libs/xmlrpc-c/examples/xmlrpc_sample_add_server.c b/libs/xmlrpc-c/examples/xmlrpc_sample_add_server.c
-index dbd2861..a4a4370 100644
---- a/libs/xmlrpc-c/examples/xmlrpc_sample_add_server.c
-+++ b/libs/xmlrpc-c/examples/xmlrpc_sample_add_server.c
-@@ -1,4 +1,24 @@
--/* A simple standalone XML-RPC server written in C. */
-+/* A simple standalone XML-RPC server program written in C. */
-+
-+/* This server knows one RPC class (besides the system classes):
-+ "sample.add".
-+
-+ The program takes one argument: the HTTP port number on which the server
-+ is to accept connections, in decimal.
-+
-+ You can use the example program 'xmlrpc_sample_add_client' to send an RPC
-+ to this server.
-+
-+ Example:
-+
-+ $ ./xmlrpc_sample_add_server 8080&
-+ $ ./xmlrpc_sample_add_client
-+
-+ For more fun, run client and server in separate terminals and turn on
-+ tracing for each:
-+
-+ $ export XMLRPC_TRACE_XML=1
-+*/
-
- #include
- #include
-@@ -25,8 +45,8 @@
- static xmlrpc_value *
- sample_add(xmlrpc_env * const envP,
- xmlrpc_value * const paramArrayP,
-- void * const serverInfo ATTR_UNUSED,
-- void * const channelInfo ATTR_UNUSED) {
-+ void * const serverInfo,
-+ void * const channelInfo) {
-
- xmlrpc_int32 x, y, z;
-
-@@ -54,6 +74,10 @@ int
- main(int const argc,
- const char ** const argv) {
-
-+ struct xmlrpc_method_info3 const methodInfo = {
-+ /* .methodName = */ "sample.add",
-+ /* .methodFunction = */ &sample_add,
-+ };
- xmlrpc_server_abyss_parms serverparm;
- xmlrpc_registry * registryP;
- xmlrpc_env env;
-@@ -70,8 +94,7 @@ main(int const argc,
-
- registryP = xmlrpc_registry_new(&env);
-
-- xmlrpc_registry_add_method2(
-- &env, registryP, "sample.add", &sample_add, NULL, NULL, NULL);
-+ xmlrpc_registry_add_method3(&env, registryP, &methodInfo);
-
- /* In the modern form of the Abyss API, we supply parameters in memory
- like a normal API. We select the modern form by setting
-diff --git a/libs/xmlrpc-c/examples/xmlrpc_sample_add_server_cgi.c b/libs/xmlrpc-c/examples/xmlrpc_sample_add_server_cgi.c
-index fa476a7..e34c4d7 100644
---- a/libs/xmlrpc-c/examples/xmlrpc_sample_add_server_cgi.c
-+++ b/libs/xmlrpc-c/examples/xmlrpc_sample_add_server_cgi.c
-@@ -1,4 +1,22 @@
--/* A simple standalone XML-RPC server written in C. */
-+/* A CGI script written in C to effect a simple XML-RPC server.
-+
-+ Example of use:
-+
-+ - Compile this as the executable 'xmlrpc_sample_add_server.cgi'
-+
-+ - Place the .cgi file in web server www.example.com's /cgi-bin
-+ directory.
-+
-+ - Configure the web server to permit CGI scripts in /cgi-bin
-+ (Apache ExecCgi directory option).
-+
-+ - Configure the web server to recognize this .cgi file as a CGI
-+ script (Apache "AddHandler cgi-script ..." or ScriptAlias).
-+
-+ - $ xmlrpc http://www.example.com/cgi-bin/xmlrpc_sample_add_server.cgi \
-+ sample.add i/5 i/7
-+*/
-+
-
- #include
- #include
-@@ -12,7 +30,7 @@
- static xmlrpc_value *
- sample_add(xmlrpc_env * const envP,
- xmlrpc_value * const paramArrayP,
-- void * const user_data ATTR_UNUSED) {
-+ void * const user_data) {
-
- xmlrpc_int32 x, y, z;
-
-diff --git a/libs/xmlrpc-c/examples/xmlrpc_server_validatee.c b/libs/xmlrpc-c/examples/xmlrpc_server_validatee.c
-index 927da8a..ad613a8 100644
---- a/libs/xmlrpc-c/examples/xmlrpc_server_validatee.c
-+++ b/libs/xmlrpc-c/examples/xmlrpc_server_validatee.c
-@@ -66,7 +66,7 @@
- static xmlrpc_value *
- array_of_structs(xmlrpc_env * const envP,
- xmlrpc_value * const paramArrayP,
-- void * const user_data ATTR_UNUSED) {
-+ void * const user_data) {
-
- xmlrpc_value * arrayP;
- xmlrpc_value * retval;
-@@ -114,7 +114,7 @@ array_of_structs(xmlrpc_env * const envP,
- static xmlrpc_value *
- count_entities(xmlrpc_env * const envP,
- xmlrpc_value * const paramArrayP,
-- void * const user_data ATTR_UNUSED) {
-+ void * const user_data) {
-
- const char * str;
- size_t len, i;
-@@ -154,7 +154,7 @@ count_entities(xmlrpc_env * const envP,
- static xmlrpc_value *
- easy_struct(xmlrpc_env * const envP,
- xmlrpc_value * const paramArrayP,
-- void * const user_data ATTR_UNUSED) {
-+ void * const user_data) {
-
- xmlrpc_int32 larry, moe, curly;
-
-@@ -179,7 +179,7 @@ easy_struct(xmlrpc_env * const envP,
- static xmlrpc_value *
- echo_struct(xmlrpc_env * const envP,
- xmlrpc_value * const paramArrayP,
-- void * const user_data ATTR_UNUSED) {
-+ void * const user_data) {
-
- xmlrpc_value * sP;
-
-@@ -198,9 +198,9 @@ echo_struct(xmlrpc_env * const envP,
- */
-
- static xmlrpc_value *
--many_types(xmlrpc_env * const env ATTR_UNUSED,
-+many_types(xmlrpc_env * const env,
- xmlrpc_value * const param_array,
-- void * const user_data ATTR_UNUSED) {
-+ void * const user_data) {
-
- /* Create another reference to our argument array and return it as is. */
- xmlrpc_INCREF(param_array);
-@@ -244,7 +244,7 @@ concatenate(xmlrpc_env * const envP,
- static xmlrpc_value *
- moderate_array(xmlrpc_env * const envP,
- xmlrpc_value * const paramArrayP,
-- void * const user_data ATTR_UNUSED) {
-+ void * const user_data) {
-
- xmlrpc_value * retval;
- xmlrpc_value * arrayP;
-@@ -295,7 +295,7 @@ moderate_array(xmlrpc_env * const envP,
- static xmlrpc_value *
- nested_struct(xmlrpc_env * const envP,
- xmlrpc_value * const paramArrayP,
-- void * const user_data ATTR_UNUSED) {
-+ void * const user_data) {
-
- xmlrpc_value * yearsP;
- xmlrpc_value * retval;
-@@ -333,7 +333,7 @@ nested_struct(xmlrpc_env * const envP,
- static xmlrpc_value *
- struct_return(xmlrpc_env * const envP,
- xmlrpc_value * const paramArrayP,
-- void * const user_data ATTR_UNUSED) {
-+ void * const user_data) {
-
- xmlrpc_int32 i;
-
-diff --git a/libs/xmlrpc-c/examples/xmlrpc_socket_server.c b/libs/xmlrpc-c/examples/xmlrpc_socket_server.c
-index 2e2cd8b..9cbc5aa 100644
---- a/libs/xmlrpc-c/examples/xmlrpc_socket_server.c
-+++ b/libs/xmlrpc-c/examples/xmlrpc_socket_server.c
-@@ -1,5 +1,5 @@
--/* A simple standalone XML-RPC server written in C as an example of use of
-- the Xmlrpc-c libraries.
-+/* A simple standalone XML-RPC server program written in C as an example of
-+ use of the Xmlrpc-c libraries.
-
- This example expects an already bound socket on Standard Input, ready to
- be listened on for client connections. Also see xmlrpc_sample_add_server,
-@@ -7,7 +7,11 @@
- creates the socket itself. Also see xmlrpc_inetd_server.c, which is
- the same thing except you give it a socket which is already connected
- to a client.
-- */
-+
-+ Example:
-+
-+ $ socketexec -local_port=8080 ./xmlrpc_socket_server
-+*/
-
- #include
- #include
-@@ -33,7 +37,8 @@
- static xmlrpc_value *
- sample_add(xmlrpc_env * const envP,
- xmlrpc_value * const paramArrayP,
-- void * const user_data ATTR_UNUSED) {
-+ void * const serverInfo,
-+ void * const channelInfo) {
-
- xmlrpc_int32 x, y, z;
-
-@@ -61,6 +66,11 @@ int
- main(int const argc,
- const char ** const argv) {
-
-+ struct xmlrpc_method_info3 const methodInfo = {
-+ .methodName = "sample.add",
-+ .methodFunction = &sample_add,
-+ .serverInfo = NULL
-+ };
- xmlrpc_server_abyss_parms serverparm;
- xmlrpc_registry * registryP;
- xmlrpc_env env;
-@@ -77,8 +87,7 @@ main(int const argc,
-
- registryP = xmlrpc_registry_new(&env);
-
-- xmlrpc_registry_add_method(
-- &env, registryP, NULL, "sample.add", &sample_add, NULL);
-+ xmlrpc_registry_add_method3(&env, registryP, &methodInfo);
-
- /* In the modern form of the Abyss API, we supply parameters in memory
- like a normal API. We select the modern form by setting
-diff --git a/libs/xmlrpc-c/include/Makefile b/libs/xmlrpc-c/include/Makefile
-index d396ca7..28fd00b 100644
---- a/libs/xmlrpc-c/include/Makefile
-+++ b/libs/xmlrpc-c/include/Makefile
-@@ -36,18 +36,22 @@ xmlrpc-c/config.h: $(BLDDIR)/$(SUBDIR)/xmlrpc-c
- @echo ' #define XMLRPC_SOCKET SOCKET' >>$@
- @echo ' #define XMLRPC_HAVE_TIMEVAL 0' >>$@
- @echo ' #define XMLRPC_HAVE_TIMESPEC 0' >>$@
-+ @echo ' #define XMLRPC_HAVE_PTHREAD 0' >>$@
- @echo '#else' >>$@
- @echo ' #define XMLRPC_SOCKET int' >>$@
- @echo ' #define XMLRPC_HAVE_TIMEVAL 1' >>$@
- @echo ' #define XMLRPC_HAVE_TIMESPEC 1' >>$@
-+ @echo ' #define XMLRPC_HAVE_PTHREAD 1' >>$@
- @echo '#endif' >>$@
- @echo '' >>$@
- @echo '#if defined(_MSC_VER)' >>$@
- @echo ' /* Newer MSVC has long long, but MSVC 6 does not */' >>$@
- @echo ' #define XMLRPC_INT64 __int64' >>$@
-+ @echo ' #define XMLRPC_PRId64 "I64"' >>$@
- @echo ' #define XMLRPC_INT32 __int32' >>$@
- @echo '#else' >>$@
- @echo ' #define XMLRPC_INT64 long long' >>$@
-+ @echo ' #define XMLRPC_PRId64 "lld"' >>$@
- @echo ' #define XMLRPC_INT32 int' >>$@
- @echo '#endif' >>$@
- @echo '#endif' >>$@
-@@ -58,7 +62,7 @@ $(BLDDIR)/$(SUBDIR)/xmlrpc-c:
- COMPAT_LINK_CMDS = \
- $(LN_S) xmlrpc-c/oldxmlrpc.h xmlrpc.h; \
- $(LN_S) xmlrpc-c/server.h xmlrpc_server.h; \
-- $(LN_S) xmlrpc-c/server_abyss.h xmlrpc_server_abyss.h; \
-+ $(LN_S) xmlrpc-c/server_abyss.h xmlrpc_abyss.h; \
- $(LN_S) xmlrpc-c/server_w32httpsys.h xmlrpc_server_w32httpsys.h; \
-
- HEADERS_TO_INSTALL = \
-@@ -67,6 +71,7 @@ HEADERS_TO_INSTALL = \
- xmlrpc-c/c_util.h \
- xmlrpc-c/util.h \
- xmlrpc-c/base.h \
-+ xmlrpc-c/json.h \
- xmlrpc-c/abyss.h \
- xmlrpc-c/abyss_unixsock.h \
- xmlrpc-c/abyss_winsock.h \
-@@ -119,22 +124,25 @@ default: all
- all:
-
- .PHONY: install-compat-hdr
--install-compat-hdr:
-+install-compat-hdr: install-headers
- # Install old names of header files for backward compatibility
- cd $(DESTDIR)$(HEADERINST_DIR); \
- rm -f xmlrpc.h xmlrpc_client.h xmlrpc_server.h xmlrpc_cgi.h \
-- xmlrpc_server_abyss.h xmlrpc_server_w32httpsys.h \
-+ xmlrpc_server_abyss.h xmlrpc_abyss.h \
-+ xmlrpc_server_w32httpsys.h \
- XmlRpcCpp.h; \
- $(COMPAT_LINK_CMDS)
-
- .PHONY: install
- install: install-common install-compat-hdr
-
--.PHONY: clean distclean dep
-+.PHONY: clean
- clean:
--distclean:
- rm -f xmlrpc-c/config.h
-
-+.PHONY: distclean
-+distclean: clean
-+
- .PHONY: check
- check:
-
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/abyss.h b/libs/xmlrpc-c/include/xmlrpc-c/abyss.h
-index e044008..627e872 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/abyss.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/abyss.h
-@@ -21,6 +21,7 @@ extern "C" {
-
- #include
-
-+#include
- #include
-
- /****************************************************************************
-@@ -33,9 +34,11 @@ typedef int abyss_bool;
- GLOBAL (STATIC) PROGRAM STUFF
- ****************************************************************************/
-
-+XMLRPC_DLLEXPORT
- void
- AbyssInit(const char ** const errorP);
-
-+XMLRPC_DLLEXPORT
- void
- AbyssTerm(void);
-
-@@ -45,23 +48,29 @@ AbyssTerm(void);
-
- typedef struct MIMEType MIMEType;
-
-+XMLRPC_DLLEXPORT
- MIMEType *
- MIMETypeCreate(void);
-
-+XMLRPC_DLLEXPORT
- void
- MIMETypeDestroy(MIMEType * const MIMETypeP);
-
-+XMLRPC_DLLEXPORT
- void
- MIMETypeInit(void);
-
-+XMLRPC_DLLEXPORT
- void
- MIMETypeTerm(void);
-
-+XMLRPC_DLLEXPORT
- abyss_bool
- MIMETypeAdd2(MIMEType * const MIMETypeP,
- const char * const type,
- const char * const ext);
-
-+XMLRPC_DLLEXPORT
- abyss_bool
- MIMETypeAdd(const char * const type,
- const char * const ext);
-@@ -81,9 +90,11 @@ typedef struct _TSocket TSocket;
- #include
- #endif
-
-+XMLRPC_DLLEXPORT
- void
- ChanSwitchInit(const char ** const errorP);
-
-+XMLRPC_DLLEXPORT
- void
- ChanSwitchTerm(void);
-
-@@ -92,18 +103,23 @@ ChanSwitchTerm(void);
- in abyss_unixsock.h, etc.
- */
-
-+XMLRPC_DLLEXPORT
- void
- ChanSwitchDestroy(TChanSwitch * const chanSwitchP);
-
-+XMLRPC_DLLEXPORT
- void
- ChannelInit(const char ** const errorP);
-
-+XMLRPC_DLLEXPORT
- void
- ChannelTerm(void);
-
-+XMLRPC_DLLEXPORT
- void
- ChannelDestroy(TChannel * const channelP);
-
-+XMLRPC_DLLEXPORT
- void
- SocketDestroy(TSocket * const socketP);
-
-@@ -120,6 +136,7 @@ typedef struct {
-
- typedef struct _TSession TSession;
-
-+XMLRPC_DLLEXPORT
- abyss_bool
- ServerCreate(TServer * const serverP,
- const char * const name,
-@@ -127,11 +144,13 @@ ServerCreate(TServer * const serverP,
- const char * const filespath,
- const char * const logfilename);
-
-+XMLRPC_DLLEXPORT
- void
- ServerCreateSwitch(TServer * const serverP,
- TChanSwitch * const chanSwitchP,
- const char ** const errorP);
-
-+XMLRPC_DLLEXPORT
- abyss_bool
- ServerCreateSocket(TServer * const serverP,
- const char * const name,
-@@ -140,71 +159,87 @@ ServerCreateSocket(TServer * const serverP,
- const char * const logfilename);
-
- #define HAVE_SERVER_CREATE_SOCKET_2
-+XMLRPC_DLLEXPORT
- void
- ServerCreateSocket2(TServer * const serverP,
- TSocket * const socketP,
- const char ** const errorP);
-
-+XMLRPC_DLLEXPORT
- abyss_bool
- ServerCreateNoAccept(TServer * const serverP,
- const char * const name,
- const char * const filespath,
- const char * const logfilename);
-
-+XMLRPC_DLLEXPORT
- void
- ServerFree(TServer * const serverP);
-
-+XMLRPC_DLLEXPORT
- void
- ServerSetName(TServer * const serverP,
- const char * const name);
-
-+XMLRPC_DLLEXPORT
- void
- ServerSetFilesPath(TServer * const serverP,
- const char * const filesPath);
-
-+XMLRPC_DLLEXPORT
- void
- ServerSetLogFileName(TServer * const serverP,
- const char * const logFileName);
-
- #define HAVE_SERVER_SET_KEEPALIVE_TIMEOUT 1
-+XMLRPC_DLLEXPORT
- void
- ServerSetKeepaliveTimeout(TServer * const serverP,
- xmlrpc_uint32_t const keepaliveTimeout);
-
- #define HAVE_SERVER_SET_KEEPALIVE_MAX_CONN 1
-+XMLRPC_DLLEXPORT
- void
- ServerSetKeepaliveMaxConn(TServer * const serverP,
- xmlrpc_uint32_t const keepaliveMaxConn);
-
- #define HAVE_SERVER_SET_TIMEOUT 1
-+XMLRPC_DLLEXPORT
- void
- ServerSetTimeout(TServer * const serverP,
- xmlrpc_uint32_t const timeout);
-
- #define HAVE_SERVER_SET_ADVERTISE 1
-+XMLRPC_DLLEXPORT
- void
- ServerSetAdvertise(TServer * const serverP,
- abyss_bool const advertise);
-
- #define HAVE_SERVER_SET_MIME_TYPE 1
-+XMLRPC_DLLEXPORT
- void
- ServerSetMimeType(TServer * const serverP,
- MIMEType * const MIMETypeP);
-
-+XMLRPC_DLLEXPORT
- int
- ServerInit(TServer * const serverP);
-
-+XMLRPC_DLLEXPORT
- void
- ServerRun(TServer * const serverP);
-
-+XMLRPC_DLLEXPORT
- void
- ServerRunOnce(TServer * const serverP);
-
- /* ServerRunOnce2() is obsolete. See user's guide. */
-+XMLRPC_DLLEXPORT
- void
- ServerRunOnce2(TServer * const serverP,
- enum abyss_foreback const foregroundBackground);
-
-+XMLRPC_DLLEXPORT
- void
- ServerRunChannel(TServer * const serverP,
- TChannel * const channelP,
-@@ -212,24 +247,30 @@ ServerRunChannel(TServer * const serverP,
- const char ** const errorP);
-
- #define HAVE_SERVER_RUN_CONN_2
-+XMLRPC_DLLEXPORT
- void
- ServerRunConn2(TServer * const serverP,
- TSocket * const connectedSocketP,
- const char ** const errorP);
-
-+XMLRPC_DLLEXPORT
- void
- ServerRunConn(TServer * const serverP,
- TOsSocket const connectedSocket);
-
-+XMLRPC_DLLEXPORT
- void
- ServerDaemonize(TServer * const serverP);
-
-+XMLRPC_DLLEXPORT
- void
- ServerTerminate(TServer * const serverP);
-
-+XMLRPC_DLLEXPORT
- void
- ServerResetTerminate(TServer * const serverP);
-
-+XMLRPC_DLLEXPORT
- void
- ServerUseSigchld(TServer * const serverP);
-
-@@ -242,15 +283,31 @@ typedef abyss_bool (*URIHandler) (TSession *); /* deprecated */
-
- struct URIHandler2;
-
--typedef void (*initHandlerFn)(struct URIHandler2 *,
-- abyss_bool *);
-+typedef void (*initHandlerFn)(struct URIHandler2 *, abyss_bool *);
-
- typedef void (*termHandlerFn)(void *);
-
-+typedef void (*handleReq3Fn)(void *,
-+ TSession *,
-+ abyss_bool *);
-+
- typedef void (*handleReq2Fn)(struct URIHandler2 *,
- TSession *,
- abyss_bool *);
-
-+struct ServerReqHandler3 {
-+ termHandlerFn term;
-+ handleReq3Fn handleReq;
-+ void * userdata;
-+ size_t handleReqStackSize; /* zero = default */
-+};
-+
-+XMLRPC_DLLEXPORT
-+void
-+ServerAddHandler3(TServer * const serverP,
-+ const struct ServerReqHandler3 * const handlerP,
-+ abyss_bool * const successP);
-+
- typedef struct URIHandler2 {
- initHandlerFn init;
- termHandlerFn term;
-@@ -259,11 +316,13 @@ typedef struct URIHandler2 {
- void * userdata;
- } URIHandler2;
-
-+XMLRPC_DLLEXPORT
- void
- ServerAddHandler2(TServer * const srvP,
- URIHandler2 * const handlerP,
- abyss_bool * const successP);
-
-+XMLRPC_DLLEXPORT
- abyss_bool
- ServerAddHandler(TServer * const srvP,
- URIHandler const handler);
-@@ -274,6 +333,7 @@ typedef abyss_bool (*THandlerDflt) (TSession *);
- for the same type
- */
-
-+XMLRPC_DLLEXPORT
- void
- ServerDefaultHandler(TServer * const srvP,
- THandlerDflt const handler);
-@@ -283,10 +343,12 @@ ServerDefaultHandler(TServer * const srvP,
- inappropriate for an API.
- */
-
-+XMLRPC_DLLEXPORT
- abyss_bool
- ConfReadServerFile(const char * const filename,
- TServer * const srvP);
-
-+XMLRPC_DLLEXPORT
- void
- LogWrite(TServer * const srvP,
- const char * const c);
-@@ -309,7 +371,7 @@ typedef struct {
- const char * query;
- /* The query part of the URI (stuff after '?'). NULL if none. */
- const char * host;
-- /* NOT the value of the host: header. Rather, the name of the
-+ /* NOT the value of the host: header field. Rather, the name of the
- target host (could be part of the host: value; could be from the
- URI). No port number. NULL if request does not specify a host
- name.
-@@ -319,7 +381,7 @@ typedef struct {
- const char * referer;
- const char * requestline;
- const char * user;
-- /* Requesting user (from authorization: header). NULL if
-+ /* Requesting user (from authorization: header field). NULL if
- request doesn't specify or handler has not authenticated it.
- */
- xmlrpc_uint16_t port;
-@@ -329,98 +391,157 @@ typedef struct {
- abyss_bool keepalive;
- } TRequestInfo;
-
-+XMLRPC_DLLEXPORT
- abyss_bool
- SessionRefillBuffer(TSession * const sessionP);
-
-+XMLRPC_DLLEXPORT
- size_t
- SessionReadDataAvail(TSession * const sessionP);
-
-+XMLRPC_DLLEXPORT
- void
- SessionGetReadData(TSession * const sessionP,
- size_t const max,
- const char ** const outStartP,
- size_t * const outLenP);
-
-+XMLRPC_DLLEXPORT
- void
- SessionGetRequestInfo(TSession * const sessionP,
- const TRequestInfo ** const requestInfoPP);
-
-+XMLRPC_DLLEXPORT
- void
- SessionGetChannelInfo(TSession * const sessionP,
- void ** const channelInfoPP);
-
-+XMLRPC_DLLEXPORT
- void *
- SessionGetDefaultHandlerCtx(TSession * const sessionP);
-
-+XMLRPC_DLLEXPORT
- char *
- RequestHeaderValue(TSession * const sessionP,
- const char * const name);
-
-+XMLRPC_DLLEXPORT
- abyss_bool
- ResponseAddField(TSession * const sessionP,
- const char * const name,
- const char * const value);
-
--void
-+XMLRPC_DLLEXPORT
-+abyss_bool
- ResponseWriteStart(TSession * const sessionP);
-
- /* For backward compatibility: */
- #define ResponseWrite ResponseWriteStart
-
-+XMLRPC_DLLEXPORT
- abyss_bool
- ResponseWriteBody(TSession * const sessionP,
- const char * const data,
- xmlrpc_uint32_t const len);
-
-+XMLRPC_DLLEXPORT
- abyss_bool
- ResponseWriteEnd(TSession * const sessionP);
-
-+XMLRPC_DLLEXPORT
- abyss_bool
- ResponseChunked(TSession * const sessionP);
-
-+XMLRPC_DLLEXPORT
- xmlrpc_uint16_t
- ResponseStatusFromErrno(int const errnoArg);
-
-+XMLRPC_DLLEXPORT
- void
- ResponseStatus(TSession * const sessionP,
- xmlrpc_uint16_t const code);
-
-+XMLRPC_DLLEXPORT
- void
- ResponseStatusErrno(TSession * const sessionP);
-
-+XMLRPC_DLLEXPORT
- abyss_bool
- ResponseContentType(TSession * const serverP,
- const char * const type);
-
-+XMLRPC_DLLEXPORT
- abyss_bool
- ResponseContentLength(TSession * const sessionP,
- xmlrpc_uint64_t const len);
-
-+typedef struct {
-+/*----------------------------------------------------------------------------
-+ These are parameters to control the HTTP "Access Control functions. That's
-+ where the client asks whether it is OK to send a request that some other
-+ server asked the client to send (e.g. a person web browses a page at
-+ a.example.com, and it sends a script that executes on the user's computer
-+ and tries to perform an XML-RPC RPC on b.example.com. The user's browser
-+ first asks b.example.com if it is OK to do an RPC that is really initiated
-+ by a.example.com.
-+-----------------------------------------------------------------------------*/
-+ const char * allowOrigin;
-+ /* This tells what original servers (a.example.com in the example
-+ above) are allowed to submit RPCs indirectly to us. The value is a
-+ verbatim value for an HTTP Access-Control-Allow-Origin header field
-+ (just the value part of the field, not the whole field). "*"
-+ therefore means everyone is allowed. "" means no one.
-+
-+ NULL means not to say anything about access control to the client.
-+ */
-+ abyss_bool expires;
-+ /* The permissions herein expire after a certain period from now.
-+ 'maxAge' is that period.
-+ */
-+ unsigned int maxAge;
-+ /* Meaningful only when 'expires' is true. The expiration period
-+ in seconds. Zero is valid.
-+ */
-+} ResponseAccessCtl;
-+
-+XMLRPC_DLLEXPORT
-+void
-+ResponseAccessControl(TSession * const abyssSessionP,
-+ ResponseAccessCtl const accessControl);
-+
-+XMLRPC_DLLEXPORT
- void
- ResponseError2(TSession * const sessionP,
- const char * const explanation);
-
-+XMLRPC_DLLEXPORT
- void
- ResponseError(TSession * const sessionP);
-
-+XMLRPC_DLLEXPORT
- const char *
- MIMETypeFromExt(const char * const ext);
-
-+XMLRPC_DLLEXPORT
- const char *
- MIMETypeFromExt2(MIMEType * const MIMETypeP,
- const char * const ext);
-
-+XMLRPC_DLLEXPORT
- const char *
- MIMETypeFromFileName2(MIMEType * const MIMETypeP,
- const char * const fileName);
-
-+XMLRPC_DLLEXPORT
- const char *
- MIMETypeFromFileName(const char * const fileName);
-
-+XMLRPC_DLLEXPORT
- const char *
- MIMETypeGuessFromFile2(MIMEType * const MIMETypeP,
- const char * const fileName);
-
-+XMLRPC_DLLEXPORT
- const char *
- MIMETypeGuessFromFile(const char * const filename);
-
-@@ -460,7 +581,7 @@ MIMETypeGuessFromFile(const char * const filename);
- ** Maximum number of simultaneous connections
- *********************************************************************/
-
--#define MAX_CONN 100000
-+#define MAX_CONN 16
-
- /*********************************************************************
- ** General purpose definitions
-@@ -482,26 +603,21 @@ MIMETypeGuessFromFile(const char * const filename);
- ** Range
- *********************************************************************/
-
-+XMLRPC_DLLEXPORT
- abyss_bool
- RangeDecode(char * const str,
- xmlrpc_uint64_t const filesize,
- xmlrpc_uint64_t * const start,
- xmlrpc_uint64_t * const end);
-
-+XMLRPC_DLLEXPORT
- abyss_bool DateInit(void);
-
- /*********************************************************************
--** Base64
--*********************************************************************/
--
--void
--Base64Encode(const char * const chars,
-- char * const base64);
--
--/*********************************************************************
- ** Session
- *********************************************************************/
-
-+XMLRPC_DLLEXPORT
- abyss_bool SessionLog(TSession * const s);
-
-
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/abyss_winsock.h b/libs/xmlrpc-c/include/xmlrpc-c/abyss_winsock.h
-index f376446..8aeb782 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/abyss_winsock.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/abyss_winsock.h
-@@ -7,17 +7,19 @@ struct abyss_win_chaninfo {
- struct sockaddr peerAddr;
- };
-
--
-+XMLRPC_DLLEXPORT
- void
- ChanSwitchWinCreate(unsigned short const portNumber,
- TChanSwitch ** const chanSwitchPP,
- const char ** const errorP);
-
-+XMLRPC_DLLEXPORT
- void
- ChanSwitchWinCreateWinsock(SOCKET const winsock,
- TChanSwitch ** const chanSwitchPP,
- const char ** const errorP);
-
-+XMLRPC_DLLEXPORT
- void
- ChannelWinCreateWinsock(SOCKET const fd,
- TChannel ** const channelPP,
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/base.h b/libs/xmlrpc-c/include/xmlrpc-c/base.h
-index a68a4f1..cdc9161 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/base.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/base.h
-@@ -6,26 +6,40 @@
- #include
- #include
- #include
-+#include
- #include
- #include
-- /* Defines XMLRPC_HAVE_WCHAR, XMLRPC_INT64 */
-+ /* Defines XMLRPC_HAVE_WCHAR, XMLRPC_INT64, XMLRPC_HAVE_TIMEVAL */
-
- #if XMLRPC_HAVE_WCHAR
- #include
- #endif
-
-+#if XMLRPC_HAVE_TIMEVAL
-+#include
-+#endif
-+
- #ifdef __cplusplus
- extern "C" {
- #endif
-
--
- /*=========================================================================
- ** Version of libxmlrpc
- **=======================================================================*/
-+
-+/* These are for backward compatibility -- they can't be exported from a
-+ Windows DLL. xmlrpc_server_version() is preferred.
-+*/
- extern unsigned int const xmlrpc_version_major;
- extern unsigned int const xmlrpc_version_minor;
- extern unsigned int const xmlrpc_version_point;
-
-+XMLRPC_DLLEXPORT
-+void
-+xmlrpc_version(unsigned int * const majorP,
-+ unsigned int * const minorP,
-+ unsigned int * const pointP);
-+
- /*=========================================================================
- ** C types equivalent to XML-RPC types
- **=======================================================================*/
-@@ -50,6 +64,19 @@ typedef double xmlrpc_double;
- so it's probably clearer just to use that. This typedef is here
- for mathematical completeness.
- */
-+typedef struct {
-+ /* A datetime of the type defined by XML-RPC with
-+ a few extensions. I.e. in the range 1-9999 AD with microsecond
-+ resolution.
-+ */
-+ unsigned int Y; /* 1-? */
-+ unsigned int M; /* 1-12 */
-+ unsigned int D; /* 1-31 */
-+ unsigned int h; /* 0-23 */
-+ unsigned int m; /* 0-59 */
-+ unsigned int s; /* 0-59 */
-+ unsigned int u; /* 0-999999 */
-+} xmlrpc_datetime;
-
- /* xmlrpc_socket is just for backward compatibility, in case someone decided
- to use this in user code. New code should use the native type for a
-@@ -89,12 +116,13 @@ typedef enum {
-
- #define XMLRPC_HAVE_I8 1
-
--/* These are *always* allocated on the heap. No exceptions. */
- typedef struct _xmlrpc_value xmlrpc_value;
-
-+XMLRPC_DLLEXPORT
- const char *
- xmlrpc_type_name(xmlrpc_type const type);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_abort_if_array_bad(xmlrpc_value * const arrayP);
-
-@@ -102,109 +130,193 @@ xmlrpc_abort_if_array_bad(xmlrpc_value * const arrayP);
- xmlrpc_abort_if_array_bad(val)
-
- /* Increment the reference count of an xmlrpc_value. */
--extern void xmlrpc_INCREF (xmlrpc_value* const value);
-+XMLRPC_DLLEXPORT
-+extern void xmlrpc_INCREF(xmlrpc_value* const value);
-
- /* Decrement the reference count of an xmlrpc_value. If there
- ** are no more references, free it. */
--extern void xmlrpc_DECREF (xmlrpc_value* const value);
-+XMLRPC_DLLEXPORT
-+extern void xmlrpc_DECREF(xmlrpc_value* const value);
-
- /* Get the type of an XML-RPC value. */
-+XMLRPC_DLLEXPORT
- extern xmlrpc_type xmlrpc_value_type (xmlrpc_value* const value);
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_int_new(xmlrpc_env * const envP,
- int const intValue);
-
-+XMLRPC_DLLEXPORT
-+void
-+xmlrpc_read_int(xmlrpc_env * const envP,
-+ const xmlrpc_value * const valueP,
-+ int * const intValueP);
-+
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_i8_new(xmlrpc_env * const envP,
- xmlrpc_int64 const value);
-
-+XMLRPC_DLLEXPORT
- void
--xmlrpc_read_int(xmlrpc_env * const envP,
-- const xmlrpc_value * const valueP,
-- int * const intValueP);
-+xmlrpc_read_i8(xmlrpc_env * const envP,
-+ const xmlrpc_value * const valueP,
-+ xmlrpc_int64 * const intValueP);
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_bool_new(xmlrpc_env * const envP,
- xmlrpc_bool const boolValue);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_bool(xmlrpc_env * const envP,
- const xmlrpc_value * const valueP,
- xmlrpc_bool * const boolValueP);
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_double_new(xmlrpc_env * const envP,
- double const doubleValue);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_double(xmlrpc_env * const envP,
- const xmlrpc_value * const valueP,
- xmlrpc_double * const doubleValueP);
-
-+XMLRPC_DLLEXPORT
-+xmlrpc_value *
-+xmlrpc_datetime_new(xmlrpc_env * const envP,
-+ xmlrpc_datetime const dt);
-+
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_datetime_new_str(xmlrpc_env * const envP,
- const char * const value);
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_datetime_new_sec(xmlrpc_env * const envP,
- time_t const value);
-
-+XMLRPC_DLLEXPORT
-+xmlrpc_value*
-+xmlrpc_datetime_new_usec(xmlrpc_env * const envP,
-+ time_t const secs,
-+ unsigned int const usecs);
-+
-+#if XMLRPC_HAVE_TIMEVAL
-+XMLRPC_DLLEXPORT
-+xmlrpc_value *
-+xmlrpc_datetime_new_timeval(xmlrpc_env * const envP,
-+ struct timeval const value);
-+#endif
-+
-+#if XMLRPC_HAVE_TIMESPEC
-+XMLRPC_DLLEXPORT
-+xmlrpc_value *
-+xmlrpc_datetime_new_timespec(xmlrpc_env * const envP,
-+ struct timespec const value);
-+#endif
-+
-+void
-+XMLRPC_DLLEXPORT
-+xmlrpc_read_datetime(xmlrpc_env * const envP,
-+ const xmlrpc_value * const valueP,
-+ xmlrpc_datetime * const dtP);
-+
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_datetime_str(xmlrpc_env * const envP,
- const xmlrpc_value * const valueP,
- const char ** const stringValueP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_datetime_sec(xmlrpc_env * const envP,
- const xmlrpc_value * const valueP,
- time_t * const timeValueP);
-
-+XMLRPC_DLLEXPORT
-+void
-+xmlrpc_read_datetime_usec(xmlrpc_env * const envP,
-+ const xmlrpc_value * const valueP,
-+ time_t * const secsP,
-+ unsigned int * const usecsP);
-+
-+#if XMLRPC_HAVE_TIMEVAL
-+XMLRPC_DLLEXPORT
-+void
-+xmlrpc_read_datetime_timeval(xmlrpc_env * const envP,
-+ const xmlrpc_value * const valueP,
-+ struct timeval * const timeValueP);
-+#endif
-+
-+#if XMLRPC_HAVE_TIMESPEC
-+XMLRPC_DLLEXPORT
-+void
-+xmlrpc_read_datetime_timespec(xmlrpc_env * const envP,
-+ const xmlrpc_value * const valueP,
-+ struct timespec * const timeValueP);
-+#endif
-+
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_string_new(xmlrpc_env * const envP,
- const char * const stringValue);
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_string_new_lp(xmlrpc_env * const envP,
- size_t const length,
- const char * const stringValue);
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_string_new_va(xmlrpc_env * const envP,
- const char * const format,
- va_list args);
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_string_new_f(xmlrpc_env * const envP,
- const char * const format,
- ...);
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_string_new_lp_cr(xmlrpc_env * const envP,
- size_t const length,
- const char * const value);
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_string_new_cr(xmlrpc_env * const envP,
- const char * const value);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_string(xmlrpc_env * const envP,
- const xmlrpc_value * const valueP,
- const char ** const stringValueP);
-
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_string_crlf(xmlrpc_env * const envP,
- const xmlrpc_value * const valueP,
- const char ** const stringValueP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_string_lp_crlf(xmlrpc_env * const envP,
- const xmlrpc_value * const valueP,
- size_t * const lengthP,
- const char ** const stringValueP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_string_lp(xmlrpc_env * const envP,
- const xmlrpc_value * const valueP,
-@@ -212,80 +324,93 @@ xmlrpc_read_string_lp(xmlrpc_env * const envP,
- const char ** const stringValueP);
-
- #if XMLRPC_HAVE_WCHAR
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_string_w_new(xmlrpc_env * const envP,
- const wchar_t * const stringValue);
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_string_w_new_lp(xmlrpc_env * const envP,
- size_t const length,
- const wchar_t * const stringValue);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_string_w(xmlrpc_env * const envP,
- xmlrpc_value * const valueP,
- const wchar_t ** const stringValueP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_string_w_crlf(xmlrpc_env * const envP,
- xmlrpc_value * const valueP,
- const wchar_t ** const stringValueP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_string_w_lp(xmlrpc_env * const envP,
- xmlrpc_value * const valueP,
- size_t * const lengthP,
- const wchar_t ** const stringValueP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_string_w_lp_crlf(xmlrpc_env * const envP,
- xmlrpc_value * const valueP,
- size_t * const lengthP,
- const wchar_t ** const stringValueP);
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_string_w_new_lp_cr(xmlrpc_env * const envP,
- size_t const length,
- const wchar_t * const value);
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_string_w_new_cr(xmlrpc_env * const envP,
- const wchar_t * const value);
-
- #endif /* XMLRPC_HAVE_WCHAR */
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_base64_new(xmlrpc_env * const envP,
- size_t const length,
- const unsigned char * const value);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_base64(xmlrpc_env * const envP,
- const xmlrpc_value * const valueP,
- size_t * const lengthP,
- const unsigned char ** const bytestringValueP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_base64_size(xmlrpc_env * const envP,
- const xmlrpc_value * const valueP,
- size_t * const lengthP);
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_array_new(xmlrpc_env * const envP);
-
- /* Return the number of elements in an XML-RPC array.
- ** Sets XMLRPC_TYPE_ERROR if 'array' is not an array. */
-+XMLRPC_DLLEXPORT
- int
- xmlrpc_array_size(xmlrpc_env * const env,
- const xmlrpc_value * const array);
-
--/* Append an item to an XML-RPC array.
--** Sets XMLRPC_TYPE_ERROR if 'array' is not an array. */
--extern void
--xmlrpc_array_append_item (xmlrpc_env * const envP,
-- xmlrpc_value * const arrayP,
-- xmlrpc_value * const valueP);
-+XMLRPC_DLLEXPORT
-+void
-+xmlrpc_array_append_item(xmlrpc_env * const envP,
-+ xmlrpc_value * const arrayP,
-+ xmlrpc_value * const valueP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_array_read_item(xmlrpc_env * const envP,
- const xmlrpc_value * const arrayP,
-@@ -299,30 +424,35 @@ xmlrpc_array_read_item(xmlrpc_env * const envP,
- Sets XMLRPC_TYPE_ERROR if 'array' is not an array.
- Sets XMLRPC_INDEX_ERROR if 'index' is out of bounds.
- */
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_array_get_item(xmlrpc_env * const envP,
- const xmlrpc_value * const arrayP,
- int const index);
-
- /* Not implemented--we don't need it yet.
--extern
--int xmlrpc_array_set_item (xmlrpc_env* env,
--xmlrpc_value* array,
--int index,
-- xmlrpc_value* value);
-+XMLRPC_DLLEXPORT
-+int
-+xmlrpc_array_set_item(xmlrpc_env * const envP,
-+ xmlrpc_value * const arrayP,
-+ unsigned int const index,
-+ xmlrpc_value * const valueP);
- */
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_struct_new(xmlrpc_env * const env);
-
- /* Return the number of key/value pairs in a struct.
- ** Sets XMLRPC_TYPE_ERROR if 'strct' is not a struct. */
-+XMLRPC_DLLEXPORT
- int
--xmlrpc_struct_size (xmlrpc_env * env,
-- xmlrpc_value * strct);
-+xmlrpc_struct_size (xmlrpc_env * const env,
-+ xmlrpc_value * const strct);
-
- /* Returns true iff 'strct' contains 'key'.
- ** Sets XMLRPC_TYPE_ERROR if 'strct' is not a struct. */
-+XMLRPC_DLLEXPORT
- int
- xmlrpc_struct_has_key(xmlrpc_env * const envP,
- xmlrpc_value * const strctP,
-@@ -332,6 +462,7 @@ xmlrpc_struct_has_key(xmlrpc_env * const envP,
- Deprecated. xmlrpc_struct_get_value_v() is more general, and this
- case is not common enough to warrant a shortcut.
- */
-+XMLRPC_DLLEXPORT
- int
- xmlrpc_struct_has_key_n(xmlrpc_env * const envP,
- xmlrpc_value * const strctP,
-@@ -340,6 +471,7 @@ xmlrpc_struct_has_key_n(xmlrpc_env * const envP,
-
- #if 0
- /* Not implemented yet, but needed for completeness. */
-+XMLRPC_DLLEXPORT
- int
- xmlrpc_struct_has_key_v(xmlrpc_env * env,
- xmlrpc_value * strct,
-@@ -347,6 +479,7 @@ xmlrpc_struct_has_key_v(xmlrpc_env * env,
- #endif
-
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_struct_find_value(xmlrpc_env * const envP,
- xmlrpc_value * const structP,
-@@ -354,18 +487,21 @@ xmlrpc_struct_find_value(xmlrpc_env * const envP,
- xmlrpc_value ** const valuePP);
-
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_struct_find_value_v(xmlrpc_env * const envP,
- xmlrpc_value * const structP,
- xmlrpc_value * const keyP,
- xmlrpc_value ** const valuePP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_struct_read_value(xmlrpc_env * const envP,
- xmlrpc_value * const structP,
- const char * const key,
- xmlrpc_value ** const valuePP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_struct_read_value_v(xmlrpc_env * const envP,
- xmlrpc_value * const structP,
-@@ -375,6 +511,7 @@ xmlrpc_struct_read_value_v(xmlrpc_env * const envP,
- /* The "get_value" functions are deprecated. Use the "find_value"
- and "read_value" functions instead.
- */
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_struct_get_value(xmlrpc_env * const envP,
- xmlrpc_value * const strctP,
-@@ -384,6 +521,7 @@ xmlrpc_struct_get_value(xmlrpc_env * const envP,
- Deprecated. xmlrpc_struct_get_value_v() is more general, and this
- case is not common enough to warrant a shortcut.
- */
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_struct_get_value_n(xmlrpc_env * const envP,
- xmlrpc_value * const strctP,
-@@ -393,6 +531,7 @@ xmlrpc_struct_get_value_n(xmlrpc_env * const envP,
- /* Set the value associated with 'key' in 'strct' to 'value'.
- Sets XMLRPC_TYPE_ERROR if 'strct' is not a struct.
- */
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_struct_set_value(xmlrpc_env * const env,
- xmlrpc_value * const strct,
-@@ -403,6 +542,7 @@ xmlrpc_struct_set_value(xmlrpc_env * const env,
- The general way to set a structure value is xmlrpc_struct_set_value_v(),
- and this case is not common enough to deserve a shortcut.
- */
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_struct_set_value_n(xmlrpc_env * const env,
- xmlrpc_value * const strct,
-@@ -412,6 +552,7 @@ xmlrpc_struct_set_value_n(xmlrpc_env * const env,
-
- /* The same as above, but the key must be an XML-RPC string.
- ** Fails with XMLRPC_TYPE_ERROR if 'keyval' is not a string. */
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_struct_set_value_v(xmlrpc_env * const env,
- xmlrpc_value * const strct,
-@@ -423,6 +564,7 @@ xmlrpc_struct_set_value_v(xmlrpc_env * const env,
- ** Fails with XMLRPC_TYPE_ERROR if 'struct' is not a struct.
- ** Fails with XMLRPC_INDEX_ERROR if 'index' is out of bounds. */
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_struct_read_member(xmlrpc_env * const envP,
- xmlrpc_value * const structP,
-@@ -436,6 +578,7 @@ xmlrpc_struct_read_member(xmlrpc_env * const envP,
-
- Deprecated. Use xmlrpc_struct_read_member() instead.
- */
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_struct_get_key_and_value(xmlrpc_env * const env,
- xmlrpc_value * const strct,
-@@ -443,38 +586,55 @@ xmlrpc_struct_get_key_and_value(xmlrpc_env * const env,
- xmlrpc_value ** const out_keyval,
- xmlrpc_value ** const out_value);
-
-+/* The "C pointer" type has no relation to XML-RPC. It is here for the
-+ convenience of programs that use xmlrpc_value for XML-RPC purposes
-+ and can benefit from using it for non-XML-RPC purposes as well.
-+
-+ Also, some people use libxmlrpc for xmlrpc_value alone, because sometimes
-+ you need to work with basic data types in richer ways than the C types
-+ (int, time_t, etc) allow.
-+*/
-+
-+XMLRPC_DLLEXPORT
-+xmlrpc_value *
-+xmlrpc_cptr_new(xmlrpc_env * const envP,
-+ void * const value);
-+
-+typedef void (*xmlrpc_cptr_dtor_fn)(void *, void *);
-+
-+XMLRPC_DLLEXPORT
-+xmlrpc_value *
-+xmlrpc_cptr_new_dtor(xmlrpc_env * const envP,
-+ void * const value,
-+ xmlrpc_cptr_dtor_fn const dtor,
-+ void * const dtorContext);
-+
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_cptr(xmlrpc_env * const envP,
- const xmlrpc_value * const valueP,
- void ** const ptrValueP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_nil(xmlrpc_env * const envP,
- xmlrpc_value * const valueP);
-
--
--void
--xmlrpc_read_i8(xmlrpc_env * const envP,
-- const xmlrpc_value * const valueP,
-- xmlrpc_int64 * const intValueP);
--
--
--xmlrpc_value *
--xmlrpc_cptr_new(xmlrpc_env * const envP,
-- void * const value);
--
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_nil_new(xmlrpc_env * const envP);
-
-
- /* Build an xmlrpc_value from a format string. */
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_build_value(xmlrpc_env * const env,
- const char * const format,
- ...);
-
- /* The same as the above, but using a va_list and more general */
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_build_value_va(xmlrpc_env * const env,
- const char * const format,
-@@ -482,12 +642,14 @@ xmlrpc_build_value_va(xmlrpc_env * const env,
- xmlrpc_value ** const valPP,
- const char ** const tailP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_decompose_value(xmlrpc_env * const envP,
- xmlrpc_value * const value,
- const char * const format,
- ...);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_decompose_value_va(xmlrpc_env * const envP,
- xmlrpc_value * const value,
-@@ -501,6 +663,7 @@ xmlrpc_decompose_value_va(xmlrpc_env * const envP,
-
- These are deprecated. Use xmlrpc_decompose_value... instead.
- */
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_parse_value(xmlrpc_env * const envP,
- xmlrpc_value * const value,
-@@ -508,6 +671,7 @@ xmlrpc_parse_value(xmlrpc_env * const envP,
- ...);
-
- /* The same as the above, but using a va_list. */
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_parse_value_va(xmlrpc_env * const envP,
- xmlrpc_value * const value,
-@@ -523,28 +687,33 @@ typedef enum xmlrpc_dialect {
- xmlrpc_dialect_apache
- } xmlrpc_dialect;
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_serialize_value2(xmlrpc_env * const envP,
- xmlrpc_mem_block * const outputP,
- xmlrpc_value * const valueP,
- xmlrpc_dialect const dialect);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_serialize_value(xmlrpc_env * const envP,
- xmlrpc_mem_block * const outputP,
- xmlrpc_value * const valueP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_serialize_params2(xmlrpc_env * const envP,
- xmlrpc_mem_block * const outputP,
- xmlrpc_value * const paramArrayP,
- xmlrpc_dialect const dialect);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_serialize_params(xmlrpc_env * const envP,
- xmlrpc_mem_block * const outputP,
- xmlrpc_value * const paramArrayP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_serialize_call2(xmlrpc_env * const envP,
- xmlrpc_mem_block * const outputP,
-@@ -552,23 +721,27 @@ xmlrpc_serialize_call2(xmlrpc_env * const envP,
- xmlrpc_value * const paramArrayP,
- xmlrpc_dialect const dialect);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_serialize_call(xmlrpc_env * const envP,
- xmlrpc_mem_block * const outputP,
- const char * const methodName,
- xmlrpc_value * const paramArrayP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_serialize_response2(xmlrpc_env * const envP,
- xmlrpc_mem_block * const outputP,
- xmlrpc_value * const valueP,
- xmlrpc_dialect const dialect);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_serialize_response(xmlrpc_env * const envP,
- xmlrpc_mem_block * const outputP,
- xmlrpc_value * const valueP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_serialize_fault(xmlrpc_env * const envP,
- xmlrpc_mem_block * const outputP,
-@@ -579,17 +752,22 @@ xmlrpc_serialize_fault(xmlrpc_env * const envP,
- ** Decoding XML
- **=======================================================================*/
-
--/* Parse an XML-RPC call. If an error occurs, set a fault and set
--** the output variables to NULL.
--** The caller is responsible for calling free(*out_method_name) and
--** xmlrpc_DECREF(*out_param_array). */
-+XMLRPC_DLLEXPORT
-+void
-+xmlrpc_parse_value_xml(xmlrpc_env * const envP,
-+ const char * const xmlData,
-+ size_t const xmlDataLen,
-+ xmlrpc_value ** const valuePP);
-+
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_parse_call(xmlrpc_env * const envP,
-- const char * const xml_data,
-- size_t const xml_len,
-- const char ** const out_method_name,
-- xmlrpc_value ** const out_param_array);
-+ const char * const xmlData,
-+ size_t const xmlDataLen,
-+ const char ** const methodNameP,
-+ xmlrpc_value ** const paramArrayP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_parse_response2(xmlrpc_env * const envP,
- const char * const xmlData,
-@@ -601,6 +779,7 @@ xmlrpc_parse_response2(xmlrpc_env * const envP,
-
- /* xmlrpc_parse_response() is for backward compatibility */
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_parse_response(xmlrpc_env * const envP,
- const char * const xmlData,
-@@ -616,23 +795,26 @@ xmlrpc_parse_response(xmlrpc_env * const envP,
-
- /* This routine inserts newlines every 76 characters, as required by the
- ** Base64 specification. */
-+XMLRPC_DLLEXPORT
- xmlrpc_mem_block *
--xmlrpc_base64_encode(xmlrpc_env * env,
-- unsigned char * bin_data,
-- size_t bin_len);
-+xmlrpc_base64_encode(xmlrpc_env * const envP,
-+ const unsigned char * const binData,
-+ size_t const binLen);
-
- /* This routine encodes everything in one line. This is needed for HTTP
- ** authentication and similar tasks. */
-+XMLRPC_DLLEXPORT
- xmlrpc_mem_block *
--xmlrpc_base64_encode_without_newlines(xmlrpc_env * env,
-- unsigned char * bin_data,
-- size_t bin_len);
-+xmlrpc_base64_encode_without_newlines(xmlrpc_env * const envP,
-+ const unsigned char * const binData,
-+ size_t const binLen);
-
- /* This decodes Base64 data with or without newlines. */
-+XMLRPC_DLLEXPORT
- extern xmlrpc_mem_block *
- xmlrpc_base64_decode(xmlrpc_env * const envP,
-- const char * const ascii_data,
-- size_t const ascii_len);
-+ const char * const asciiData,
-+ size_t const asciiLen);
-
-
- /*=========================================================================
-@@ -645,10 +827,12 @@ xmlrpc_base64_decode(xmlrpc_env * const envP,
- ** a cookie replacement of basic authentication.)
- **/
-
-+XMLRPC_DLLEXPORT
- extern void xmlrpc_authcookie_set(xmlrpc_env * const env,
- const char * const username,
- const char * const password);
-
-+XMLRPC_DLLEXPORT
- char *xmlrpc_authcookie(void);
-
- /*=========================================================================
-@@ -677,9 +861,11 @@ char *xmlrpc_authcookie(void);
- #define XMLRPC_XML_SIZE_LIMIT_DEFAULT (512*1024)
-
- /* Set a specific limit to the specified value. */
-+XMLRPC_DLLEXPORT
- extern void xmlrpc_limit_set (int const limit_id, size_t const value);
-
- /* Get the value of a specified limit. */
-+XMLRPC_DLLEXPORT
- extern size_t xmlrpc_limit_get (int const limit_id);
-
-
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/base.hpp b/libs/xmlrpc-c/include/xmlrpc-c/base.hpp
-index ab6fe3e..6f93e38 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/base.hpp
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/base.hpp
-@@ -1,19 +1,24 @@
- #ifndef XMLRPC_BASE_HPP_INCLUDED
- #define XMLRPC_BASE_HPP_INCLUDED
-
-+#include
-+
- #include
- #include
- #include
- #include
- #include
- #include
-+#if XMLRPC_HAVE_TIMEVAL
-+#include
-+#endif
-
-+#include
- #include
-
- namespace xmlrpc_c {
-
--
--class value {
-+class XMLRPC_DLLEXPORT value {
- // This is a handle. You don't want to create a pointer to this;
- // it is in fact a pointer itself.
- public:
-@@ -26,6 +31,8 @@ public:
- ~value();
-
- enum type_t {
-+ // These are designed to be identical to the values for
-+ // enum xmlrpc_type in the C library.
- TYPE_INT = 0,
- TYPE_BOOLEAN = 1,
- TYPE_DOUBLE = 2,
-@@ -62,6 +69,8 @@ public:
-
- xmlrpc_value *
- cValue() const;
-+ // Not to be confused with public 'cvalue' method that all the derived
-+ // classes have.
-
- value(xmlrpc_value * const valueP);
-
-@@ -72,33 +81,42 @@ public:
-
- xmlrpc_value * cValueP;
- // NULL means this is merely a placeholder object.
-+
-+protected:
-+ void
-+ validateInstantiated() const;
- };
-
-
-+std::ostream& operator<<(std::ostream& out,
-+ xmlrpc_c::value::type_t const& type);
-+
-
--class value_int : public value {
-+class XMLRPC_DLLEXPORT value_int : public value {
- public:
- value_int(int const cvalue);
-
- value_int(xmlrpc_c::value const baseValue);
-
- operator int() const;
--};
-
-+ int cvalue() const;
-+};
-
-
--class value_boolean : public value {
-+class XMLRPC_DLLEXPORT value_boolean : public value {
- public:
- value_boolean(bool const cvalue);
-
- value_boolean(xmlrpc_c::value const baseValue);
-
- operator bool() const;
--};
-
-+ bool cvalue() const;
-+};
-
-
--class value_string : public value {
-+class XMLRPC_DLLEXPORT value_string : public value {
- public:
- enum nlCode {nlCode_all, nlCode_lf};
-
-@@ -113,103 +131,274 @@ public:
- crlfValue() const;
-
- operator std::string() const;
--};
-
-+ std::string cvalue() const;
-+};
-
-
--class value_double : public value {
-+class XMLRPC_DLLEXPORT value_double : public value {
- public:
- value_double(double const cvalue);
-
- value_double(xmlrpc_c::value const baseValue);
-
- operator double() const;
--};
-
-+ double cvalue() const;
-+};
-
-
--class value_datetime : public value {
-+class XMLRPC_DLLEXPORT value_datetime : public value {
- public:
- value_datetime(std::string const cvalue);
- value_datetime(time_t const cvalue);
- #if XMLRPC_HAVE_TIMEVAL
- value_datetime(struct timeval const& cvalue);
-+ operator timeval() const;
- #endif
- #if XMLRPC_HAVE_TIMESPEC
- value_datetime(struct timespec const& cvalue);
-+ operator timespec() const;
- #endif
-
- value_datetime(xmlrpc_c::value const baseValue);
-
- operator time_t() const;
-+
-+ time_t cvalue() const;
- };
-
-
-+typedef std::vector cbytestring;
-
--class value_bytestring : public value {
-+class XMLRPC_DLLEXPORT value_bytestring : public value {
- public:
-- value_bytestring(std::vector const& cvalue);
-+ value_bytestring(cbytestring const& cvalue);
-
- value_bytestring(xmlrpc_c::value const baseValue);
-
- // You can't cast to a vector because the compiler can't tell which
- // constructor to use (complains about ambiguity). So we have this:
-- std::vector
-+ cbytestring
- vectorUcharValue() const;
-
-+ cbytestring cvalue() const;
-+
- size_t
- length() const;
- };
-
-
-
--class value_struct : public value {
-+typedef std::map cstruct;
-+
-+class XMLRPC_DLLEXPORT value_struct : public value {
- public:
-- value_struct(std::map const& cvalue);
-+ value_struct(cstruct const& cvalue);
-
- value_struct(xmlrpc_c::value const baseValue);
-
-- operator std::map() const;
-+ operator cstruct() const;
-+
-+ cstruct cvalue() const;
- };
-
-
-
--class value_array : public value {
-+typedef std::vector carray;
-+
-+class XMLRPC_DLLEXPORT value_array : public value {
- public:
-- value_array(std::vector const& cvalue);
-+ value_array(carray const& cvalue);
-
- value_array(xmlrpc_c::value const baseValue);
-
-- std::vector
-+ // You can't cast to a vector because the compiler can't tell which
-+ // constructor to use (complains about ambiguity). So we have this:
-+ carray
- vectorValueValue() const;
-
-+ carray cvalue() const;
-+
- size_t
- size() const;
- };
-
-
-
--class value_nil : public value {
-+template xmlrpc_c::value_array
-+arrayValueSlice(InputIterator begin,
-+ InputIterator end) {
-+/*----------------------------------------------------------------------------
-+ convert C++ iterator pair to XML-RPC array
-+-----------------------------------------------------------------------------*/
-+ carray ret;
-+ for (InputIterator p = begin; p != end; ++p) {
-+ ret.push_back(toValue(*p));
-+ }
-+ return xmlrpc_c::value_array(ret);
-+}
-+
-+template inline xmlrpc_c::value_array
-+arrayValueArray(const MemberClass * const in,
-+ size_t const size) {
-+/*----------------------------------------------------------------------------
-+ convert C++ array to XML-RPC array
-+-----------------------------------------------------------------------------*/
-+ return arrayValueSlice(in, in + size);
-+}
-+
-+class XMLRPC_DLLEXPORT value_nil : public value {
- public:
- value_nil();
-
- value_nil(xmlrpc_c::value const baseValue);
--};
-
-+ void * cvalue() const;
-+};
-
-
--class value_i8 : public value {
-+class XMLRPC_DLLEXPORT value_i8 : public value {
- public:
- value_i8(xmlrpc_int64 const cvalue);
-
- value_i8(xmlrpc_c::value const baseValue);
-
- operator xmlrpc_int64() const;
-+
-+ xmlrpc_int64 cvalue() const;
- };
-
-
-+inline xmlrpc_c::value_string
-+toValue(const char * const x) {
-+ return xmlrpc_c::value_string(x);
-+}
-+
-+inline xmlrpc_c::value_string
-+toValue(std::string const& x) {
-+ return xmlrpc_c::value_string(x);
-+}
-+
-+inline xmlrpc_c::value_int
-+toValue(int const x) {
-+ return xmlrpc_c::value_int(x);
-+}
-+
-+inline xmlrpc_c::value_boolean
-+toValue(bool const x) {
-+ return xmlrpc_c::value_boolean(x);
-+}
-+
-+inline xmlrpc_c::value_double
-+toValue(double const x) {
-+ return xmlrpc_c::value_double(x);
-+}
-+
-+inline xmlrpc_c::value_bytestring
-+ toValue(cbytestring const& x) {
-+ return xmlrpc_c::value_bytestring(x);
-+}
-+
-+inline const xmlrpc_c::value &
-+toValue(xmlrpc_c::value const& v) {
-+/*----------------------------------------------------------------------------
-+ This does a null conversion; you use it to catch all the XML-RPC types that
-+ have no usable C++ equivalent, so you can do a toValue() of any XML-RPC
-+ type at all. In particular: 'value_datetime', 'value_nil'.
-+-----------------------------------------------------------------------------*/
-+ return v;
-+}
-
--class fault {
-+template xmlrpc_c::value_struct
-+toValue(std::map const& in) {
-+/*----------------------------------------------------------------------------
-+ convert C++ map to XML-RPC structure
-+-----------------------------------------------------------------------------*/
-+ cstruct ret;
-+ for (typename std::map::const_iterator p = in.begin();
-+ p != in.end();
-+ ++p) {
-+ ret[p->first] = toValue(p->second);
-+ }
-+ return xmlrpc_c::value_struct(ret);
-+}
-+
-+template inline xmlrpc_c::value_array
-+toValue(std::vector const& in) {
-+/*----------------------------------------------------------------------------
-+ convert C++ vector to XML-RPC array
-+-----------------------------------------------------------------------------*/
-+ return arrayValueSlice(in.begin(), in.end());
-+}
-+
-+// fromValue() returns via reference argument instead of by return value
-+// so the compiler can tell which version of it to invoke based on the
-+// desired output type.
-+
-+inline void
-+fromValue(std::string & y, xmlrpc_c::value const& x) {
-+ y = xmlrpc_c::value_string(x);
-+}
-+
-+inline void
-+fromValue(int & y, xmlrpc_c::value const& x) {
-+ y = xmlrpc_c::value_int(x);
-+}
-+
-+inline void
-+fromValue(bool & y, xmlrpc_c::value const& x) {
-+ y = xmlrpc_c::value_boolean(x);
-+}
-+
-+inline void
-+fromValue(double & y, xmlrpc_c::value const& x) {
-+ y = xmlrpc_c::value_double(x);
-+}
-+
-+inline void
-+fromValue(cbytestring & y, xmlrpc_c::value const& x) {
-+ y = xmlrpc_c::value_bytestring(x).vectorUcharValue();
-+}
-+
-+inline void
-+fromValue(xmlrpc_c::value & y, xmlrpc_c::value const& x) {
-+/*----------------------------------------------------------------------------
-+ This does a null conversion; it's so you can use fromValue() with
-+ an XML-RPC value or C++ value without having to know which it is.
-+ One reason you would have an XML-RPC value lying around with C++ values
-+ is that some XML-RPC values don't have a common C++ equivalent.
-+-----------------------------------------------------------------------------*/
-+ y = x;
-+}
-+
-+template inline void
-+fromValue(std::map & y, xmlrpc_c::value const& x) {
-+/*----------------------------------------------------------------------------
-+ Convert XML-RPC structure to C++ map.
-+-----------------------------------------------------------------------------*/
-+ cstruct m = xmlrpc_c::value_struct(x);
-+ y.clear();
-+ for (std::map::const_iterator p = m.begin();
-+ p != m.end();
-+ ++p) {
-+ fromValue(y[p->first], p->second);
-+ }
-+}
-+
-+template inline void
-+fromValue(std::vector & y, xmlrpc_c::value const& x) {
-+/*----------------------------------------------------------------------------
-+ Convert XML-RPC array to C++ vector.
-+-----------------------------------------------------------------------------*/
-+ carray v = xmlrpc_c::value_array(x).vectorValueValue();
-+ y.resize(v.size());
-+ for (unsigned int i = 0; i < v.size(); ++i) {
-+ fromValue(y[i], v[i]);
-+ }
-+}
-+
-+class XMLRPC_DLLEXPORT fault {
- /*----------------------------------------------------------------------------
- This is an XML-RPC fault.
-
-@@ -253,7 +442,7 @@ private:
- std::string description;
- };
-
--class rpcOutcome {
-+class XMLRPC_DLLEXPORT rpcOutcome {
- /*----------------------------------------------------------------------------
- The outcome of a validly executed RPC -- either an XML-RPC fault
- or an XML-RPC value of the result.
-@@ -275,7 +464,7 @@ private:
- xmlrpc_c::fault fault; // valid if not 'succeeded'
- };
-
--class paramList {
-+class XMLRPC_DLLEXPORT paramList {
- /*----------------------------------------------------------------------------
- A parameter list of an XML-RPC call.
- -----------------------------------------------------------------------------*/
-@@ -288,6 +477,11 @@ public:
- paramList&
- addx(xmlrpc_c::value const param);
-
-+ template paramList& addc(const T & x) {
-+ xmlrpc_c::paramList::add(toValue(x));
-+ return *this;
-+ }
-+
- unsigned int
- size() const;
-
-@@ -316,15 +510,15 @@ public:
- std::string
- getString(unsigned int const paramNumber) const;
-
-- std::vector
-+ cbytestring
- getBytestring(unsigned int const paramNumber) const;
-
-- std::vector
-+ carray
- getArray(unsigned int const paramNumber,
- unsigned int const minSize = 0,
- unsigned int const maxSize = UINT_MAX) const;
-
-- std::map
-+ cstruct
- getStruct(unsigned int const paramNumber) const;
-
- void
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/base64.hpp b/libs/xmlrpc-c/include/xmlrpc-c/base64.hpp
-index a884225..4ef06aa 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/base64.hpp
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/base64.hpp
-@@ -4,18 +4,21 @@
- #include
- #include
-
-+#include
-+
- namespace xmlrpc_c {
-
-
- enum newlineCtl {NEWLINE_NO, NEWLINE_YES};
-
-+XMLRPC_DLLEXPORT
- std::string
- base64FromBytes(
- std::vector const& bytes,
- xmlrpc_c::newlineCtl const newlineCtl = xmlrpc_c::NEWLINE_YES);
-
-
--
-+XMLRPC_DLLEXPORT
- std::vector
- bytesFromBase64(std::string const& base64);
-
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/base64_int.h b/libs/xmlrpc-c/include/xmlrpc-c/base64_int.h
-new file mode 100644
-index 0000000..1d1414d
---- /dev/null
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/base64_int.h
-@@ -0,0 +1,11 @@
-+#ifndef BASE64_INT_H_INCLUDED
-+#define BASE64_INT_H_INCLUDED
-+
-+#include "xmlrpc-c/c_util.h"
-+
-+XMLRPC_DLLEXPORT
-+void
-+xmlrpc_base64Encode(const char * const chars,
-+ char * const base64);
-+
-+#endif
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/base_int.h b/libs/xmlrpc-c/include/xmlrpc-c/base_int.h
-index be45cfd..cff8773 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/base_int.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/base_int.h
-@@ -18,14 +18,14 @@
- #include "bool.h"
- #include "int.h"
-
--#include
-+#include
- #include
-+#include
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
--
- struct _xmlrpc_value {
- xmlrpc_type _type;
- int _refcount;
-@@ -36,8 +36,13 @@ struct _xmlrpc_value {
- xmlrpc_int64 i8;
- xmlrpc_bool b;
- double d;
-- /* time_t t */
-- void * c_ptr;
-+ xmlrpc_datetime dt;
-+ /* NOTE: may be invalid! e.g. February 30 */
-+ struct {
-+ void * objectP;
-+ xmlrpc_cptr_dtor_fn dtor; // NULL if none
-+ void * dtorContext;
-+ } cptr;
- } _value;
-
- /* Other data types use a memory block.
-@@ -77,6 +82,15 @@ struct _xmlrpc_value {
- This member is always NULL on a system that does not have
- Unicode wchar functions.
- */
-+ void * _cache;
-+ /* This is a hack to support the old style memory management in which
-+ one gets a pointer into memory that belongs to the xmlrpc_value
-+ object; i.e. the caller of xmlrpc_read_datetime_str_old() doesn't
-+ get memory that he is responsible for freeing.
-+
-+ This is essentially a cached value of the result of a
-+ xmlrpc_read_datetime_str_old(). NULL means nothing cached.
-+ */
- };
-
- #define XMLRPC_ASSERT_VALUE_OK(val) \
-@@ -97,24 +111,34 @@ typedef struct {
- } _struct_member;
-
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_createXmlrpcValue(xmlrpc_env * const envP,
- xmlrpc_value ** const valPP);
-
-+XMLRPC_DLLEXPORT
- const char *
- xmlrpc_typeName(xmlrpc_type const type);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_traceXml(const char * const label,
- const char * const xml,
-- unsigned int const xmlLength);
-+ size_t const xmlLength);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_destroyString(xmlrpc_value * const stringP);
-
-+XMLRPC_DLLEXPORT
-+void
-+xmlrpc_destroyDatetime(xmlrpc_value * const datetimeP);
-+
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_destroyStruct(xmlrpc_value * const structP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_destroyArrayContents(xmlrpc_value * const arrayP);
-
-@@ -130,16 +154,19 @@ xmlrpc_destroyArrayContents(xmlrpc_value * const arrayP);
- new memory for them.
- -----------------------------------------------------------------------------*/
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_datetime_str_old(xmlrpc_env * const envP,
- const xmlrpc_value * const valueP,
- const char ** const stringValueP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_string_old(xmlrpc_env * const envP,
- const xmlrpc_value * const valueP,
- const char ** const stringValueP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_string_lp_old(xmlrpc_env * const envP,
- const xmlrpc_value * const valueP,
-@@ -147,11 +174,13 @@ xmlrpc_read_string_lp_old(xmlrpc_env * const envP,
- const char ** const stringValueP);
-
- #if XMLRPC_HAVE_WCHAR
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_string_w_old(xmlrpc_env * const envP,
- xmlrpc_value * const valueP,
- const wchar_t ** const stringValueP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_string_w_lp_old(xmlrpc_env * const envP,
- xmlrpc_value * const valueP,
-@@ -159,6 +188,7 @@ xmlrpc_read_string_w_lp_old(xmlrpc_env * const envP,
- const wchar_t ** const stringValueP);
- #endif
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_read_base64_old(xmlrpc_env * const envP,
- const xmlrpc_value * const valueP,
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/c_util.h b/libs/xmlrpc-c/include/xmlrpc-c/c_util.h
-index 8cc72e9..b8635e6 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/c_util.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/c_util.h
-@@ -1,14 +1,31 @@
- #ifndef XMLRPC_C_C_UTIL_H_INCLUDED
- #define XMLRPC_C_C_UTIL_H_INCLUDED
-
--/* GNU_PRINTF_ATTR lets the GNU compiler check printf-type
-+/* C language stuff. Doesn't involve any libraries that aren't part of
-+ the compiler.
-+*/
-+
-+#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
-+
-+/* XMLRPC_PRINTF_ATTR lets the GNU compiler check printf-type
- calls to be sure the arguments match the format string, thus preventing
- runtime segmentation faults and incorrect messages.
- */
- #ifdef __GNUC__
--#define GNU_PRINTF_ATTR(a,b) __attribute__ ((format (printf, a, b)))
-+#define XMLRPC_PRINTF_ATTR(a,b) __attribute__ ((format (printf, a, b)))
-+#define XMLRPC_NORETURN_ATTR __attribute__((noreturn))
-+#else
-+#define XMLRPC_PRINTF_ATTR(a,b)
-+#define XMLRPC_NORETURN_ATTR
-+#endif
-+
-+/* XMLRPC_DLLEXPORT is an attribute of an external symbols that says it
-+ is to be exported from a library that contains it.
-+*/
-+#if defined(_DLL) && defined(_MSC_VER) && _MSC_VER >= 1500
-+#define XMLRPC_DLLEXPORT __declspec(dllexport)
- #else
--#define GNU_PRINTF_ATTR(a,b)
-+#define XMLRPC_DLLEXPORT
- #endif
-
- #endif
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/client.h b/libs/xmlrpc-c/include/xmlrpc-c/client.h
-index c2e2e61..f4166e3 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/client.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/client.h
-@@ -10,6 +10,8 @@
- #ifndef XMLRPC_CLIENT_H_INCLUDED
- #define XMLRPC_CLIENT_H_INCLUDED
-
-+#include
-+#include
- #include
-
- #ifdef __cplusplus
-@@ -39,8 +41,11 @@ typedef struct xmlrpc_client_transport_ops xmlrpc_client_transport_ops;
- so now we just use void * as a base class pointer.
- */
-
-+XMLRPC_DLLEXPORT
- extern struct xmlrpc_client_transport_ops xmlrpc_libwww_transport_ops;
-+XMLRPC_DLLEXPORT
- extern struct xmlrpc_client_transport_ops xmlrpc_wininet_transport_ops;
-+XMLRPC_DLLEXPORT
- extern struct xmlrpc_client_transport_ops xmlrpc_curl_transport_ops;
-
- enum xmlrpc_sslversion {
-@@ -50,6 +55,29 @@ enum xmlrpc_sslversion {
- XMLRPC_SSLVERSION_SSLv3
- };
-
-+
-+enum xmlrpc_httpauthtype {
-+ /* These are just constants. They can be or'ed as integers to create
-+ a set.
-+ */
-+ XMLRPC_HTTPAUTH_BASIC = (1<<0),
-+ XMLRPC_HTTPAUTH_DIGEST = (1<<1),
-+ XMLRPC_HTTPAUTH_GSSNEGOTIATE = (1<<2),
-+ XMLRPC_HTTPAUTH_NTLM = (1<<3),
-+};
-+
-+/* The following are useful combinations of the HTTP authentication types
-+ above.
-+*/
-+#define XMLRPC_HTTPAUTH_NONE 0
-+#define XMLRPC_HTTPAUTH_ANY ~0
-+#define XMLRPC_HTTPAUTH_ANYSAFE (~XMLRPC_HTTPAUTH_BASIC)
-+
-+enum xmlrpc_httpproxytype {
-+ XMLRPC_HTTPPROXY_HTTP = 0,
-+ XMLRPC_HTTPPROXY_SOCKS5 = 5
-+};
-+
- struct xmlrpc_curl_xportparms {
- /* This is designed so that zero values are always the defaults. */
- const char * network_interface;
-@@ -71,6 +99,15 @@ struct xmlrpc_curl_xportparms {
- const char * egdsocket;
- const char * ssl_cipher_list;
- unsigned int timeout;
-+ xmlrpc_bool dont_advertise;
-+ const char * proxy;
-+ unsigned int proxy_port;
-+ enum xmlrpc_httpproxytype proxy_type;
-+ unsigned int proxy_auth;
-+ /* A set of authentication schemes -- an OR of
-+ enum xmlrpc_httpproxyauth values
-+ */
-+ const char * proxy_userpwd;
- };
-
-
-@@ -88,6 +125,19 @@ struct xmlrpc_wininet_xportparms {
-
- /* XMLRPC_WXPSIZE(xyz) is analogous to XMLRPC_CPSIZE, below */
-
-+struct xmlrpc_transfer_progress {
-+ double total;
-+ double now;
-+};
-+
-+struct xmlrpc_progress_data {
-+ struct xmlrpc_transfer_progress call;
-+ struct xmlrpc_transfer_progress response;
-+};
-+
-+typedef void xmlrpc_progress_fn(void * const,
-+ struct xmlrpc_progress_data const);
-+
- struct xmlrpc_clientparms {
- /* (transport, transportparmsP, transportparm_size) and
- (transportOpsP, transportP) are mutually exclusive.
-@@ -100,6 +150,7 @@ struct xmlrpc_clientparms {
- const struct xmlrpc_client_transport_ops * transportOpsP;
- xmlrpc_client_transport * transportP;
- xmlrpc_dialect dialect;
-+ xmlrpc_progress_fn * progressFn;
- };
-
- #define XMLRPC_CPSIZE(mbrname) \
-@@ -112,23 +163,24 @@ struct xmlrpc_clientparms {
- not the caller is new enough to have supplied a certain parameter.
- */
-
-+XMLRPC_DLLEXPORT
- const char *
- xmlrpc_client_get_default_transport(xmlrpc_env * const env);
-
- /* A callback function to handle the response to an asynchronous call.
- ** If 'fault->fault_occurred' is true, then response will be NULL. All
--** arguments except 'user_data' will be deallocated internally; please do
-+** arguments except 'userHandle' will be deallocated internally; please do
- ** not free any of them yourself.
--** WARNING: param_array may (or may not) be NULL if fault->fault_occurred
-+** WARNING: 'paramArray' may (or may not) be NULL if fault->fault_occurred
- ** is true, and you set up the call using xmlrpc_client_call_asynch.
- ** WARNING: If asynchronous calls are still pending when the library is
- ** shut down, your handler may (or may not) be called with a fault. */
--typedef void (*xmlrpc_response_handler) (const char *server_url,
-- const char *method_name,
-- xmlrpc_value *param_array,
-- void *user_data,
-- xmlrpc_env *fault,
-- xmlrpc_value *result);
-+typedef void xmlrpc_response_handler(const char * serverUrl,
-+ const char * methodName,
-+ xmlrpc_value * paramArray,
-+ void * userHandle,
-+ xmlrpc_env * fault,
-+ xmlrpc_value * result);
-
-
- /*=========================================================================
-@@ -147,73 +199,98 @@ typedef void (*xmlrpc_response_handler) (const char *server_url,
- typedef struct _xmlrpc_server_info xmlrpc_server_info;
-
- /* Create a new server info record, pointing to the specified server. */
-+XMLRPC_DLLEXPORT
- xmlrpc_server_info *
- xmlrpc_server_info_new(xmlrpc_env * const envP,
- const char * const serverUrl);
-
- /* Create a new server info record, with a copy of the old server. */
-+XMLRPC_DLLEXPORT
- extern xmlrpc_server_info *
- xmlrpc_server_info_copy(xmlrpc_env * const envP,
- xmlrpc_server_info * const srcP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_info_free(xmlrpc_server_info * const serverP);
-
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_info_set_user(xmlrpc_env * const envP,
- xmlrpc_server_info * const serverInfoP,
- const char * const username,
- const char * const password);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_info_set_basic_auth(xmlrpc_env * const envP,
- xmlrpc_server_info * const serverP,
- const char * const username,
- const char * const password);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_info_allow_auth_basic(xmlrpc_env * const envP,
- xmlrpc_server_info * const sP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_info_disallow_auth_basic(xmlrpc_env * const envP,
- xmlrpc_server_info * const sP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_info_allow_auth_digest(xmlrpc_env * const envP,
- xmlrpc_server_info * const sP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_info_disallow_auth_digest(xmlrpc_env * const envP,
- xmlrpc_server_info * const sP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_info_allow_auth_negotiate(xmlrpc_env * const envP,
- xmlrpc_server_info * const sP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_info_disallow_auth_negotiate(xmlrpc_env * const envP,
- xmlrpc_server_info * const sP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_info_allow_auth_ntlm(xmlrpc_env * const envP,
- xmlrpc_server_info * const sP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_info_disallow_auth_ntlm(xmlrpc_env * const envP,
- xmlrpc_server_info * const sP);
-
-+/* These are for backward compatibility -- they can't be exported from a
-+ Windows DLL. xmlrpc_server_version() is preferred.
-+*/
- extern unsigned int const xmlrpc_client_version_major;
- extern unsigned int const xmlrpc_client_version_minor;
- extern unsigned int const xmlrpc_client_version_point;
-
-+XMLRPC_DLLEXPORT
-+void
-+xmlrpc_client_version(unsigned int * const majorP,
-+ unsigned int * const minorP,
-+ unsigned int * const pointP);
-+
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_client_setup_global_const(xmlrpc_env * const envP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_client_teardown_global_const(void);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_client_create(xmlrpc_env * const envP,
- int const flags,
-@@ -223,9 +300,11 @@ xmlrpc_client_create(xmlrpc_env * const envP,
- unsigned int const parmSize,
- xmlrpc_client ** const clientPP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_client_destroy(xmlrpc_client * const clientP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_client_transport_call2(
- xmlrpc_env * const envP,
-@@ -234,6 +313,7 @@ xmlrpc_client_transport_call2(
- xmlrpc_mem_block * const callXmlP,
- xmlrpc_mem_block ** const respXmlPP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_client_call2(xmlrpc_env * const envP,
- struct xmlrpc_client * const clientP,
-@@ -242,6 +322,7 @@ xmlrpc_client_call2(xmlrpc_env * const envP,
- xmlrpc_value * const paramArrayP,
- xmlrpc_value ** const resultPP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_client_call2f(xmlrpc_env * const envP,
- xmlrpc_client * const clientP,
-@@ -251,32 +332,58 @@ xmlrpc_client_call2f(xmlrpc_env * const envP,
- const char * const format,
- ...);
-
-+XMLRPC_DLLEXPORT
-+void
-+xmlrpc_client_call2f_va(xmlrpc_env * const envP,
-+ xmlrpc_client * const clientP,
-+ const char * const serverUrl,
-+ const char * const methodName,
-+ const char * const format,
-+ xmlrpc_value ** const resultPP,
-+ va_list args);
-+
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_client_event_loop_finish(xmlrpc_client * const clientP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_client_event_loop_finish_timeout(xmlrpc_client * const clientP,
- unsigned long const milliseconds);
-
-+XMLRPC_DLLEXPORT
- void
--xmlrpc_client_start_rpc(xmlrpc_env * const envP,
-- struct xmlrpc_client * const clientP,
-- xmlrpc_server_info * const serverInfoP,
-- const char * const methodName,
-- xmlrpc_value * const argP,
-- xmlrpc_response_handler responseHandler,
-- void * const userData);
--
-+xmlrpc_client_start_rpc(xmlrpc_env * const envP,
-+ struct xmlrpc_client * const clientP,
-+ const xmlrpc_server_info * const serverInfoP,
-+ const char * const methodName,
-+ xmlrpc_value * const paramArrayP,
-+ xmlrpc_response_handler responseHandler,
-+ void * const userData);
-+
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_client_start_rpcf(xmlrpc_env * const envP,
- xmlrpc_client * const clientP,
- const char * const serverUrl,
- const char * const methodName,
-- xmlrpc_response_handler callback,
-+ xmlrpc_response_handler responseHandler,
- void * const userData,
- const char * const format,
- ...);
-
-+XMLRPC_DLLEXPORT
-+void
-+xmlrpc_client_start_rpcf_va(xmlrpc_env * const envP,
-+ xmlrpc_client * const clientP,
-+ const char * const serverUrl,
-+ const char * const methodName,
-+ xmlrpc_response_handler responseHandler,
-+ void * const userData,
-+ const char * const format,
-+ va_list args);
-+
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_client_set_interrupt(xmlrpc_client * const clientP,
- int * const interruptP);
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/client.hpp b/libs/xmlrpc-c/include/xmlrpc-c/client.hpp
-index de6d073..f757b6a 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/client.hpp
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/client.hpp
-@@ -5,6 +5,7 @@
- #include
- #include
-
-+#include
- #include
- #include
- #include
-@@ -13,9 +14,9 @@
-
- namespace xmlrpc_c {
-
--class clientTransactionPtr;
-+class XMLRPC_DLLEXPORT clientTransactionPtr;
-
--class clientTransaction : public girmem::autoObject {
-+class XMLRPC_DLLEXPORT clientTransaction : public girmem::autoObject {
-
- friend class clientTransactionPtr;
-
-@@ -26,11 +27,14 @@ public:
- virtual void
- finishErr(girerr::error const& error) = 0;
-
-+ virtual void
-+ progress(struct xmlrpc_progress_data const& progressData) const = 0;
-+
- protected:
- clientTransaction();
- };
-
--class clientTransactionPtr : public girmem::autoObjectPtr {
-+class XMLRPC_DLLEXPORT clientTransactionPtr : public girmem::autoObjectPtr {
-
- public:
- clientTransactionPtr();
-@@ -43,9 +47,9 @@ public:
- operator->() const;
- };
-
--class clientPtr;
-+class XMLRPC_DLLEXPORT clientPtr;
-
--class client : public girmem::autoObject {
-+class XMLRPC_DLLEXPORT client : public girmem::autoObject {
- /*----------------------------------------------------------------------------
- A generic client -- a means of performing an RPC. This is so generic
- that it can be used for clients that are not XML-RPC.
-@@ -77,7 +81,7 @@ public:
- setInterrupt(int *);
- };
-
--class clientPtr : public girmem::autoObjectPtr {
-+class XMLRPC_DLLEXPORT clientPtr : public girmem::autoObjectPtr {
- public:
- clientPtr();
-
-@@ -90,7 +94,7 @@ public:
- get() const;
- };
-
--class serverAccessor : public girmem::autoObject {
-+class XMLRPC_DLLEXPORT serverAccessor : public girmem::autoObject {
-
- public:
- serverAccessor(xmlrpc_c::clientPtr const clientP,
-@@ -106,7 +110,7 @@ private:
- xmlrpc_c::carriageParmPtr const carriageParmP;
- };
-
--class serverAccessorPtr : public girmem::autoObjectPtr {
-+class XMLRPC_DLLEXPORT serverAccessorPtr : public girmem::autoObjectPtr {
- public:
- serverAccessorPtr();
-
-@@ -120,7 +124,7 @@ public:
- get() const;
- };
-
--class connection {
-+class XMLRPC_DLLEXPORT connection {
- /*----------------------------------------------------------------------------
- A nexus of a particular client and a particular server, along with
- carriage parameters for performing RPCs between the two.
-@@ -140,7 +144,7 @@ public:
- xmlrpc_c::carriageParm * carriageParmP;
- };
-
--class client_xml : public xmlrpc_c::client {
-+class XMLRPC_DLLEXPORT client_xml : public xmlrpc_c::client {
- /*----------------------------------------------------------------------------
- A client that uses XML-RPC XML in the RPC. This class does not define
- how the XML gets transported, though (i.e. does not require HTTP).
-@@ -180,7 +184,7 @@ private:
- struct client_xml_impl * implP;
- };
-
--class xmlTransaction_client : public xmlrpc_c::xmlTransaction {
-+class XMLRPC_DLLEXPORT xmlTransaction_client : public xmlrpc_c::xmlTransaction {
-
- public:
- xmlTransaction_client(xmlrpc_c::clientTransactionPtr const& tranP);
-@@ -190,11 +194,15 @@ public:
-
- void
- finishErr(girerr::error const& error) const;
-+
-+ void
-+ progress(xmlrpc_progress_data const& progressData) const;
-+
- private:
- xmlrpc_c::clientTransactionPtr const tranP;
- };
-
--class xmlTransaction_clientPtr : public xmlTransactionPtr {
-+class XMLRPC_DLLEXPORT xmlTransaction_clientPtr : public xmlTransactionPtr {
- public:
- xmlTransaction_clientPtr();
-
-@@ -206,21 +214,23 @@ public:
-
- class rpcPtr;
-
--class rpc : public clientTransaction {
-+class XMLRPC_DLLEXPORT rpc : public clientTransaction {
- /*----------------------------------------------------------------------------
- An RPC. An RPC consists of method name, parameters, and result. It
- does not specify in any way how the method name and parameters get
- turned into a result. It does not presume XML or HTTP.
--
-- You don't create an object of this class directly. All references to
-- an rpc object should be by an rpcPtr object. Create a new RPC by
-- creating a new rpcPtr. Accordingly, our constructors and destructors
-- are protected, but available to our friend class rpcPtr.
--
-+
-+ You don't normally create or reference an object of this class directly,
-+ but rather via an 'rpcPtr' object. That takes care of deleting the object
-+ when you are done with it (but not before). This is critical if you plan
-+ to use the 'start' method, because without an rpcPtr reference, the system
-+ will destroy the object under the covers when the RPC finishes, and there
-+ is no way for you to guarantee you won't still access it after it finishes
-+ (because of accesses within Xmlrpc-c calls such as the call that finishes
-+ the RPC or just rpc::start).
-+
- In order to do asynchronous RPCs, you normally have to create a derived
-- class that defines a useful notifyComplete(). If you do that, you'll
-- want to make sure the derived class objects get accessed only via rpcPtrs
-- as well.
-+ class that defines a useful notifyComplete().
- -----------------------------------------------------------------------------*/
- friend class xmlrpc_c::rpcPtr;
-
-@@ -248,6 +258,9 @@ public:
- virtual void
- notifyComplete();
-
-+ virtual void
-+ progress(struct xmlrpc_progress_data const& progressData) const;
-+
- bool
- isFinished() const;
-
-@@ -269,7 +282,7 @@ private:
- struct rpc_impl * implP;
- };
-
--class rpcPtr : public clientTransactionPtr {
-+class XMLRPC_DLLEXPORT rpcPtr : public clientTransactionPtr {
- public:
- rpcPtr();
-
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/client_global.h b/libs/xmlrpc-c/include/xmlrpc-c/client_global.h
-index 4f388fc..7d7a11b 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/client_global.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/client_global.h
-@@ -1,6 +1,9 @@
- #ifndef CLIENT_GLOBAL_H_INCLUDED
- #define CLIENT_GLOBAL_H_INCLUDED
-
-+#include
-+#include
-+
- /*=========================================================================
- ** Initialization and Shutdown
- **=========================================================================
-@@ -12,11 +15,13 @@
- #define XMLRPC_CLIENT_NO_FLAGS (0)
- #define XMLRPC_CLIENT_SKIP_LIBWWW_INIT (1)
-
-+XMLRPC_DLLEXPORT
- extern void
- xmlrpc_client_init(int const flags,
- const char * const appname,
- const char * const appversion);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_client_init2(xmlrpc_env * const env,
- int const flags,
-@@ -25,6 +30,7 @@ xmlrpc_client_init2(xmlrpc_env * const env,
- const struct xmlrpc_clientparms * const clientparms,
- unsigned int const parm_size);
-
-+XMLRPC_DLLEXPORT
- extern void
- xmlrpc_client_cleanup(void);
-
-@@ -35,6 +41,7 @@ xmlrpc_client_cleanup(void);
- ** functions from inside an asynchronous callback!
- */
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_client_call(xmlrpc_env * const envP,
- const char * const server_url,
-@@ -42,12 +49,14 @@ xmlrpc_client_call(xmlrpc_env * const envP,
- const char * const format,
- ...);
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_client_call_params(xmlrpc_env * const envP,
- const char * const serverUrl,
- const char * const methodName,
- xmlrpc_value * const paramArrayP);
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_client_call_server(xmlrpc_env * const envP,
- const xmlrpc_server_info * const server,
-@@ -55,6 +64,7 @@ xmlrpc_client_call_server(xmlrpc_env * const envP,
- const char * const format,
- ...);
-
-+XMLRPC_DLLEXPORT
- xmlrpc_value *
- xmlrpc_client_call_server_params(
- xmlrpc_env * const envP,
-@@ -62,6 +72,7 @@ xmlrpc_client_call_server_params(
- const char * const method_name,
- xmlrpc_value * const paramArrayP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_client_transport_call(
- xmlrpc_env * const envP,
-@@ -83,6 +94,7 @@ xmlrpc_client_transport_call(
- ** to run the event loop somehow; see below.
- ** WARNING: If an error occurs while building the argument, the
- ** response handler will be called with a NULL param_array. */
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_client_call_asynch(const char * const server_url,
- const char * const method_name,
-@@ -93,6 +105,7 @@ xmlrpc_client_call_asynch(const char * const server_url,
-
- /* As above, but use an xmlrpc_server_info object. The server object can be
- ** safely destroyed as soon as this function returns. */
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_client_call_server_asynch(xmlrpc_server_info * const server,
- const char * const method_name,
-@@ -104,6 +117,7 @@ xmlrpc_client_call_server_asynch(xmlrpc_server_info * const server,
- /* As above, but the parameter list is supplied as an xmlrpc_value
- ** containing an array.
- */
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_client_call_asynch_params(const char * const server_url,
- const char * const method_name,
-@@ -113,6 +127,7 @@ xmlrpc_client_call_asynch_params(const char * const server_url,
-
- /* As above, but use an xmlrpc_server_info object. The server object can be
- ** safely destroyed as soon as this function returns. */
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_client_call_server_asynch_params(
- xmlrpc_server_info * const server,
-@@ -130,11 +145,13 @@ xmlrpc_client_call_server_asynch_params(
-
- /* Finish all outstanding asynchronous calls. Alternatively, the loop
- ** will exit if someone calls xmlrpc_client_event_loop_end. */
-+XMLRPC_DLLEXPORT
- extern void
- xmlrpc_client_event_loop_finish_asynch(void);
-
-
- /* Finish all outstanding asynchronous calls. */
-+XMLRPC_DLLEXPORT
- extern void
- xmlrpc_client_event_loop_finish_asynch_timeout(unsigned long const milliseconds);
-
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/client_int.h b/libs/xmlrpc-c/include/xmlrpc-c/client_int.h
-index dabdcaf..79f7ade 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/client_int.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/client_int.h
-@@ -86,6 +86,35 @@ xmlrpc_client_event_loop_end (void);
- extern int
- xmlrpc_client_asynch_calls_are_unfinished (void);
-
-+
-+
-+/*=========================================================================
-+** Interface between global client and general client functions.
-+** (These are necessary because there are some global client functions
-+** that don't have exported private client versions because we don't like
-+** them and have them for global functions only for backward compatibility.
-+** The global client functions existed before any private client ones did).
-+**========================================================================= */
-+void
-+xmlrpc_client_call_server2_va(xmlrpc_env * const envP,
-+ struct xmlrpc_client * const clientP,
-+ const xmlrpc_server_info * const serverInfoP,
-+ const char * const methodName,
-+ const char * const format,
-+ va_list args,
-+ xmlrpc_value ** const resultPP);
-+
-+void
-+xmlrpc_client_start_rpcf_server_va(
-+ xmlrpc_env * const envP,
-+ struct xmlrpc_client * const clientP,
-+ const xmlrpc_server_info * const serverInfoP,
-+ const char * const methodName,
-+ xmlrpc_response_handler responseHandler,
-+ void * const userData,
-+ const char * const format,
-+ va_list args);
-+
- /* Copyright (C) 2001 by First Peer, Inc. All rights reserved.
- **
- ** Redistribution and use in source and binary forms, with or without
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/client_simple.hpp b/libs/xmlrpc-c/include/xmlrpc-c/client_simple.hpp
-index 52e6c2b..5252363 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/client_simple.hpp
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/client_simple.hpp
-@@ -3,13 +3,13 @@
-
- #include
-
-+#include
- #include
- #include
-
- namespace xmlrpc_c {
-
--
--class clientSimple {
-+class XMLRPC_DLLEXPORT clientSimple {
-
- public:
- clientSimple();
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/client_transport.hpp b/libs/xmlrpc-c/include/xmlrpc-c/client_transport.hpp
-index 8d6053d..ddeabf5 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/client_transport.hpp
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/client_transport.hpp
-@@ -3,6 +3,8 @@
-
- #include
- #include
-+
-+#include
- #include
- #include
- #include
-@@ -11,9 +13,9 @@
-
- namespace xmlrpc_c {
-
--class carriageParmPtr;
-+class XMLRPC_DLLEXPORT carriageParmPtr;
-
--class carriageParm : public girmem::autoObject {
-+class XMLRPC_DLLEXPORT carriageParm : public girmem::autoObject {
- /*----------------------------------------------------------------------------
- The parameter to a client for an individual RPC. It tells specifics
- of how to carry the call to the server and the response back. For
-@@ -30,7 +32,7 @@ protected:
- carriageParm();
- };
-
--class carriageParmPtr : public girmem::autoObjectPtr {
-+class XMLRPC_DLLEXPORT carriageParmPtr : public girmem::autoObjectPtr {
-
- public:
- carriageParmPtr();
-@@ -46,9 +48,9 @@ public:
-
- //----------------------------------------------------------------------------
-
--class xmlTransactionPtr;
-+class XMLRPC_DLLEXPORT xmlTransactionPtr;
-
--class xmlTransaction : public girmem::autoObject {
-+class XMLRPC_DLLEXPORT xmlTransaction : public girmem::autoObject {
-
- friend class xmlTransactionPtr;
-
-@@ -59,11 +61,14 @@ public:
- virtual void
- finishErr(girerr::error const& error) const;
-
-+ virtual void
-+ progress(struct xmlrpc_progress_data const& progressData) const;
-+
- protected:
- xmlTransaction();
- };
-
--class xmlTransactionPtr : public girmem::autoObjectPtr {
-+class XMLRPC_DLLEXPORT xmlTransactionPtr : public girmem::autoObjectPtr {
- public:
- xmlTransactionPtr();
-
-@@ -75,7 +80,7 @@ public:
-
- //----------------------------------------------------------------------------
-
--class clientXmlTransport : public girmem::autoObject {
-+class XMLRPC_DLLEXPORT clientXmlTransport : public girmem::autoObject {
- /*----------------------------------------------------------------------------
- An object which transports XML to and from an XML-RPC server for an
- XML-RPC client.
-@@ -105,11 +110,16 @@ public:
- xmlrpc_mem_block * const responseXmlMP,
- xmlrpc_env const transportEnv);
-
-+ static void
-+ progress(
-+ struct xmlrpc_call_info * const callInfoP,
-+ struct xmlrpc_progress_data const progressData);
-+
- virtual void
- setInterrupt(int * const interruptP);
- };
-
--class clientXmlTransportPtr : public girmem::autoObjectPtr {
-+class XMLRPC_DLLEXPORT clientXmlTransportPtr : public girmem::autoObjectPtr {
-
- public:
- clientXmlTransportPtr();
-@@ -127,7 +137,7 @@ public:
- HTTP
- ===========================================================================*/
-
--class carriageParm_http0 : public xmlrpc_c::carriageParm {
-+class XMLRPC_DLLEXPORT carriageParm_http0 : public xmlrpc_c::carriageParm {
-
- public:
- carriageParm_http0(std::string const serverUrl);
-@@ -179,7 +189,7 @@ protected:
- instantiate(std::string const serverUrl);
- };
-
--class carriageParm_http0Ptr : public xmlrpc_c::carriageParmPtr {
-+class XMLRPC_DLLEXPORT carriageParm_http0Ptr : public xmlrpc_c::carriageParmPtr {
-
- public:
- carriageParm_http0Ptr();
-@@ -189,7 +199,7 @@ public:
- operator->() const;
- };
-
--class clientXmlTransport_http : public xmlrpc_c::clientXmlTransport {
-+class XMLRPC_DLLEXPORT clientXmlTransport_http : public xmlrpc_c::clientXmlTransport {
- /*----------------------------------------------------------------------------
- A base class for client XML transports that use the simple, classic
- C HTTP transports.
-@@ -230,13 +240,13 @@ protected:
- curl
- ===========================================================================*/
-
--class carriageParm_curl0 : public xmlrpc_c::carriageParm_http0 {
-+class XMLRPC_DLLEXPORT carriageParm_curl0 : public xmlrpc_c::carriageParm_http0 {
-
- public:
- carriageParm_curl0(std::string const serverUrl);
- };
-
--class carriageParm_curl0Ptr : public xmlrpc_c::carriageParm_http0Ptr {
-+class XMLRPC_DLLEXPORT carriageParm_curl0Ptr : public xmlrpc_c::carriageParm_http0Ptr {
-
- public:
- carriageParm_curl0Ptr();
-@@ -246,16 +256,21 @@ public:
- operator->() const;
- };
-
--class clientXmlTransport_curl : public xmlrpc_c::clientXmlTransport_http {
-+class XMLRPC_DLLEXPORT clientXmlTransport_curl : public xmlrpc_c::clientXmlTransport_http {
-
- public:
-+ struct constrOpt_impl;
-+
- class constrOpt {
- public:
- constrOpt();
-+ ~constrOpt();
-+ constrOpt(constrOpt&);
-
- constrOpt & network_interface (std::string const& arg);
- constrOpt & no_ssl_verifypeer (bool const& arg);
- constrOpt & no_ssl_verifyhost (bool const& arg);
-+ constrOpt & dont_advertise (bool const& arg);
- constrOpt & user_agent (std::string const& arg);
- constrOpt & ssl_cert (std::string const& arg);
- constrOpt & sslcerttype (std::string const& arg);
-@@ -272,49 +287,15 @@ public:
- constrOpt & egdsocket (std::string const& arg);
- constrOpt & ssl_cipher_list (std::string const& arg);
- constrOpt & timeout (unsigned int const& arg);
--
-- struct {
-- std::string network_interface;
-- bool no_ssl_verifypeer;
-- bool no_ssl_verifyhost;
-- std::string user_agent;
-- std::string ssl_cert;
-- std::string sslcerttype;
-- std::string sslcertpasswd;
-- std::string sslkey;
-- std::string sslkeytype;
-- std::string sslkeypasswd;
-- std::string sslengine;
-- bool sslengine_default;
-- xmlrpc_sslversion sslversion;
-- std::string cainfo;
-- std::string capath;
-- std::string randomfile;
-- std::string egdsocket;
-- std::string ssl_cipher_list;
-- unsigned int timeout;
-- } value;
-- struct {
-- bool network_interface;
-- bool no_ssl_verifypeer;
-- bool no_ssl_verifyhost;
-- bool user_agent;
-- bool ssl_cert;
-- bool sslcerttype;
-- bool sslcertpasswd;
-- bool sslkey;
-- bool sslkeytype;
-- bool sslkeypasswd;
-- bool sslengine;
-- bool sslengine_default;
-- bool sslversion;
-- bool cainfo;
-- bool capath;
-- bool randomfile;
-- bool egdsocket;
-- bool ssl_cipher_list;
-- bool timeout;
-- } present;
-+ constrOpt & proxy (std::string const& arg);
-+ constrOpt & proxy_port (unsigned int const& arg);
-+ constrOpt & proxy_auth (unsigned int const& arg);
-+ constrOpt & proxy_userpwd (std::string const& arg);
-+ constrOpt & proxy_type (xmlrpc_httpproxytype const& arg);
-+
-+ private:
-+ struct constrOpt_impl * implP;
-+ friend class clientXmlTransport_curl;
- };
-
- clientXmlTransport_curl(constrOpt const& opt);
-@@ -335,14 +316,14 @@ private:
- libwww
- ===========================================================================*/
-
--class carriageParm_libwww0 : public xmlrpc_c::carriageParm_http0 {
-+class XMLRPC_DLLEXPORT carriageParm_libwww0 : public xmlrpc_c::carriageParm_http0 {
-
- public:
- carriageParm_libwww0(std::string const serverUrl);
-
- };
-
--class carriageParm_libwww0Ptr : public xmlrpc_c::carriageParm_http0Ptr {
-+class XMLRPC_DLLEXPORT carriageParm_libwww0Ptr : public xmlrpc_c::carriageParm_http0Ptr {
-
- public:
- carriageParm_libwww0Ptr();
-@@ -352,7 +333,7 @@ public:
- operator->() const;
- };
-
--class clientXmlTransport_libwww : public xmlrpc_c::clientXmlTransport_http {
-+class XMLRPC_DLLEXPORT clientXmlTransport_libwww : public xmlrpc_c::clientXmlTransport_http {
-
- public:
- clientXmlTransport_libwww(std::string const appname = "",
-@@ -365,14 +346,14 @@ public:
- wininet
- ===========================================================================*/
-
--class carriageParm_wininet0 : public xmlrpc_c::carriageParm_http0 {
-+class XMLRPC_DLLEXPORT carriageParm_wininet0 : public xmlrpc_c::carriageParm_http0 {
-
- public:
- carriageParm_wininet0(std::string const serverUrl);
-
- };
-
--class carriageParm_wininet0Ptr : public xmlrpc_c::carriageParm_http0Ptr {
-+class XMLRPC_DLLEXPORT carriageParm_wininet0Ptr : public xmlrpc_c::carriageParm_http0Ptr {
-
- public:
- carriageParm_wininet0Ptr();
-@@ -382,7 +363,7 @@ public:
- operator->() const;
- };
-
--class clientXmlTransport_wininet : public xmlrpc_c::clientXmlTransport_http {
-+class XMLRPC_DLLEXPORT clientXmlTransport_wininet : public xmlrpc_c::clientXmlTransport_http {
-
- public:
- clientXmlTransport_wininet(bool const allowInvalidSslCerts = false);
-@@ -394,15 +375,15 @@ public:
- pstream
- ===========================================================================*/
-
--class packetSocket;
-+class XMLRPC_DLLEXPORT packetSocket;
-
--class carriageParm_pstream : public xmlrpc_c::carriageParm {
-+class XMLRPC_DLLEXPORT carriageParm_pstream : public xmlrpc_c::carriageParm {
-
- // There are no parameters for carrying an RPC on a packet stream.
- // There's only one way to carry it.
- };
-
--class carriageParm_pstreamPtr : public xmlrpc_c::carriageParmPtr {
-+class XMLRPC_DLLEXPORT carriageParm_pstreamPtr : public xmlrpc_c::carriageParmPtr {
-
- public:
- carriageParm_pstreamPtr();
-@@ -413,21 +394,22 @@ public:
- operator->() const;
- };
-
--class clientXmlTransport_pstream : public xmlrpc_c::clientXmlTransport {
-+class XMLRPC_DLLEXPORT clientXmlTransport_pstream : public xmlrpc_c::clientXmlTransport {
-
- public:
-+ struct constrOpt_impl;
-+
- class constrOpt {
- public:
- constrOpt();
-+ ~constrOpt();
-+ constrOpt(constrOpt&);
-
- constrOpt & fd (int const& arg);
-
-- struct {
-- int fd;
-- } value;
-- struct {
-- bool fd;
-- } present;
-+ private:
-+ struct constrOpt_impl * implP;
-+ friend class clientXmlTransport_pstream;
- };
-
- clientXmlTransport_pstream(constrOpt const& opt);
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/config.h.in b/libs/xmlrpc-c/include/xmlrpc-c/config.h.in
-deleted file mode 100644
-index 2575010..0000000
---- a/libs/xmlrpc-c/include/xmlrpc-c/config.h.in
-+++ /dev/null
-@@ -1,37 +0,0 @@
--#ifndef XMLRPC_C_CONFIG_H_INCLUDED
--#define XMLRPC_C_CONFIG_H_INCLUDED
--
--/* This file, part of XML-RPC For C/C++, is meant to
-- define characteristics of this particular installation
-- that the other header files need in
-- order to compile correctly when #included in Xmlrpc-c
-- user code.
--
-- Those header files #include this one.
--
-- This file was created by a make rule.
--*/
--#define XMLRPC_HAVE_WCHAR @HAVE_WCHAR_H_DEFINE@
--#ifdef WIN32
-- /* SOCKET is a type defined by . Anyone who
-- uses XMLRPC_SOCKET on a WIN32 system must #include
--
-- */
-- #define XMLRPC_SOCKET SOCKET
-- #define XMLRPC_HAVE_TIMEVAL 0
-- #define XMLRPC_HAVE_TIMESPEC 0
--#else
-- #define XMLRPC_SOCKET int
-- #define XMLRPC_HAVE_TIMEVAL 1
-- #define XMLRPC_HAVE_TIMESPEC 1
--#endif
--
--#if defined(_MSC_VER)
-- /* Newer MSVC has long long, but MSVC 6 does not */
-- #define XMLRPC_INT64 __int64
-- #define XMLRPC_INT32 __int32
--#else
-- #define XMLRPC_INT64 long long
-- #define XMLRPC_INT32 int
--#endif
--#endif
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/girerr.hpp b/libs/xmlrpc-c/include/xmlrpc-c/girerr.hpp
-index 1008722..62fd677 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/girerr.hpp
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/girerr.hpp
-@@ -4,11 +4,13 @@
- #include
- #include
-
-+#include
-+
- #define HAVE_GIRERR_ERROR
-
- namespace girerr {
-
--class error : public std::exception {
-+class XMLRPC_DLLEXPORT error : public std::exception {
- public:
- error(std::string const& what_arg) : _what(what_arg) {}
-
-@@ -23,8 +25,11 @@ private:
-
- // throwf() always throws a girerr::error .
-
-+XMLRPC_DLLEXPORT
- void
--throwf(const char * const format, ...);
-+throwf(const char * const format, ...)
-+ XMLRPC_PRINTF_ATTR(1,2)
-+ XMLRPC_NORETURN_ATTR;
-
- } // namespace
-
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/girmem.hpp b/libs/xmlrpc-c/include/xmlrpc-c/girmem.hpp
-index 2eed408..80ef8fc 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/girmem.hpp
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/girmem.hpp
-@@ -1,6 +1,8 @@
- #ifndef GIRMEM_HPP_INCLUDED
- #define GIRMEM_HPP_INCLUDED
-
-+#include
-+#include
-
- /* The following pthread crap mirrors what is in pthreadx.h, which is
- what girmem.cpp uses to declare the lock interface. We can't simply
-@@ -15,7 +17,7 @@
- a pthread_mutex_t member, and on Windows, there's no such type.
- */
-
--#ifndef WIN32
-+#if XMLRPC_HAVE_PTHREAD
- # include
- typedef pthread_mutex_t girmem_lock;
- #else
-@@ -25,9 +27,9 @@
-
- namespace girmem {
-
--class autoObjectPtr;
-+class XMLRPC_DLLEXPORT autoObjectPtr;
-
--class autoObject {
-+class XMLRPC_DLLEXPORT autoObject {
- friend class autoObjectPtr;
-
- public:
-@@ -43,7 +45,7 @@ private:
- unsigned int refcount;
- };
-
--class autoObjectPtr {
-+class XMLRPC_DLLEXPORT autoObjectPtr {
- public:
- autoObjectPtr();
- autoObjectPtr(girmem::autoObject * objectP);
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/inttypes.h b/libs/xmlrpc-c/include/xmlrpc-c/inttypes.h
-index fe1feb5..1e470e5 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/inttypes.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/inttypes.h
-@@ -9,6 +9,9 @@ typedef unsigned __int64 xmlrpc_uint64_t;
-
- #else
- #include
-+#ifdef __INTERIX
-+# include
-+#endif
-
- typedef uint16_t xmlrpc_uint16_t;
- typedef uint32_t xmlrpc_uint32_t;
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/json.h b/libs/xmlrpc-c/include/xmlrpc-c/json.h
-new file mode 100644
-index 0000000..d7b8453
---- /dev/null
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/json.h
-@@ -0,0 +1,39 @@
-+#ifndef XMLRPC_JSON_H_INCLUDED
-+#define XMLRPC_JSON_H_INCLUDED
-+
-+#include
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif /* __cplusplus */
-+
-+/*
-+ Parse a given string as JSON and return its value as an XML-RPC value
-+ object.
-+
-+ @param envP xmlrpc environment for error handling
-+ @param buf holds a pointer to a ziro terminated string
-+ @return the value generated or NULL (check error)
-+*/
-+xmlrpc_value *
-+xmlrpc_parse_json(xmlrpc_env * const envP,
-+ const char * const json);
-+
-+
-+/*
-+ Serialize an XML-RPC value object into JSON.
-+
-+ @param envP holds the xmlrpc execution environment
-+ @param valP holds the value to serialize
-+ @param out holds a mem block containing the result
-+*/
-+void
-+xmlrpc_serialize_json(xmlrpc_env * const envP,
-+ xmlrpc_value * const valP,
-+ xmlrpc_mem_block * const jsonP);
-+
-+#ifdef __cplusplus
-+}
-+#endif /* __cplusplus */
-+
-+#endif /* XMLRPC_JSON_H_INCLUDED */
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/oldcppwrapper.hpp b/libs/xmlrpc-c/include/xmlrpc-c/oldcppwrapper.hpp
-index 78a9c51..858fdd3 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/oldcppwrapper.hpp
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/oldcppwrapper.hpp
-@@ -27,17 +27,18 @@
-
- #include
- #include
-+
-+#include
- #include
- #include
- #include
-
--
- //=========================================================================
- // XmlRpcFault
- //=========================================================================
- // A C++ exception class representing an XML-RPC fault.
-
--class XmlRpcFault {
-+class XMLRPC_DLLEXPORT XmlRpcFault {
-
- private:
- xmlrpc_env mFault;
-@@ -51,9 +52,9 @@ public:
- XmlRpcFault (const xmlrpc_env *env);
- ~XmlRpcFault (void);
-
-- int getFaultCode (void) const;
-- std::string getFaultString (void) const;
-- xmlrpc_env *getFaultEnv (void);
-+ inline int getFaultCode (void) const;
-+ std::string getFaultString (void) const;
-+ inline xmlrpc_env * getFaultEnv (void);
- };
-
- inline int XmlRpcFault::getFaultCode (void) const {
-@@ -74,7 +75,7 @@ inline xmlrpc_env *XmlRpcFault::getFaultEnv (void) {
- // xmlrpc_parse_value(env, v, "(i)", &i);
- // env.throwIfFaultOccurred();
-
--class XmlRpcEnv {
-+class XMLRPC_DLLEXPORT XmlRpcEnv {
-
- private:
- xmlrpc_env mEnv;
-@@ -128,7 +129,7 @@ inline void XmlRpcEnv::throwIfFaultOccurred (void) const {
- //
- // So reference counting for the xmlrpc_value is quite a nightmare.
-
--class XmlRpcValue {
-+class XMLRPC_DLLEXPORT XmlRpcValue {
-
- private:
- xmlrpc_value *mValue;
-@@ -257,7 +258,7 @@ inline xmlrpc_value *XmlRpcValue::borrowReference (void) const {
- // XmlRpcClient
- //=========================================================================
-
--class XmlRpcClient {
-+class XMLRPC_DLLEXPORT XmlRpcClient {
-
- private:
- std::string mServerUrl;
-@@ -344,7 +345,7 @@ inline XmlRpcValue XmlRpcClient::call (std::string method_name,
- // XmlRpcGenSrv
- //=========================================================================
-
--class XmlRpcGenSrv {
-+class XMLRPC_DLLEXPORT XmlRpcGenSrv {
-
- private:
-
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/packetsocket.hpp b/libs/xmlrpc-c/include/xmlrpc-c/packetsocket.hpp
-index 64b7221..2ad7a46 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/packetsocket.hpp
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/packetsocket.hpp
-@@ -15,20 +15,21 @@
- #include
- #include
-
-+#include
- #include
-
- namespace xmlrpc_c {
-
--class packet : public girmem::autoObject {
-+class XMLRPC_DLLEXPORT packet : public girmem::autoObject {
-
- public:
- packet();
-
- packet(const unsigned char * const data,
-- size_t const dataLength);
-+ size_t const dataLength);
-
- packet(const char * const data,
-- size_t const dataLength);
-+ size_t const dataLength);
-
- ~packet();
-
-@@ -54,7 +55,7 @@ private:
-
-
-
--class packetPtr: public girmem::autoObjectPtr {
-+class XMLRPC_DLLEXPORT packetPtr: public girmem::autoObjectPtr {
-
- public:
- packetPtr();
-@@ -67,7 +68,9 @@ public:
-
-
-
--class packetSocket {
-+class XMLRPC_DLLEXPORT packetSocket_impl;
-+
-+class XMLRPC_DLLEXPORT packetSocket {
- /*----------------------------------------------------------------------------
- This is an Internet communication vehicle that transmits individual
- variable-length packets of text.
-@@ -106,56 +109,7 @@ public:
- packetPtr * const packetPP);
-
- private:
-- int sockFd;
-- // The kernel stream socket we use.
-- bool eof;
-- // The packet socket is at end-of-file for reads.
-- // 'readBuffer' is empty and there won't be any more data to fill
-- // it because the underlying stream socket is closed.
-- std::queue readBuffer;
-- packetPtr packetAccumP;
-- // The receive packet we're currently accumulating; it will join
-- // 'readBuffer' when we've received the whole packet (and we've
-- // seen the END escape sequence so we know we've received it all).
-- // If we're not currently accumulating a packet (haven't seen a
-- // PKT escape sequence), this points to nothing.
-- bool inEscapeSeq;
-- // In our trek through the data read from the underlying stream
-- // socket, we are after an ESC character and before the end of the
-- // escape sequence. 'escAccum' shows what of the escape sequence
-- // we've seen so far.
-- bool inPacket;
-- // We're now receiving packet data from the underlying stream
-- // socket. We've seen a complete PKT escape sequence, but have not
-- // seen a complete END escape sequence since.
-- struct {
-- unsigned char bytes[3];
-- size_t len;
-- } escAccum;
--
-- void
-- bufferFinishedPacket();
--
-- void
-- takeSomeEscapeSeq(const unsigned char * const buffer,
-- size_t const length,
-- size_t * const bytesTakenP);
--
-- void
-- takeSomePacket(const unsigned char * const buffer,
-- size_t const length,
-- size_t * const bytesTakenP);
--
-- void
-- verifyNothingAccumulated();
--
-- void
-- processBytesRead(const unsigned char * const buffer,
-- size_t const bytesRead);
--
-- void
-- readFromFile();
--
-+ packetSocket_impl * implP;
- };
-
-
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/registry.hpp b/libs/xmlrpc-c/include/xmlrpc-c/registry.hpp
-index 1182b86..81db5b0 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/registry.hpp
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/registry.hpp
-@@ -1,10 +1,12 @@
- #ifndef REGISTRY_HPP_INCLUDED
- #define REGISTRY_HPP_INCLUDED
-
-+#include
- #include
- #include
- #include
-
-+#include
- #include
- #include
- #include
-@@ -12,7 +14,20 @@
- namespace xmlrpc_c {
-
-
--class method : public girmem::autoObject {
-+class XMLRPC_DLLEXPORT callInfo {
-+/*----------------------------------------------------------------------------
-+ Information about how an XML-RPC call arrived.
-+
-+ This base class carries no information; Servers that don't have any
-+ call information to provide might use this. Servers that do have call
-+ information to provide define a derived class of this that contains
-+ information pertinent to that kind of server.
-+-----------------------------------------------------------------------------*/
-+public:
-+ virtual ~callInfo() {}; // This makes it polymorphic
-+};
-+
-+class XMLRPC_DLLEXPORT method : public girmem::autoObject {
- /*----------------------------------------------------------------------------
- An XML-RPC method.
-
-@@ -68,7 +83,34 @@ protected:
- */
-
-
--class methodPtr : public girmem::autoObjectPtr {
-+class XMLRPC_DLLEXPORT method2 : public method {
-+/*----------------------------------------------------------------------------
-+ An XML-RPC method.
-+
-+ This base class is abstract. You can't create an object in it.
-+ Define a useful method with this as a base class, with an
-+ execute() method.
-+
-+ This differs from class 'method' in that the execute() method gets
-+ call information ('callInfo').
-+-----------------------------------------------------------------------------*/
-+public:
-+ method2();
-+
-+ virtual ~method2();
-+
-+ virtual void
-+ execute(xmlrpc_c::paramList const& paramList,
-+ const xmlrpc_c::callInfo * const callInfoP,
-+ xmlrpc_c::value * const resultP) = 0;
-+
-+ void
-+ execute(xmlrpc_c::paramList const& paramList,
-+ xmlrpc_c::value * const resultP);
-+
-+};
-+
-+class XMLRPC_DLLEXPORT methodPtr : public girmem::autoObjectPtr {
-
- public:
- methodPtr(xmlrpc_c::method * const methodP);
-@@ -77,7 +119,7 @@ public:
- operator->() const;
- };
-
--class defaultMethod : public girmem::autoObject {
-+class XMLRPC_DLLEXPORT defaultMethod : public girmem::autoObject {
-
- public:
- virtual ~defaultMethod();
-@@ -88,7 +130,7 @@ public:
- xmlrpc_c::value * const resultP) = 0;
- };
-
--class defaultMethodPtr : public girmem::autoObjectPtr {
-+class XMLRPC_DLLEXPORT defaultMethodPtr : public girmem::autoObjectPtr {
-
- public:
- defaultMethodPtr();
-@@ -102,9 +144,9 @@ public:
- get() const;
- };
-
-+struct registry_impl;
-
--
--class registry : public girmem::autoObject {
-+class XMLRPC_DLLEXPORT registry : public girmem::autoObject {
- /*----------------------------------------------------------------------------
- An Xmlrpc-c server method registry. An Xmlrpc-c server transport
- (e.g. an HTTP server) uses this object to process an incoming
-@@ -126,7 +168,7 @@ public:
- void
- disableIntrospection();
-
-- class shutdown {
-+ class XMLRPC_DLLEXPORT shutdown {
- public:
- virtual ~shutdown() = 0;
- virtual void
-@@ -141,36 +183,24 @@ public:
- setDialect(xmlrpc_dialect const dialect);
-
- void
-- processCall(std::string const& body,
-- std::string * const responseP) const;
-+ processCall(std::string const& callXml,
-+ std::string * const responseXmlP) const;
-
-- xmlrpc_registry *
-- c_registry() const;
-- /* This is meant to be private except to other objects in the
-- Xmlrpc-c library.
-- */
-+ void
-+ processCall(std::string const& callXml,
-+ const xmlrpc_c::callInfo * const callInfoP,
-+ std::string * const responseXmlP) const;
-+
-+ size_t
-+ maxStackSize() const;
-
- private:
-
-- xmlrpc_registry * c_registryP;
-- // Pointer to the C registry object we use to implement this
-- // object.
--
-- std::list methodList;
-- // This is a list of all the method objects (actually, pointers
-- // to them). But since the real registry is the C registry object,
-- // all this list is for is to maintain references to the objects
-- // to which the C registry points so that they continue to exist.
--
-- xmlrpc_c::defaultMethodPtr defaultMethodP;
-- // The real identifier of the default method is the C registry
-- // object; this member exists only to maintain a reference to the
-- // object to which the C registry points so that it will continue
-- // to exist.
-+ registry_impl * implP;
- };
-
-
--class registryPtr : public girmem::autoObjectPtr {
-+class XMLRPC_DLLEXPORT registryPtr : public girmem::autoObjectPtr {
-
- public:
- registryPtr();
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/select_int.h b/libs/xmlrpc-c/include/xmlrpc-c/select_int.h
-index 3b42a1d..7a43ec3 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/select_int.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/select_int.h
-@@ -1,11 +1,12 @@
- #ifndef SELECT_INT_H_INCLUDED
- #define SELECT_INT_H_INCLUDED
-
--#ifndef WIN32
-+#if HAVE_SYS_SELECT_H
- #include
- #endif
- #include
-
-+#include "xmlrpc-c/c_util.h"
- #include "xmlrpc-c/time_int.h"
- #ifdef WIN32
- #ifndef sigset_t
-@@ -13,6 +14,7 @@ typedef int sigset_t;
- #endif
- #endif
-
-+XMLRPC_DLLEXPORT
- int
- xmlrpc_pselect(int const n,
- fd_set * const readfdsP,
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/server.h b/libs/xmlrpc-c/include/xmlrpc-c/server.h
-index 70d4896..11256fe 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/server.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/server.h
-@@ -3,6 +3,7 @@
- #ifndef XMLRPC_SERVER_H_INCLUDED
- #define XMLRPC_SERVER_H_INCLUDED
-
-+#include
- #include
-
- #ifdef __cplusplus
-@@ -37,19 +38,32 @@ typedef xmlrpc_value *
- xmlrpc_value * const paramArrayP,
- void * const serverInfo);
-
-+/* These are for backward compatibility -- they can't be exported from a
-+ Windows DLL. xmlrpc_server_version() is preferred.
-+*/
- extern unsigned int const xmlrpc_server_version_major;
- extern unsigned int const xmlrpc_server_version_minor;
- extern unsigned int const xmlrpc_server_version_point;
-
-+XMLRPC_DLLEXPORT
-+void
-+xmlrpc_server_version(unsigned int * const majorP,
-+ unsigned int * const minorP,
-+ unsigned int * const pointP);
-+
-+XMLRPC_DLLEXPORT
- xmlrpc_registry *
- xmlrpc_registry_new(xmlrpc_env * const envP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_registry_free(xmlrpc_registry * const registryP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_registry_disable_introspection(xmlrpc_registry * const registryP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_registry_add_method(xmlrpc_env * const envP,
- xmlrpc_registry * const registryP,
-@@ -58,6 +72,7 @@ xmlrpc_registry_add_method(xmlrpc_env * const envP,
- xmlrpc_method const method,
- void * const serverInfo);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_registry_add_method_w_doc(xmlrpc_env * const envP,
- xmlrpc_registry * const registryP,
-@@ -68,6 +83,7 @@ xmlrpc_registry_add_method_w_doc(xmlrpc_env * const envP,
- const char * const signatureString,
- const char * const help);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_registry_add_method2(xmlrpc_env * const envP,
- xmlrpc_registry * const registryP,
-@@ -77,12 +93,30 @@ xmlrpc_registry_add_method2(xmlrpc_env * const envP,
- const char * const help,
- void * const serverInfo);
-
-+struct xmlrpc_method_info3 {
-+ const char * methodName;
-+ xmlrpc_method2 methodFunction;
-+ void * serverInfo;
-+ size_t stackSize;
-+ const char * signatureString;
-+ const char * help;
-+};
-+
-+XMLRPC_DLLEXPORT
-+void
-+xmlrpc_registry_add_method3(
-+ xmlrpc_env * const envP,
-+ xmlrpc_registry * const registryP,
-+ const struct xmlrpc_method_info3 * const infoP);
-+
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_registry_set_default_method(xmlrpc_env * const envP,
- xmlrpc_registry * const registryP,
- xmlrpc_default_method const handler,
- void * const userData);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_registry_set_preinvoke_method(xmlrpc_env * const envP,
- xmlrpc_registry * const registryP,
-@@ -95,11 +129,13 @@ typedef void xmlrpc_server_shutdown_fn(xmlrpc_env * const envP,
- const char * const comment,
- void * const callInfo);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_registry_set_shutdown(xmlrpc_registry * const registryP,
- xmlrpc_server_shutdown_fn * const shutdownFn,
- void * const context);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_registry_set_dialect(xmlrpc_env * const envP,
- xmlrpc_registry * const registryP,
-@@ -109,6 +145,7 @@ xmlrpc_registry_set_dialect(xmlrpc_env * const envP,
- Lower interface -- services to be used by an HTTP request handler
- -----------------------------------------------------------------------------*/
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_registry_process_call2(xmlrpc_env * const envP,
- xmlrpc_registry * const registryP,
-@@ -117,6 +154,7 @@ xmlrpc_registry_process_call2(xmlrpc_env * const envP,
- void * const callInfo,
- xmlrpc_mem_block ** const outputPP);
-
-+XMLRPC_DLLEXPORT
- xmlrpc_mem_block *
- xmlrpc_registry_process_call(xmlrpc_env * const envP,
- xmlrpc_registry * const registryP,
-@@ -124,6 +162,10 @@ xmlrpc_registry_process_call(xmlrpc_env * const envP,
- const char * const xmlData,
- size_t const xmlLen);
-
-+XMLRPC_DLLEXPORT
-+size_t
-+xmlrpc_registry_max_stackSize(xmlrpc_registry * const registryP);
-+
- #ifdef __cplusplus
- }
- #endif
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/server_abyss.h b/libs/xmlrpc-c/include/xmlrpc-c/server_abyss.h
-index 975fa0e..36bcb11 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/server_abyss.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/server_abyss.h
-@@ -16,6 +16,7 @@
- #endif
-
- #include /* For XMLRPC_SOCKET */
-+#include
- #include
- #include
-
-@@ -33,9 +34,11 @@ extern "C" {
- ** of your program, when it is only one thread.
- **=======================================================================*/
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_abyss_global_init(xmlrpc_env * const envP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_abyss_global_term(void);
-
-@@ -68,6 +71,9 @@ typedef struct {
- const char * uri_path;
- xmlrpc_bool chunk_response;
- xmlrpc_bool enable_shutdown;
-+ const char * allow_origin;
-+ xmlrpc_bool access_ctl_expires;
-+ unsigned int access_ctl_max_age;
- } xmlrpc_server_abyss_parms;
-
-
-@@ -85,10 +91,11 @@ typedef struct {
- ** Simple server with Abyss under the covers
- **=======================================================================*/
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_abyss(xmlrpc_env * const envP,
- const xmlrpc_server_abyss_parms * const parms,
-- unsigned int const parm_size);
-+ unsigned int const parmSize);
-
- /*=========================================================================
- ** Object-oriented XML-RPC server with Abyss under the covers
-@@ -96,39 +103,47 @@ xmlrpc_server_abyss(xmlrpc_env * const envP,
-
- typedef struct xmlrpc_server_abyss xmlrpc_server_abyss_t;
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_abyss_create(xmlrpc_env * const envP,
- const xmlrpc_server_abyss_parms * const parmsP,
- unsigned int const parmSize,
- xmlrpc_server_abyss_t ** const serverPP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_abyss_destroy(xmlrpc_server_abyss_t * const serverP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_abyss_run_server(xmlrpc_env * const envP,
- xmlrpc_server_abyss_t * const serverP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_abyss_terminate(xmlrpc_env * const envP,
- xmlrpc_server_abyss_t * const serverP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_abyss_reset_terminate(xmlrpc_env * const envP,
- xmlrpc_server_abyss_t * const serverP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_abyss_use_sigchld(xmlrpc_server_abyss_t * const serverP);
-
-
- typedef struct xmlrpc_server_abyss_sig xmlrpc_server_abyss_sig;
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_abyss_setup_sig(
- xmlrpc_env * const envP,
- xmlrpc_server_abyss_t * const serverP,
- xmlrpc_server_abyss_sig ** const oldHandlersPP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_abyss_restore_sig(
- const xmlrpc_server_abyss_sig * const oldHandlersP);
-@@ -139,21 +154,78 @@ xmlrpc_server_abyss_restore_sig(
- ** Functions to make an XML-RPC server out of your own Abyss server
- **=======================================================================*/
-
-+typedef void
-+xmlrpc_call_processor(xmlrpc_env * const envP,
-+ void * const processorArg,
-+ const char * const callXml,
-+ size_t const callXmlLen,
-+ TSession * const abyssSessionP,
-+ xmlrpc_mem_block ** const responseXmlPP);
-+
-+typedef struct {
-+ xmlrpc_call_processor * xml_processor;
-+ void * xml_processor_arg;
-+ size_t xml_processor_max_stack;
-+ const char * uri_path;
-+ xmlrpc_bool chunk_response;
-+ const char * allow_origin;
-+ /* NULL means don't answer HTTP access control query */
-+ xmlrpc_bool access_ctl_expires;
-+ unsigned int access_ctl_max_age;
-+} xmlrpc_server_abyss_handler_parms;
-+
-+#define XMLRPC_AHPSIZE(MBRNAME) \
-+ XMLRPC_STRUCTSIZE(xmlrpc_server_abyss_handler_parms, MBRNAME)
-+
-+/* XMLRPC_AHPSIZE(xyz) is the minimum size a struct
-+ xmlrpc_server_abyss_handler_parms must be to include the 'xyz' member.
-+ This is essential to forward and backward compatibility, as new members
-+ will be added to the end of the struct in future releases. This is how the
-+ callee knows whether or not the caller is new enough to have supplied a
-+ certain parameter.
-+*/
-+
-+
-+XMLRPC_DLLEXPORT
-+void
-+xmlrpc_server_abyss_set_handler3(
-+ xmlrpc_env * const envP,
-+ TServer * const srvP,
-+ const xmlrpc_server_abyss_handler_parms * const parms,
-+ unsigned int const parmSize);
-+
-+XMLRPC_DLLEXPORT
-+void
-+xmlrpc_server_abyss_set_handler2(
-+ TServer * const srvP,
-+ const char * const uriPath,
-+ xmlrpc_call_processor xmlProcessor,
-+ void * const xmlProcessorArg,
-+ size_t const xmlProcessorMaxStackSize,
-+ xmlrpc_bool const chunkResponse);
-+
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_abyss_set_handlers2(TServer * const srvP,
- const char * const filename,
- xmlrpc_registry * const registryP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_abyss_set_handlers(TServer * const serverP,
- xmlrpc_registry * const registryP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_abyss_set_handler(xmlrpc_env * const envP,
- TServer * const serverP,
- const char * const filename,
- xmlrpc_registry * const registryP);
-
-+XMLRPC_DLLEXPORT
-+void
-+xmlrpc_server_abyss_set_default_handler(TServer * const serverP);
-+
- /*=========================================================================
- ** Handy Abyss Extensions
- **=======================================================================*/
-@@ -171,6 +243,7 @@ xmlrpc_server_abyss_set_handler(xmlrpc_env * const envP,
- ** Once you call this routine, it is illegal to modify the server any
- ** more, including changing any method registry.
- */
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_abyss_run(void);
-
-@@ -180,6 +253,7 @@ xmlrpc_server_abyss_run(void);
- ** function. 'runfirstArg' is the argument the server passes to the runfirst
- ** function.
- **/
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_abyss_run_first(runfirstFn const runfirst,
- void * const runfirstArg);
-@@ -200,29 +274,34 @@ xmlrpc_server_abyss_run_first(runfirstFn const runfirst,
- ** Or use a regular method registry and call
- ** xmlrpc_server_abyss_set_handlers().
- **/
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_abyss_init(int const flags,
- const char * const config_file);
-
- /* This is called automatically by xmlrpc_server_abyss_init. */
-+XMLRPC_DLLEXPORT
- void xmlrpc_server_abyss_init_registry (void);
-
- /* Fetch the internal registry, if you happen to need it.
- If you're using this, you really shouldn't be using the built-in
- registry at all. It exists today only for backward compatibilty.
- */
-+XMLRPC_DLLEXPORT
- extern xmlrpc_registry *
- xmlrpc_server_abyss_registry (void);
-
- /* A quick & easy shorthand for adding a method. Depending on
- ** how you've configured your copy of Abyss, it's probably not safe to
- ** call this method after calling xmlrpc_server_abyss_run. */
-+XMLRPC_DLLEXPORT
- void xmlrpc_server_abyss_add_method (char * const method_name,
- xmlrpc_method const method,
- void * const user_data);
-
- /* As above, but provide documentation (see xmlrpc_registry_add_method_w_doc
- ** for more information). You should really use this one. */
-+XMLRPC_DLLEXPORT
- extern void
- xmlrpc_server_abyss_add_method_w_doc (char * const method_name,
- xmlrpc_method const method,
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/server_abyss.hpp b/libs/xmlrpc-c/include/xmlrpc-c/server_abyss.hpp
-index 1ff9043..44636f9 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/server_abyss.hpp
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/server_abyss.hpp
-@@ -5,18 +5,25 @@
- #include // For XMLRPC_SOCKET (= SOCKET)
- #endif
-
--#include "xmlrpc-c/config.h" // For XMLRPC_SOCKET
--#include "xmlrpc-c/base.hpp"
--#include "abyss.h"
-+#include // For XMLRPC_SOCKET
-+#include
-+#include
-+#include
-+#include
-
- namespace xmlrpc_c {
-
--class serverAbyss {
-+struct serverAbyss_impl;
-+
-+class XMLRPC_DLLEXPORT serverAbyss {
-
- public:
-- class constrOpt {
-+ struct constrOpt_impl;
-+
-+ class XMLRPC_DLLEXPORT constrOpt {
- public:
- constrOpt();
-+ ~constrOpt();
-
- constrOpt & registryPtr (xmlrpc_c::registryPtr const& arg);
- constrOpt & registryP (const xmlrpc_c::registry * const& arg);
-@@ -29,33 +36,14 @@ public:
- constrOpt & dontAdvertise (bool const& arg);
- constrOpt & uriPath (std::string const& arg);
- constrOpt & chunkResponse (bool const& arg);
-+ constrOpt & allowOrigin (std::string const& arg);
-+ constrOpt & accessCtlMaxAge (unsigned int const& arg);
-+ constrOpt & serverOwnsSignals (bool const& arg);
-+ constrOpt & expectSigchld (bool const& arg);
-
-- struct value {
-- xmlrpc_c::registryPtr registryPtr;
-- const xmlrpc_c::registry * registryP;
-- XMLRPC_SOCKET socketFd;
-- unsigned int portNumber;
-- std::string logFileName;
-- unsigned int keepaliveTimeout;
-- unsigned int keepaliveMaxConn;
-- unsigned int timeout;
-- bool dontAdvertise;
-- std::string uriPath;
-- bool chunkResponse;
-- } value;
-- struct {
-- bool registryPtr;
-- bool registryP;
-- bool socketFd;
-- bool portNumber;
-- bool logFileName;
-- bool keepaliveTimeout;
-- bool keepaliveMaxConn;
-- bool timeout;
-- bool dontAdvertise;
-- bool uriPath;
-- bool chunkResponse;
-- } present;
-+ private:
-+ struct constrOpt_impl * implP;
-+ friend class serverAbyss;
- };
-
- serverAbyss(constrOpt const& opt);
-@@ -82,10 +70,15 @@ public:
- void
- runConn(int const socketFd);
-
-+#ifndef WIN32
-+ void
-+ sigchld(pid_t pid);
-+#endif
-+
- void
- terminate();
-
-- class shutdown : public xmlrpc_c::registry::shutdown {
-+ class XMLRPC_DLLEXPORT shutdown : public xmlrpc_c::registry::shutdown {
- public:
- shutdown(xmlrpc_c::serverAbyss * const severAbyssP);
- virtual ~shutdown();
-@@ -95,35 +88,64 @@ public:
- };
-
- private:
-- // The user has the choice of supplying the registry by plain pointer
-- // (and managing the object's existence himself) or by autoObjectPtr
-- // (with automatic management). 'registryPtr' exists here only to
-- // maintain a reference count in the case that the user supplied an
-- // autoObjectPtr. The object doesn't reference the C++ registry
-- // object except during construction, because the C registry is the
-- // real registry.
-- xmlrpc_c::registryPtr registryPtr;
-
-- TServer cServer;
--
-- void
-- setAdditionalServerParms(constrOpt const& opt);
-+ serverAbyss_impl * implP;
-
- void
- initialize(constrOpt const& opt);
- };
-
-+class XMLRPC_DLLEXPORT callInfo_serverAbyss : public xmlrpc_c::callInfo {
-+/*----------------------------------------------------------------------------
-+ This is information about how an XML-RPC call arrived via an Abyss server.
-+ It is available to the user's XML-RPC method execute() method, so for
-+ example an XML-RPC method might execute differently depending upon the
-+ IP address of the client.
-+
-+ This is for a user of a xmlrpc_c::serverAbyss server.
-+-----------------------------------------------------------------------------*/
-+public:
-+ callInfo_serverAbyss(xmlrpc_c::serverAbyss * const abyssServerP,
-+ TSession * const abyssSessionP);
-+
-+ xmlrpc_c::serverAbyss * const serverAbyssP;
-+ // The server that is processing the RPC.
-+ TSession * const abyssSessionP;
-+ // The HTTP transaction that embodies the RPC. You can ask this
-+ // object things like what the IP address of the client is.
-+};
-+
-+class XMLRPC_DLLEXPORT callInfo_abyss : public xmlrpc_c::callInfo {
-+/*----------------------------------------------------------------------------
-+ This is information about how an XML-RPC call arrived via an Abyss server.
-+ It is available to the user's XML-RPC method execute() method, so for
-+ example an XML-RPC method might execute differently depending upon the
-+ IP address of the client.
-+
-+ This is for a user with his own Abyss server, using
-+ the "set_handlers" routines to make it into an XML-RPC server.
-+-----------------------------------------------------------------------------*/
-+public:
-+ callInfo_abyss(TSession * const abyssSessionP);
-+
-+ TSession * abyssSessionP;
-+ // The HTTP transaction that embodies the RPC. You can ask this
-+ // object things like what the IP address of the client is.
-+};
-
-+XMLRPC_DLLEXPORT
- void
- server_abyss_set_handlers(TServer * const srvP,
- xmlrpc_c::registry const& registry,
- std::string const& uriPath = "/RPC2");
-
-+XMLRPC_DLLEXPORT
- void
- server_abyss_set_handlers(TServer * const srvP,
- const xmlrpc_c::registry * const registryP,
- std::string const& uriPath = "/RPC2");
-
-+XMLRPC_DLLEXPORT
- void
- server_abyss_set_handlers(TServer * const srvP,
- xmlrpc_c::registryPtr const registryPtr,
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/server_cgi.h b/libs/xmlrpc-c/include/xmlrpc-c/server_cgi.h
-index ad926aa..e43b9e7 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/server_cgi.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/server_cgi.h
-@@ -6,38 +6,45 @@
- #ifndef XMLRPC_CGI_H_INCLUDED
- #define XMLRPC_CGI_H_INCLUDED
-
-+#include
- #include
-
- #ifdef __cplusplus
- extern "C" {
- #endif /* __cplusplus */
-
--
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_cgi_process_call(xmlrpc_registry * const registryP);
-
- #define XMLRPC_CGI_NO_FLAGS (0)
-
-+XMLRPC_DLLEXPORT
- extern void
--xmlrpc_cgi_init (int flags);
-+xmlrpc_cgi_init(int const flags);
-
-+XMLRPC_DLLEXPORT
- extern xmlrpc_registry *
- xmlrpc_cgi_registry (void);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_cgi_add_method(const char * const method_name,
- xmlrpc_method const method,
- void * const user_data);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_cgi_add_method_w_doc(const char * const method_name,
- xmlrpc_method const method,
- void * const user_data,
- const char * const signature,
- const char * const help);
-+XMLRPC_DLLEXPORT
- extern void
- xmlrpc_cgi_process_call (void);
-
-+XMLRPC_DLLEXPORT
- extern void
- xmlrpc_cgi_cleanup (void);
-
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/server_cgi.hpp b/libs/xmlrpc-c/include/xmlrpc-c/server_cgi.hpp
-new file mode 100644
-index 0000000..a030ee5
---- /dev/null
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/server_cgi.hpp
-@@ -0,0 +1,45 @@
-+#ifndef SERVER_CGI_HPP_INCLUDED
-+#define SERVER_CGI_HPP_INCLUDED
-+
-+#include
-+#include
-+
-+namespace xmlrpc_c {
-+
-+class XMLRPC_DLLEXPORT serverCgi {
-+
-+public:
-+
-+ class XMLRPC_DLLEXPORT constrOpt {
-+ public:
-+ constrOpt();
-+
-+ constrOpt & registryPtr (xmlrpc_c::registryPtr const& arg);
-+ constrOpt & registryP (const xmlrpc_c::registry * const& arg);
-+
-+ struct value {
-+ xmlrpc_c::registryPtr registryPtr;
-+ const xmlrpc_c::registry * registryP;
-+ } value;
-+ struct {
-+ bool registryPtr;
-+ bool registryP;
-+ } present;
-+ };
-+
-+ serverCgi(constrOpt const& opt);
-+
-+ ~serverCgi();
-+
-+ void
-+ processCall();
-+
-+private:
-+
-+ struct serverCgi_impl * implP;
-+};
-+
-+
-+} // namespace
-+
-+#endif
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/server_pstream.hpp b/libs/xmlrpc-c/include/xmlrpc-c/server_pstream.hpp
-index b542532..c365f9a 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/server_pstream.hpp
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/server_pstream.hpp
-@@ -3,36 +3,36 @@
-
- #ifdef WIN32
- #include /* For XMLRPC_SOCKET (= SOCKET) */
-+typedef int socklen_t;
-+#else
-+#include
- #endif
-
- #include /* For XMLRPC_SOCKET */
-+#include
- #include
- #include
-
- namespace xmlrpc_c {
-
--class serverPstreamConn {
-+class XMLRPC_DLLEXPORT serverPstreamConn {
-
- public:
-
-- class constrOpt {
-+ struct constrOpt_impl;
-+
-+ class XMLRPC_DLLEXPORT constrOpt {
- public:
- constrOpt();
-+ ~constrOpt();
-
- constrOpt & registryPtr (xmlrpc_c::registryPtr const& arg);
- constrOpt & registryP (const xmlrpc_c::registry * const& arg);
- constrOpt & socketFd (XMLRPC_SOCKET const& arg);
-
-- struct value {
-- xmlrpc_c::registryPtr registryPtr;
-- const xmlrpc_c::registry * registryP;
-- XMLRPC_SOCKET socketFd;
-- } value;
-- struct {
-- bool registryPtr;
-- bool registryP;
-- bool socketFd;
-- } present;
-+ private:
-+ struct constrOpt_impl * implP;
-+ friend class serverPstreamConn;
- };
-
- serverPstreamConn(constrOpt const& opt);
-@@ -40,33 +40,122 @@ public:
- ~serverPstreamConn();
-
- void
-+ runOnce(xmlrpc_c::callInfo * const callInfoP,
-+ volatile const int * const interruptP,
-+ bool * const eofP);
-+
-+ void
- runOnce(volatile const int * const interruptP,
- bool * const eofP);
-
- void
- runOnce(bool * const eofP);
-
-+ void
-+ runOnceNoWait(callInfo * const callInfoP,
-+ bool * const eofP,
-+ bool * const didOneP);
-+
-+ void
-+ runOnceNoWait(bool * const eofP,
-+ bool * const didOneP);
-+
-+ void
-+ runOnceNoWait(bool * const eofP);
-+
-+ void
-+ run(xmlrpc_c::callInfo * const callInfoP,
-+ volatile const int * const interruptP);
-+
-+ void
-+ run(volatile const int * const interruptP);
-+
-+ void
-+ run();
-+
- private:
-+ struct serverPstreamConn_impl * implP;
-+};
-
-- // 'registryP' is what we actually use; 'registryHolder' just holds a
-- // reference to 'registryP' so the registry doesn't disappear while
-- // this server exists. But note that if the creator doesn't supply
-- // a registryPtr, 'registryHolder' is just a placeholder variable and
-- // the creator is responsible for making sure the registry doesn't
-- // go anywhere while the server exists.
-
-- registryPtr registryHolder;
-- const registry * registryP;
-+class XMLRPC_DLLEXPORT serverPstream {
-
-- packetSocket * packetSocketP;
-- // The packet socket over which we received RPCs.
-- // This is permanently connected to our fixed client.
-+public:
-+
-+ struct constrOpt_impl;
-+
-+ class XMLRPC_DLLEXPORT constrOpt {
-+ public:
-+ constrOpt();
-+ ~constrOpt();
-+
-+ constrOpt & registryPtr (xmlrpc_c::registryPtr const& arg);
-+ constrOpt & registryP (const xmlrpc_c::registry * const& arg);
-+ constrOpt & socketFd (XMLRPC_SOCKET const& arg);
-+
-+ private:
-+ struct constrOpt_impl * implP;
-+ friend class serverPstream;
-+ };
-+
-+ serverPstream(constrOpt const& opt);
-+
-+ virtual ~serverPstream(); // This makes it polymorphic
-
- void
-- establishRegistry(constrOpt const& opt);
-+ runSerial(volatile const int * const interruptP);
-
- void
-- establishPacketSocket(constrOpt const& opt);
-+ runSerial();
-+
-+ void
-+ terminate();
-+
-+ class shutdown : public xmlrpc_c::registry::shutdown {
-+ public:
-+ shutdown(xmlrpc_c::serverPstream * const severAbyssP);
-+ virtual ~shutdown();
-+ void doit(std::string const& comment, void * const callInfo) const;
-+ private:
-+ xmlrpc_c::serverPstream * const serverPstreamP;
-+ };
-+
-+private:
-+ struct serverPstream_impl * implP;
-+};
-+
-+// Note: there is no xmlrpc_c::callInfo_serverPstreamConn . That's
-+// because the serverPstreamConn server is so low-level that the user
-+// defines his own derived class of xmlrpc_c::callInfo. He creates an
-+// object of that class and passes it to the 'runOnce' method. The
-+// server then passes it on through to the user's XML-RPC method
-+// execute() method.
-+
-+class XMLRPC_DLLEXPORT callInfo_serverPstream : public xmlrpc_c::callInfo {
-+/*----------------------------------------------------------------------------
-+ This is information about how an XML-RPC call arrived to the server. It is
-+ available to the user's XML-RPC method execute() method, so for example an
-+ XML-RPC method might execute differently depending upon the IP address of
-+ the client.
-+
-+ This is for a user of a xmlrpc_c::serverPstream server.
-+-----------------------------------------------------------------------------*/
-+public:
-+ callInfo_serverPstream(
-+ xmlrpc_c::serverPstream * const serverP,
-+ struct sockaddr const clientAddr,
-+ socklen_t const clientAddrSize);
-+
-+ xmlrpc_c::serverPstream * const serverP;
-+ // The server that is processing the RPC.
-+ struct sockaddr const clientAddr;
-+ // The address (typically, IP address and TCP port) of the XML-RPC
-+ // client. This is a Unix OS type.
-+ socklen_t const clientAddrSize;
-+ // Size in bytes of the valid part of 'clientAddr'. (Usually implied
-+ // by type of socket, as well as the address type member of
-+ // 'clientAddr', but here because it's technically part of the POSIX
-+ // socket interface).
- };
-
-
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/server_w32httpsys.h b/libs/xmlrpc-c/include/xmlrpc-c/server_w32httpsys.h
-index 085f6e3..4c054c0 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/server_w32httpsys.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/server_w32httpsys.h
-@@ -38,6 +38,7 @@
- #ifndef _XMLRPC_SERVER_HTTPSYS_H_
- #define _XMLRPC_SERVER_HTTPSYS_H_ 1
-
-+#include "c_util.h"
- #include "transport_config.h"
-
- #ifdef __cplusplus
-@@ -81,6 +82,7 @@ typedef struct {
- not the caller is new enough to have supplied a certain parameter.
- */
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_server_httpsys(
- xmlrpc_env * const envP,
-@@ -92,4 +94,4 @@ xmlrpc_server_httpsys(
- }
- #endif /* __cplusplus */
-
--#endif
-\ No newline at end of file
-+#endif
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/sleep_int.h b/libs/xmlrpc-c/include/xmlrpc-c/sleep_int.h
-index be18e8f..369fd24 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/sleep_int.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/sleep_int.h
-@@ -1,7 +1,18 @@
- #ifndef SLEEP_INT_H_INCLUDED
- #define SLEEP_INT_H_INCLUDED
-
-+#include "xmlrpc-c/c_util.h"
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_millisecond_sleep(unsigned int const milliseconds);
-
-+#ifdef __cplusplus
-+}
-+#endif
-+
- #endif
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/string_int.h b/libs/xmlrpc-c/include/xmlrpc-c/string_int.h
-index fa787cb..04ac8c7 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/string_int.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/string_int.h
-@@ -13,22 +13,37 @@
- extern "C" {
- #endif
-
--extern const char * const xmlrpc_strsol;
-+XMLRPC_DLLEXPORT
-+bool
-+xmlrpc_strnomem(const char * const string);
-
-+XMLRPC_DLLEXPORT
-+const char *
-+xmlrpc_strnomemval(void);
-+
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_vasprintf(const char ** const retvalP,
- const char * const fmt,
- va_list varargs);
-
--void GNU_PRINTF_ATTR(2,3)
-+XMLRPC_DLLEXPORT
-+void XMLRPC_PRINTF_ATTR(2,3)
- xmlrpc_asprintf(const char ** const retvalP, const char * const fmt, ...);
-
-+XMLRPC_DLLEXPORT
- const char *
--xmlrpc_strdupnull(const char * const string);
-+xmlrpc_strdupsol(const char * const string);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_strfree(const char * const string);
-
-+XMLRPC_DLLEXPORT
-+const char *
-+xmlrpc_strdupnull(const char * const string);
-+
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_strfreenull(const char * const string);
-
-@@ -46,6 +61,11 @@ xmlrpc_memeq(const void * const a,
- return (memcmp(a, b, size) == 0);
- }
-
-+/* strcasecmp doesn't exist on some systems without _BSD_SOURCE, so
-+ xmlrpc_strcaseeq() can't either.
-+*/
-+#ifdef _BSD_SOURCE
-+
- static __inline__ bool
- xmlrpc_strcaseeq(const char * const a,
- const char * const b) {
-@@ -59,6 +79,7 @@ xmlrpc_strcaseeq(const char * const a,
- #error "This platform has no known case-independent string compare fn"
- #endif
- }
-+#endif
-
- static __inline__ bool
- xmlrpc_strneq(const char * const a,
-@@ -67,16 +88,42 @@ xmlrpc_strneq(const char * const a,
- return (strncmp(a, b, len) == 0);
- }
-
-+XMLRPC_DLLEXPORT
- const char *
- xmlrpc_makePrintable(const char * const input);
-
-+XMLRPC_DLLEXPORT
- const char *
- xmlrpc_makePrintable_lp(const char * const input,
- size_t const inputLength);
-
-+XMLRPC_DLLEXPORT
- const char *
- xmlrpc_makePrintableChar(char const input);
-
-+/*----------------------------------------------------------------*/
-+/* Standard string functions with destination array size checking */
-+/*----------------------------------------------------------------*/
-+#define STRSCPY(A,B) \
-+ (strncpy((A), (B), sizeof(A)), *((A)+sizeof(A)-1) = '\0')
-+#define STRSCMP(A,B) \
-+ (strncmp((A), (B), sizeof(A)))
-+#define STRSCAT(A,B) \
-+ (strncat((A), (B), sizeof(A)-strlen(A)), *((A)+sizeof(A)-1) = '\0')
-+
-+/* We could do this, but it works only in GNU C
-+#define SSPRINTF(TARGET, REST...) \
-+ (snprintf(TARGET, sizeof(TARGET) , ## REST))
-+
-+Or this, but it works only in C99 compilers, which leaves out MSVC
-+before 2005 and can't handle the zero variable argument case except
-+by an MSVC extension:
-+
-+#define SSPRINTF(TARGET, ...) \
-+ (snprintf(TARGET, sizeof(TARGET) , __VA_ARGS__))
-+
-+*/
-+
- #ifdef __cplusplus
- }
- #endif
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/string_number.h b/libs/xmlrpc-c/include/xmlrpc-c/string_number.h
-new file mode 100644
-index 0000000..570a192
---- /dev/null
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/string_number.h
-@@ -0,0 +1,21 @@
-+#ifndef STRING_NUMBER_H_INCLUDED
-+#define STRING_NUMBER_H_INCLUDED
-+
-+#include
-+#include
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
-+XMLRPC_DLLEXPORT
-+void
-+xmlrpc_parse_int64(xmlrpc_env * const envP,
-+ const char * const str,
-+ xmlrpc_int64 * const i64P);
-+
-+#ifdef __cplusplus
-+}
-+#endif
-+
-+#endif
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/time_int.h b/libs/xmlrpc-c/include/xmlrpc-c/time_int.h
-index 4db4537..705f2c8 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/time_int.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/time_int.h
-@@ -16,18 +16,22 @@
- } xmlrpc_timespec;
- #endif
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_gettimeofday(xmlrpc_timespec * const todP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_timegm(const struct tm * const brokenTime,
- time_t * const timeValueP,
- const char ** const errorP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_localtime(time_t const datetime,
- struct tm * const tmP);
-
-+XMLRPC_DLLEXPORT
- void
- xmlrpc_gmtime(time_t const datetime,
- struct tm * const resultP);
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/timeout.hpp b/libs/xmlrpc-c/include/xmlrpc-c/timeout.hpp
-index ef347e5..1da4a2f 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/timeout.hpp
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/timeout.hpp
-@@ -1,13 +1,16 @@
- #ifndef XMLRPC_TIMEOUT_H_INCLUDED
- #define XMLRPC_TIMEOUT_H_INCLUDED
-
-+#include
-+
- namespace xmlrpc_c {
-
--struct timeout {
-+struct XMLRPC_DLLEXPORT timeout {
-
- timeout() : finite(false) {}
-
-- timeout(unsigned int const duration) : duration(duration) {}
-+ timeout(unsigned int const duration) :
-+ finite(true), duration(duration) {}
- // 'duration' is the timeout time in milliseconds
-
- bool finite;
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/transport.h b/libs/xmlrpc-c/include/xmlrpc-c/transport.h
-index 13d901f..be53e18 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/transport.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/transport.h
-@@ -38,12 +38,17 @@ typedef void (*xmlrpc_transport_asynch_complete)(
- xmlrpc_mem_block * const responseXmlP,
- xmlrpc_env const env);
-
-+typedef void (*xmlrpc_transport_progress)(
-+ struct xmlrpc_call_info * const callInfoP,
-+ struct xmlrpc_progress_data const data);
-+
- typedef void (*xmlrpc_transport_send_request)(
- xmlrpc_env * const envP,
- struct xmlrpc_client_transport * const clientTransportP,
- const xmlrpc_server_info * const serverP,
- xmlrpc_mem_block * const xmlP,
- xmlrpc_transport_asynch_complete complete,
-+ xmlrpc_transport_progress progress,
- struct xmlrpc_call_info * const callInfoP);
-
- typedef void (*xmlrpc_transport_call)(
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/transport_int.h b/libs/xmlrpc-c/include/xmlrpc-c/transport_int.h
-deleted file mode 100644
-index 80b92ca..0000000
---- a/libs/xmlrpc-c/include/xmlrpc-c/transport_int.h
-+++ /dev/null
-@@ -1,42 +0,0 @@
--/* Copyright information is at the end of the file */
--#ifndef XMLRPC_TRANSPORT_INT_H_INCLUDED
--#define XMLRPC_TRANSPORT_INT_H_INCLUDED
--
--#ifdef __cplusplus
--extern "C" {
--#endif
--
--#include "pthreadx.h" /* For threading helpers. */
--
--/*=========================================================================
--** Transport Helper Functions and declarations.
--**=========================================================================
--*/
--typedef struct _running_thread_info
--{
-- struct _running_thread_info * Next;
-- struct _running_thread_info * Last;
--
-- pthread_t _thread;
--} running_thread_info;
--
--
--/* list of running Async callback functions. */
--typedef struct _running_thread_list
--{
-- running_thread_info * AsyncThreadHead;
-- running_thread_info * AsyncThreadTail;
--} running_thread_list;
--
--/* MRB-WARNING: Only call when you have successfully
--** acquired the Lock/Unlock mutex! */
--void register_asynch_thread (running_thread_list *list, pthread_t *thread);
--
--/* MRB-WARNING: Only call when you have successfully
--** acquired the Lock/Unlock mutex! */
--void unregister_asynch_thread (running_thread_list *list, pthread_t *thread);
--
--
--#ifdef __cplusplus
--}
--#endif
-diff --git a/libs/xmlrpc-c/include/xmlrpc-c/util.h b/libs/xmlrpc-c/include/xmlrpc-c/util.h
-index 2cad286..3a6404d 100644
---- a/libs/xmlrpc-c/include/xmlrpc-c/util.h
-+++ b/libs/xmlrpc-c/include/xmlrpc-c/util.h
-@@ -4,7 +4,10 @@
-
- This is the interface to the libxmlrpc_util library, which contains
- utility routines that have nothing to do with XML-RPC. The library
-- exists because other Xmlrpc-c libraries use the utilities.
-+ exists primarily because other Xmlrpc-c libraries use the utilities,
-+ but the utilities are also documented for use by Xmlrpc-c users.
-+ For use by Xmlrpc-c users, they are considered to be part of the
-+ libxmlrpc library. libxmlrpc_util is a prerequisite of libxmlrpc.
-
- By Bryan Henderson, San Jose, CA 05.09.21.
-
-@@ -18,7 +21,7 @@
- #include
-
- #include