forked from Mirrors/freeswitch
3abb7730b2
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3772 d0543943-73ff-0310-b7d9-9358b9ac24b2
454 lines
16 KiB
Plaintext
454 lines
16 KiB
Plaintext
(There is a detailed release-by-release change history after the
|
|
following overview).
|
|
|
|
XML-RPC For C/C++ was created by Eric Kidd in 2000, when XML-RPC was
|
|
new and vital. Its development was funded in significant part by
|
|
First Peer, Inc. Eric released the package in January 2001 and set up
|
|
an extensive project to maintain it. The project used virtually every
|
|
feature on Sourceforge, had about 8 official developers, and
|
|
distributed code in various formats. There were mailing lists,
|
|
trackers, CVS branches, RPMs, and a full PHP-based web site, just to
|
|
name a few features of the project.
|
|
|
|
Then everything ground to a halt in June 2001, with the disappearance
|
|
of Eric. We don't know what happened to him, but Google searches in
|
|
late 2004 indicated he dropped off the face of the web at that time.
|
|
While people continued to use Xmlrpc-c, and some developed fixes and
|
|
enhancements and posted them to the Sourceforge trackers, the release
|
|
remained frozen at 0.9.10. The web site also became frozen in time.
|
|
|
|
In the years that followed the great freeze, XML-RPC became
|
|
marginalized by more sophisticated alternatives such as SOAP. XML-RPC
|
|
consequently became rather stable and interest in Xmlrpc-c levelled
|
|
off.
|
|
|
|
This dark age of Xmlrpc-c lasted until November 2004, when Bryan Henderson
|
|
set out to find an RPC mechanism to use in one of his projects. Bryan
|
|
found XML-RPC and then Xmlrpc-c. He decided that the two were almost right
|
|
for his needs, but he needed some small extensions.
|
|
|
|
On finding out that the project was orphaned, Bryan decided to take it
|
|
over. Bryan became the Sourceforge project administrator through
|
|
Sourceforge's abandonned project process, then gathered the patches
|
|
that had been submitted over the years and made a come-back release
|
|
called 1.0.
|
|
|
|
Bryan then proceeded to add a lot of features in subsequent releases
|
|
about every two months. Most of it was code Bryan wrote himself, but
|
|
significant parts were contributed by others, as you can see in the
|
|
detailed history below. Among the larger enhancements was a new
|
|
C++ interface; the old one was a fairly weak wrapper around the
|
|
C interface and required the user to manage memory and access the
|
|
underlying C structures; the new one used pure C++ principles with
|
|
automatic memory management.
|
|
|
|
Bryan also wrote a complete user's manual. Surprisingly, in spite of
|
|
the wide array of features the project had, documentation wasn't one
|
|
of them. There was only a smattering of information available on how
|
|
to use the package.
|
|
|
|
One significant change Bryan made to the project was to strip it down
|
|
considerably. In order to concentrate the small amount of time Bryan
|
|
had available for Xmlrpc-c development on actual code and
|
|
documentation, Bryan had to greatly reduce the amount of bureaucracy
|
|
involved in administering the project and making releases, and reduce
|
|
the set of skills required to do it. Bryan made static make files
|
|
(for GNU Make) to replace the two extra build stages that originally
|
|
generated make files. Bryan moved away from Libtool and toward simple
|
|
compiling and linking. Bryan eliminated all pre-built distributions;
|
|
each of his releases consisted of a single source code tarball, and
|
|
that tarball was not signed. Bryan removed some redundant sources of
|
|
information from the package and the web site.
|
|
|
|
|
|
DETAILED RELEASE HISTORY:
|
|
|
|
|
|
(BJH means Bryan Henderson <bryanh@giraffe-data.com>)
|
|
(SAB means Steven A. Bone <sbone@pobox.com>)
|
|
|
|
1.03.14 - 06.04.15
|
|
|
|
*BJH: Fix int/size_t mismatch in xmlrpc_server_abyss.c (manifests on 64
|
|
bit systems).
|
|
|
|
1.03.13 - 06.04.05
|
|
|
|
*BJH: Fix build on system with no wchar_t.
|
|
|
|
*BJH: Abyss XML-RPC server accepts (ignores) parameters after
|
|
"text/xml" in Content-type header from client.
|
|
|
|
1.03.12 - 06.03.20
|
|
|
|
*BJH: Fix build of transport_config.h
|
|
|
|
*BJH: Remove tantalizing but broken RPM spec file.
|
|
|
|
*BJH: Remove casprintf.o from link of 'xmlrpc', 'xmlrpc_transport', because
|
|
it conflicts with the version in libxmlrpc_client.
|
|
|
|
*BJH: Change order of libraries in linking 'xml-rpc-api2cpp' to fix
|
|
undefined reference error.
|
|
|
|
1.03.11 - 06.01.25
|
|
|
|
*Mike Goddard: in Xmlrpc-c-config, allow libwww-client as synonym
|
|
for client, for backward compatibility.
|
|
|
|
*Daniel Dlab: Correct INTERNET_FLAG_IGNORE_CERT_DATE_INVALID to
|
|
ERROR_INTERNET_SEC_CERT_DATE_INVALID in Wininet transport.
|
|
|
|
*BJH: Fix memory leak in C++ client result value - one leak per RPC.
|
|
|
|
*BJH: Fix memory leak in C++ client - one leak per RPC.
|
|
|
|
*BJH: Fix signature in xmlrpc_sample_add_server C++ example program.
|
|
|
|
*BJH: Fix memory leak in xmlrpc_server_abyss_set_handler().
|
|
|
|
*BJH: Fix memory leak in server method registry -- one leak for each
|
|
RPC.
|
|
|
|
*BJH: Fix memory leak in wide character constructor functions.
|
|
|
|
1.03.10 - December 18, 2005
|
|
|
|
*BJH: Change default minimum on paramList::getDouble() from DBL_MIN
|
|
to -DBL_MAX.
|
|
|
|
1.03.09 - December 7, 2005
|
|
|
|
* BJH: Fix size_t/int type mismatch in xmlrpc_server_abyss.c.
|
|
|
|
* BJH: meerkat-app-list example program: remove NUL character from
|
|
time period parameter.
|
|
|
|
1.03.08 - November 23, 2005
|
|
|
|
* BJH: Fix use of uninitialized 'name' member in Abyss ServerCreate().
|
|
|
|
* BJH: Install client_simple.hpp interface header file.
|
|
|
|
* BJH: Fix bogus NULL default value for string argument in
|
|
serverAbyss constructor. Use null string instead
|
|
|
|
* BJH: Remove 'cpptest' from default make.
|
|
|
|
* Mike West:
|
|
Don't include tools/xmlrpc and tools/xmlrpc_transport
|
|
in the build if client library configured out.
|
|
|
|
1.03.07 - October 22, 2005
|
|
|
|
* BJH: Remove curl_global_cleanup() so that multiple simultaneous
|
|
Curl client XML transports per process are essentially
|
|
possible and they don't interfere with other process use of
|
|
Curl.
|
|
|
|
* BJH: Serialize access to synchronous Curl session in Curl client
|
|
XML transport (to avoid crashes with multiple threads).
|
|
|
|
* BJH: When installing legacy header symlinks, remove old names first.
|
|
|
|
1.03.06 - October 6, 2005
|
|
|
|
* BJH: Fix use of pthread_mutex_t in girmem.hpp so it can be used in
|
|
a Windows program.
|
|
|
|
* BJH: Don't include xml-rpc-api2cpp in the build with --disable-cpp.
|
|
|
|
* BJH: Fix bug in tools build, where it tries to link libxml2 instead
|
|
of expat.
|
|
|
|
* BJH: Add missing xmlrpc_config.h so lib/abyss/src/socket.h will
|
|
compile on Solaris.
|
|
|
|
1.03.05 - September 24, 2005
|
|
|
|
* BJH: Change int to long in XMLRPC_STRUCTSIZE to correct 64 bit
|
|
compile error.
|
|
|
|
* BJH: Add virtual destructor for client to quiet compiler warning.
|
|
|
|
* BJH: Don't try to build Abyss example programs if Abyss libraries not
|
|
built.
|
|
|
|
* BJH: Include <sys/filio.h> if it exists (i.e. Solaris).
|
|
|
|
* BJH: Include <stdlib.h> instead of <malloc.h>, which doesn't exist
|
|
in some environments.
|
|
|
|
1.03.04 - September 9, 2005
|
|
|
|
* BJH: Make Abyss work with short writes to sockets. Thanks
|
|
Alistair John Strachan <s0348365@sms.ed.ac.uk>.
|
|
|
|
* BJH: Remove unused SSPRINTF definition that won't compile on AIX
|
|
because it has variable arguments.
|
|
|
|
* BJH: Fix Curl transport bug: arbitrary values for SSL verify options.
|
|
|
|
1.03.03 - August 4, 2005
|
|
|
|
* SAB: Fix for Windows what broke between 1.02 and 1.03.
|
|
|
|
* SAB: Fix incorrect result of xmlrpc_read_string_w() (wrong-size memcpy()).
|
|
|
|
* BJH: Fix various things that don't compile on AIX.
|
|
|
|
* BJH: Fix bug: doesn't install libxmlrpc_abyss.
|
|
|
|
* BJH: Fix missing -l options in xmlrpc-c-config --client
|
|
|
|
1.03.02 - July 20, 2005
|
|
|
|
* BJH: Fix for bug in which Abyss doesn't build with either thread or
|
|
fork capability. (Add -D_UNIX and -D_THREAD compile options).
|
|
|
|
1.03.01 - July 9, 2005
|
|
|
|
* BJH: Fix for libxml2, no curl builds. make clean cleans test directory
|
|
|
|
1.03 - June 26, 2005
|
|
|
|
* BJH: new C++ libraries designed for pure C++ applications
|
|
(Application never sees the underlying C structures or reference
|
|
counts).
|
|
|
|
* BJH: Make Curl do cookies (session only) and persistent connections.
|
|
This is only for calls through the synchronous interface, and the
|
|
synchronous interface is no longer thread safe -- you can have only
|
|
one thread making calls through it.
|
|
|
|
* BJH: Add Curl SSL_NO_VERIFYPEER, SSL_NO_VERIFYHOST control.
|
|
|
|
* BJH: Add User-Agent to Curl transport, Xmlrpc program.
|
|
|
|
* BJH: libwww transport does not do the weird handling of the "auth"
|
|
cookie. It used to have a global cookie (one cookie shared by all
|
|
servers) called "auth", which it maintained in an environment
|
|
variable.
|
|
|
|
* BJH: interface header files renamed from xmlrpc_xxx to xmlrpc-c/xxx
|
|
(old names installed a symbolic links for backward compatibility).
|
|
|
|
* BJH: libxmlrpc_server_abyss: Add ability to set the /RPC2 handler
|
|
without also setting default handler, and to set handlers for files
|
|
other than /RPC2.
|
|
|
|
* BJH: libxmlrpc_server_abyss: Eliminate global variable for registry
|
|
handle.
|
|
|
|
* BJH: Abyss: allow user's request handlers to have context
|
|
(Add URIHandler2 type).
|
|
|
|
* BJH: Add xmlrpc_datetime_new_sec(), xmlrpc_read_datetime_sec().
|
|
|
|
* BJH: Builds on AIX - new __inline definition, uint32_t instead of uint32,
|
|
et al.
|
|
|
|
* BJH: Don't build client library if not building any client XML
|
|
transport.
|
|
|
|
* BJH: Fix bug: xmlrpc_serialize_base64_data() doesn't free working
|
|
storage.
|
|
|
|
* BJH: Fix mysterious disablement of forking Abyss (ServerRunForked()).
|
|
|
|
* BJH: Fix bug: 'make install' doesn't install libxmlrpc_xmltok.
|
|
|
|
* BJH: Renamed CGI stuff, add non-builtin-registry style of CGI server.
|
|
|
|
* BJH: Break up 'rpctest', rename to 'test'.
|
|
|
|
1.02 - April 4, 2005
|
|
|
|
* SAB: Win32 http.sys server: Add new project and sample as
|
|
an alternative to Abyss on current Win32 platforms. Does
|
|
basic authentication and SSL. Requires recent Platform SDK to
|
|
build.
|
|
|
|
* BJH: Add xmlrpc_int_new(), xmlrpc_read_int(), etc.,
|
|
xmlrpc_decompose_value()
|
|
|
|
* BJH: Add nil (<nil/>, XMLRPC_TYPE_NIL) capability.
|
|
|
|
* SAB: WinInet Transport: Add Ignore Invalid SSL certs option.
|
|
|
|
* BJH: Add 'network_interface' option to Curl transport.
|
|
|
|
* BJH: Add basic authentication to 'xmlrpc' program.
|
|
|
|
* BJH: Add 'xmlrpc_transport' tool.
|
|
|
|
* SAB: Improve use of libCurl in Win32. Add documentation
|
|
and alter some project and configuration files.
|
|
|
|
* BJH: Add transport-specific options.
|
|
|
|
* BJH: Use GNUmakefile to catch non-GNU make
|
|
|
|
* BJH: Fix usage message in xmlrpc-c-config.
|
|
|
|
* BJH: Curl transport: check for failure of Winsock startup.
|
|
|
|
* BJH: Fix memory leak in Curl - not freeing curlTransaction.
|
|
|
|
* SAB: WinInet Transport: Fix bad authentication header.
|
|
|
|
|
|
1.01 - January 8, 2005
|
|
|
|
* SAB: Windows works again; new build strategy.
|
|
|
|
* BJH: Abyss: Add ConnCreate2() with foreground capability.
|
|
|
|
* BJH: Abyss: Add ServerRunOnce2() with foreground capability.
|
|
|
|
* BJH: Abyss: Fix ServerRunOnce().
|
|
|
|
* BJH: Add xmlrpc_server_abyss().
|
|
|
|
* BJH: Abyss pthreads is default
|
|
|
|
* BJH: Clean up client transport multiplexor
|
|
|
|
* BJH: Separate out server registry stuff into new libxml_server.
|
|
|
|
* BJH: Examples/Makefile uses new xmlrpc-c-config.test so as to be a
|
|
better example.
|
|
|
|
* BJH: Fail when structure format specifier does not end in
|
|
"*" instead of just asserting that it does.
|
|
|
|
* BJH: Fail when structure format specifier is not closed by "}"
|
|
instead of just asserting that it is.
|
|
|
|
* BJH: Add xmlrpc_array_read_item().
|
|
|
|
1.00 - October 25, 2004
|
|
* New modular client XML transport structure. Curl and Wininet transports
|
|
(in addition to existing libwww).
|
|
* Bryan Henderson: create Makefile.config; make examples/ directory use
|
|
static make file.
|
|
* Bryan Henderson: replace Makefile.am with already built Makefile.in.
|
|
* Peter Astrand: make it compile with Gcc 3.1.1.
|
|
* Joe Shaw: Can use libxml2 instead of libexpat.
|
|
* Bernhard Herzog: const fixes
|
|
* Stephen Blackheath: ./configure support for building Abyss
|
|
with pthreads.
|
|
* Jeff Dubrule: Removed C++ comments from expat.
|
|
* Patrick Boykin: Facility to copy xmlrpc_server_info structs.
|
|
|
|
0.9.10 - Eric Kidd <eric.kidd@pobox.com> - 30 June 2001
|
|
|
|
* Man pages!
|
|
* Debian packages!
|
|
|
|
* Jeff Stewart: NT CGI fixes.
|
|
* Andy Maloney: Win32 xmlrpc_win32_config.h fixes.
|
|
* Mike Bytnar: Solaris build fixes. Thanks!
|
|
|
|
* No more 'CVS' directories lurking in the dist tarball.
|
|
* Disabled rpath stuff so we comply with Debian policy.
|
|
* wchar_t code can now be disabled.
|
|
* New interop server.
|
|
* Parts of an interop client.
|
|
* Lots of interop fixes.
|
|
* Other stuff.
|
|
|
|
0.9.9 - Eric Kidd <eric.kidd@pobox.com> - 03 April 2001
|
|
|
|
* xml-rpc-api2cpp now generates usable proxy classes.
|
|
* Luke Howard: Default method capability.
|
|
* Abstract XML parser API (but you'll need to edit makefiles to use it).
|
|
* Implemented a configurable size limit for XML data off the network.
|
|
|
|
* Ability to build and parse XML-RPC values using wchar_t strings.
|
|
* Basic UTF-8 handling: Refuse to process invalid UTF-8 from network,
|
|
print warnings when sending invalid UTF-8 *to* network.
|
|
* Highly robust UTF-8 validator, decoder, encoder.
|
|
|
|
* Modularized the build system--build only what you need.
|
|
* Integrated Electric Fence into build system (optional).
|
|
|
|
* Fixed all recent, reproducible bugs in CVS. These were generally
|
|
Windows build bugs.
|
|
* Andy Maloney: Build fixes for Windows.
|
|
* Mike Bytnar: Build fixes for Solaris.
|
|
* RedHat 7 warning fixes.
|
|
|
|
0.9.8 - Eric Kidd <eric.kidd@pobox.com> - 19 February 2001
|
|
|
|
* J. Alan Eldridge, Rosimildo daSIlva: Build fixes.
|
|
* Send 'encoding="UTF-8"' in XML prologue.
|
|
|
|
0.9.7 - Eric Kidd <eric.kidd@pobox.com> - 14 February 2001
|
|
|
|
* SECURITY: Configurable nesting limits (see advisory 1) to prevent
|
|
denial-of-service attacks and stack overflow.
|
|
* Win32 build fixes from Alex Olugbile.
|
|
* Function name fix from Luke Howard.
|
|
|
|
0.9.6w - Eric Kidd <eric.kidd@pobox.com> - 02 February 2001
|
|
|
|
* Merged Win32 VC/C++ changes from Alex and Ian.
|
|
* Merged Win32 Cygwin changes from Rosimildo daSilva
|
|
|
|
0.9.6 - Eric Kidd <eric.kidd@pobox.com> - 30 January 2001
|
|
|
|
* Fixed lots of gcc warnings.
|
|
* Added a new 'xmlrpc_server_info' class, which allows you to
|
|
set options on a per-server basis.
|
|
* HTTP Basic authentication.
|
|
* Added internal implementation of system.multicall, lots of brutal test
|
|
cases, and stubs for other system.* commands.
|
|
* Added APIs for accessing CGI and Abyss method registries.
|
|
* Implemented system.listMethods, system.methodHelp, system.methodSignature.
|
|
* Fixed stupid bug in parsing of "(ss*)"-style array descriptions
|
|
where there were no extra elements.
|
|
* Added highly experimental hacked copy of mod_gzip into the
|
|
tools/turbocharger directory. This version does gzip *and* deflate!
|
|
* Added xml-rpc-api2txt, since XML-RPC doesn't have any IDL language.
|
|
* Merged in Ilya Goldberg's libwww/SSL setup code.
|
|
|
|
0.9.5 - Eric Kidd <eric.kidd@pobox.com> - 20 January 2001
|
|
|
|
* Bug fix: Make sure CGI-based servers send correct content-length.
|
|
|
|
0.9.4 - Eric Kidd <eric.kidd@pobox.com> - 18 January 2001
|
|
|
|
* Services for CGI-based servers.
|
|
|
|
0.9.3 - Eric Kidd <eric.kidd@pobox.com> - 14 January 2001
|
|
|
|
* Works with Libwww 5.2.8, even when linked against expat.
|
|
* Added xmlrpc_value_type and XmlRpcValue::getType functions.
|
|
* Miscellaneous API tweaks to discourage writing of incorrect programs.
|
|
Should not affect any correct programs.
|
|
|
|
0.9.2 - Eric Kidd <eric.kidd@pobox.com> - 12 January 2001
|
|
|
|
* Improved error messages.
|
|
* Refuse to link against libwww if it was built with expat.
|
|
|
|
0.9.1 - Eric Kidd <eric.kidd@pobox.com> - 9 January 2001
|
|
|
|
* Integrated Rick Blair's fix to speed up libwww client.
|
|
* Added informative URLs to Meerkat example programs.
|
|
* Hid the implementation details of xmlrpc_value, just to keep
|
|
people honest. (No more dangerous allocation on the stack!)
|
|
* Minor C++ code cleanup after buying modern C++ books.
|
|
* Documentation improvements.
|
|
|
|
Some other contributions of unknown date:
|
|
|
|
Adrian Likins made lots of good, real-world suggestions for improvement.
|
|
|
|
Ian MacLean made patches from Alex's Windows port.
|
|
|
|
Brian Quinlan of the Active State company made lots of cool patches,
|
|
including preliminary wchar_t capability.
|
|
|