<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to patches</title><link>https://sourceforge.net/p/easysoap/patches/</link><description>Recent changes to patches</description><atom:link href="https://sourceforge.net/p/easysoap/patches/feed.rss" rel="self"/><language>en</language><lastBuildDate>Wed, 18 Aug 2010 21:50:28 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/easysoap/patches/feed.rss" rel="self" type="application/rss+xml"/><item><title>Bug fix for 2827039</title><link>https://sourceforge.net/p/easysoap/patches/20/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;We recently discovered an apparent memory leak in EasySoap.  We create and cache a SOAPProxy object and re-use it.  Every call to Execute() would leak the parsed XML stream from the previous invocation of Execute().  I tracked this down to the "pool" holding the xml snippets in the SOAPBody in SOAPResponse not being released.  All of the memory was properly released when the SOAPProxy was destroyed.&lt;/p&gt;
&lt;p&gt;Our bug find is very similar to #2827039, reported on 2009-07-25.&lt;/p&gt;
&lt;p&gt;I am attaching a fix against 0.6.0 (we have not updated to 0.8.0 yet).  I hope that it serves others well.&lt;/p&gt;
&lt;p&gt;Note: Our easysoap is a vendor branch in subversion.  The patch is against my own branch, not against any CVS revision hosted on source forge.  However, the patch should help anyone else trying to patch 0.8.0.  Basically, in SOAPProxy::Execute() you need to invoke "Reset()" on the "body" of the previous "response".  There is probably a better solution, but ours seems to work.&lt;/p&gt;
&lt;p&gt;ps- is this project being actively maintained anymore?&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dennis Jenkins</dc:creator><pubDate>Wed, 18 Aug 2010 21:50:28 -0000</pubDate><guid>https://sourceforge.netf48f8d662bfb275efb94fc9ead4df3f93df6019c</guid></item><item><title>Fix bug in Deserialising Unsigned Integers</title><link>https://sourceforge.net/p/easysoap/patches/19/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Unsigned integers are deserialised by a call to&lt;br /&gt;
sp_strtol which is a which returns a signed interger&lt;br /&gt;
(and will overflow with large unsigned integers).&lt;/p&gt;
&lt;p&gt;Added the function sp_strtoul (which is an exact copy&lt;br /&gt;
of sp_strtol really) and changed the unsigned interger&lt;br /&gt;
deserialisation code to call this instead.&lt;/p&gt;
&lt;p&gt;Note, I've not given this a great deal of testing.&lt;br /&gt;
Infact it may not work at all. And it has only been&lt;br /&gt;
tested on Linux (RH9).&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jamie McNaught</dc:creator><pubDate>Mon, 11 Oct 2004 23:13:02 -0000</pubDate><guid>https://sourceforge.netee0173251f4da008408d204a84acbb72c0043db7</guid></item><item><title>SOAPWinInetTransport, allows access to InternetSetOption()</title><link>https://sourceforge.net/p/easysoap/patches/18/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;This patch adds two methods to the SOAPWinInetTransport&lt;br /&gt;
class:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;bool&lt;/span&gt; &lt;span class="n"&gt;InternetSetOption&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;int&lt;/span&gt; &lt;span class="n"&gt;nHandle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;DWORD&lt;/span&gt; &lt;span class="n"&gt;dwOption&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;void *pBuffer, DWORD dwBufferLen);&lt;br /&gt;
    bool InternetQueryOption(int nHandle, DWORD dwOption,&lt;br /&gt;
void *pBuffer, DWORD *pdwBufferLen);&lt;/p&gt;
&lt;p&gt;These are almost pure wrappers around the WinInet&lt;br /&gt;
functions of the same name.  However, the "HINTERNET"&lt;br /&gt;
handles in the class are private, so that caller&lt;br /&gt;
specifies which handle they want by passing an&lt;br /&gt;
'nHandle' value of 0-3.  0 = NULL, 1 = m_hInternet, 2 =&lt;br /&gt;
m_hConnect, 3 = m_hRequest.  Anything else is an error.&lt;/p&gt;
&lt;p&gt;Please feel free to rewrite this code.  I added it&lt;br /&gt;
because I need to set a status call back using the&lt;br /&gt;
options: INTERNET_OPTION_CALLBACK and&lt;br /&gt;
INTERNET_OPTION_CONTEXT_VALUE.  For more information,&lt;br /&gt;
consult&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wininet/wininet/option_flags.asp" rel="nofollow"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wininet/wininet/option_flags.asp&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Please let me know if/when this patch (or something&lt;br /&gt;
like it) is merged into CVS.  Thank you very much.&lt;/p&gt;
&lt;p&gt;I release any copyright/whatever to the original author&lt;br /&gt;
of this package and the rest of the world. yadda yadda&lt;br /&gt;
yadda.&lt;/p&gt;
&lt;p&gt;Thanks for such a great C++ soap client.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dennis Jenkins</dc:creator><pubDate>Sat, 29 May 2004 16:45:42 -0000</pubDate><guid>https://sourceforge.net5cfb1dcc2785aeaf8d6f5d49a4a229cd057cbf84</guid></item><item><title>gzip support + error codes</title><link>https://sourceforge.net/p/easysoap/patches/17/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;There are patches together. sorry for that.&lt;br /&gt;
* Made gzip support optional (defining HAVE_LIBZ will&lt;br /&gt;
enable it otherwise it will be disabled)&lt;br /&gt;
* Updated buildconf.sh script&lt;br /&gt;
* Updated configure.in scirpt (so that gzip can be&lt;br /&gt;
enabled with "--with-zlib" option)&lt;br /&gt;
* Added support for SOPAExceptions to return not only&lt;br /&gt;
description but also error code, so it is easier to&lt;br /&gt;
identify errors&lt;/p&gt;
&lt;p&gt;that's all ;)&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 25 May 2004 18:09:58 -0000</pubDate><guid>https://sourceforge.net947f6cb5a3b885ac3c24ff6eb5a1cde18371ef20</guid></item><item><title>Updated 917561 patch (gzip support)</title><link>https://sourceforge.net/p/easysoap/patches/16/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;SOAP payload decompression using zlib with correct gzip&lt;br /&gt;
support. Actualy its updated 917561 patch. Diff with&lt;br /&gt;
CVS (24.05.2004).&lt;/p&gt;&lt;/div&gt;</description><pubDate>Mon, 24 May 2004 18:13:18 -0000</pubDate><guid>https://sourceforge.net0c6d01e48e686b3e6fa244cfac989d873b906bd6</guid></item><item><title>SOAP payload decompression using zlib</title><link>https://sourceforge.net/p/easysoap/patches/15/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;This patch allow easysoap to understand and &lt;br /&gt;
decompress compressed XML payloads. Need zlib.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sandro Tolaini</dc:creator><pubDate>Tue, 16 Mar 2004 20:01:12 -0000</pubDate><guid>https://sourceforge.net7ae8fa25f6202964c47c6d55d66503affa811d8a</guid></item><item><title>fix XMLParser explicit casts</title><link>https://sourceforge.net/p/easysoap/patches/14/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;This patch will fix bug#702998 (I had the same problem&lt;br /&gt;
when compiled EasySoap++ on HP-UX).&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Aivars Kalvans</dc:creator><pubDate>Wed, 04 Feb 2004 21:21:06 -0000</pubDate><guid>https://sourceforge.net078ff44bfb3ed337ce59e59d82ac8027837a1463</guid></item><item><title>Close WinInet handles as soon as possible</title><link>https://sourceforge.net/p/easysoap/patches/13/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;When using WinInet transport, EasySOAP doesn't close &lt;br /&gt;
the request handle until a new request is made. WinInet &lt;br /&gt;
library has a limit of 2 handles that can be keep opened &lt;br /&gt;
simultaneously, every new handle request will be &lt;br /&gt;
delayed until another handle is closed. This is very bad &lt;br /&gt;
when you create more than 2 SOAPProxy objects: after &lt;br /&gt;
the first two have done a call, the other proxy objects &lt;br /&gt;
will not be able to create a request handle.&lt;/p&gt;
&lt;p&gt;This patch closes the request handle as soon as &lt;br /&gt;
possible (i.e. after reading the reply payload).&lt;/p&gt;
&lt;p&gt;The patch also fixes a problem with empty SOAPAction &lt;br /&gt;
header (another patch was floating around for this).&lt;/p&gt;
&lt;p&gt;Please apply the patch before next release!&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sandro Tolaini</dc:creator><pubDate>Tue, 14 Oct 2003 09:59:05 -0000</pubDate><guid>https://sourceforge.netdc33bd3574074a99b23fe829d49864c66e81c1a2</guid></item><item><title>Set array item name</title><link>https://sourceforge.net/p/easysoap/patches/12/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;This patch allows you to set the name attribute of the&lt;br /&gt;
items in an array.  It adds a static string &amp;amp;quot;itemName&amp;amp;quot;&lt;br /&gt;
which is set to the compatible string &amp;amp;quot;item&amp;amp;quot;, which&lt;br /&gt;
emulates the existing behaviour.  Calling&lt;br /&gt;
SOAPArrayTypeTraits::setElementName(&amp;amp;quot;foo&amp;amp;quot;) will change&lt;br /&gt;
the name of all subsequent created array items to&lt;br /&gt;
&amp;amp;quot;foo&amp;amp;quot;.  setElementName returns a string of the previous&lt;br /&gt;
elementName.&lt;/p&gt;
&lt;p&gt;*** include/easysoap/SOAPTypeTraits.h   3 Feb 2003&lt;br /&gt;
17:08:09 -0000   1.1.1.1&lt;br /&gt;
--- include/easysoap/SOAPTypeTraits.h   3 Feb 2003&lt;br /&gt;
21:17:10 -0000   1.3&lt;br /&gt;
***************&lt;br /&gt;
*** 24,29 ****&lt;br /&gt;
--- 24,30 ----&lt;br /&gt;
#define&lt;br /&gt;
AFX_SOAPTYPETRAITS_H__C5FEAF2C_BF9D_4B2A_BA32_516712F68E78__INCLUDED_&lt;/p&gt;
&lt;p&gt;#include &amp;amp;lt;easysoap/SOAPBase64.h&amp;amp;gt;&lt;br /&gt;
+ #include &amp;amp;lt;string&amp;amp;gt;&lt;/p&gt;
&lt;p&gt;BEGIN_EASYSOAP_NAMESPACE&lt;/p&gt;
&lt;p&gt;***************&lt;br /&gt;
*** 241,248 ****&lt;br /&gt;
throw SOAPException(&amp;amp;quot;Invalid value for array&lt;br /&gt;
encoding tag '%s': %s&amp;amp;quot;,&lt;br /&gt;
(const char *)attr.GetName(), (const char&lt;br /&gt;
*)val.GetName());&lt;br /&gt;
}&lt;br /&gt;
! &lt;br /&gt;
public:&lt;br /&gt;
static void GetType(SOAPQName&amp;amp;amp; type)&lt;br /&gt;
{&lt;br /&gt;
type = SOAPEnc::Array;&lt;br /&gt;
--- 242,257 ----&lt;br /&gt;
throw SOAPException(&amp;amp;quot;Invalid value for array&lt;br /&gt;
encoding tag '%s': %s&amp;amp;quot;,&lt;br /&gt;
(const char *)attr.GetName(), (const char&lt;br /&gt;
*)val.GetName());&lt;br /&gt;
}&lt;br /&gt;
!     //Name used in array element encoding&lt;br /&gt;
!     static string elementName;&lt;br /&gt;
public:&lt;br /&gt;
+     //Set the name used in array element encoding&lt;br /&gt;
+     static string setElementName(string &amp;amp;amp;newElementName)&lt;br /&gt;
+     {&lt;br /&gt;
+         string oldElementName = elementName;&lt;br /&gt;
+         elementName = newElementName;&lt;br /&gt;
+         return(oldElementName);&lt;br /&gt;
+     }&lt;br /&gt;
static void GetType(SOAPQName&amp;amp;amp; type)&lt;br /&gt;
{&lt;br /&gt;
type = SOAPEnc::Array;&lt;br /&gt;
Index: src/SOAPTypeTraits.cpp&lt;br /&gt;
===================================================================&lt;br /&gt;
RCS file:&lt;br /&gt;
/vol/cvsroot/Systems/billing/src/soap/EasySoap/src/SOAPTypeTraits.cpp,v&lt;br /&gt;
retrieving revision 1.1.1.1&lt;br /&gt;
retrieving revision 1.2&lt;br /&gt;
diff -c -r1.1.1.1 -r1.2&lt;br /&gt;
*** src/SOAPTypeTraits.cpp  3 Feb 2003 17:08:09 -0000 &lt;br /&gt;
1.1.1.1&lt;br /&gt;
--- src/SOAPTypeTraits.cpp  3 Feb 2003 17:29:18 -0000   1.2&lt;br /&gt;
***************&lt;br /&gt;
*** 43,48 ****&lt;br /&gt;
--- 43,50 ----&lt;br /&gt;
#endif&lt;/p&gt;
&lt;p&gt;USING_EASYSOAP_NAMESPACE&lt;br /&gt;
+ &lt;br /&gt;
+ string SOAPArrayTypeTraits::elementName = &amp;amp;quot;item&amp;amp;quot;;&lt;/p&gt;
&lt;p&gt;static int&lt;br /&gt;
sp_strtol(const char *str)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Mon, 03 Feb 2003 21:27:49 -0000</pubDate><guid>https://sourceforge.net89a4ac540cab715ca452a73781e0eaf9edc33292</guid></item><item><title>Basic Authentication for Proxy</title><link>https://sourceforge.net/p/easysoap/patches/11/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Provides basic authentication for http proxies (that is&lt;br /&gt;
proxy not endpoint)&lt;/p&gt;
&lt;p&gt;minor additions to SOAPonHTTP.cpp and SOAPonHTTP.h&lt;/p&gt;
&lt;p&gt;Patch is against version 0.6.2&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Matthew R. Kasun</dc:creator><pubDate>Wed, 22 Jan 2003 19:20:46 -0000</pubDate><guid>https://sourceforge.net21561c2b7ff7104e1685a9424afaf73534074af7</guid></item></channel></rss>