<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to bugs</title><link>https://sourceforge.net/p/libonion/bugs/</link><description>Recent changes to bugs</description><atom:link href="https://sourceforge.net/p/libonion/bugs/feed.rss" rel="self"/><language>en</language><lastBuildDate>Wed, 20 Apr 2005 08:11:00 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/libonion/bugs/feed.rss" rel="self" type="application/rss+xml"/><item><title>mistake in CDavSocket.cpp</title><link>https://sourceforge.net/p/libonion/bugs/2/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;There is a mistake in CDavSocket.cpp:337.&lt;/p&gt;
&lt;p&gt;The CDavSocket::connectSSL() method is currently&lt;br /&gt;
written the following:&lt;/p&gt;
&lt;p&gt;int nResult = SSL_connect(m_pSSL);&lt;br /&gt;
if(nResult != 1){&lt;br /&gt;
OI_DEBUG("Error connecting via SSL: %s\n",&lt;br /&gt;
ERR_reason_error_string(ERR_get_error()));&lt;br /&gt;
ERR_clear_error();&lt;br /&gt;
cleanupSSL();&lt;br /&gt;
cleanupSSLSession();&lt;/p&gt;
&lt;p&gt;if(nResult = 0) {               &amp;lt;--- Here(line 337)&lt;br /&gt;
/*handshake failed*/&lt;br /&gt;
return OIEEHANDSHAKEFAILED;&lt;br /&gt;
} else if(nResult &amp;lt; 0) {&lt;br /&gt;
/*fatal connection error*/&lt;br /&gt;
return OIEEFATALCONNERROR;&lt;br /&gt;
} else {&lt;br /&gt;
/*the impossible happened. openssl's problem*/&lt;br /&gt;
return OIEEGENERIC;&lt;br /&gt;
/*TODO: try to find where the problem is*/&lt;br /&gt;
OI_ASSERT(false);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;If SSL_Connect() function fails, the method always &lt;br /&gt;
returns OIEEGENERIC. To corrent the behavior, It should&lt;br /&gt;
be modified the following:&lt;/p&gt;
&lt;p&gt;if(nResult == 0) {&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">yuichi YONEKURA</dc:creator><pubDate>Wed, 20 Apr 2005 08:11:00 -0000</pubDate><guid isPermaLink="false">https://sourceforge.neta8361f5e7a5246b9967725a5b0eb29337fd7a3ac</guid></item><item><title>API</title><link>https://sourceforge.net/p/libonion/bugs/1/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The method:&lt;/p&gt;
&lt;p&gt;void OnResourceFound(CDavResourceNode* pNode)&lt;/p&gt;
&lt;p&gt;in CDavWorkSession is a little misleading. If you are&lt;br /&gt;
going to pass a pointer to a method it should be&lt;br /&gt;
'newed' and the called method should take&lt;br /&gt;
responsibility to delete it.&lt;/p&gt;
&lt;p&gt;The code that calls it is:&lt;br /&gt;
CDavResourceNode theNode;&lt;br /&gt;
theNode.Parse(pNode);&lt;br /&gt;
OnResourceFound(&amp;amp;theNode);&lt;br /&gt;
break;&lt;/p&gt;
&lt;p&gt;in daveworksession.cpp:440&lt;/p&gt;
&lt;p&gt;A better way to define it if you don't want new a&lt;br /&gt;
CDavResourceNode would be:&lt;br /&gt;
void OnResourceFound(CDavResourceNode&amp;amp; pNode)&lt;/p&gt;
&lt;p&gt;This is very explicit in saying this object will go&lt;br /&gt;
away so make a copy of it or forget about it.&lt;/p&gt;
&lt;p&gt;The way it is currently defined means "here's a&lt;br /&gt;
pointer, its your take care of it yourself"&lt;/p&gt;
&lt;p&gt;On a side note, since it is entirly plausible the&lt;br /&gt;
programmer will have to cache the CDavResourceNode&lt;br /&gt;
after its found a simple copy constructor would be&lt;br /&gt;
helpfull. This would allow you to pass in a reference&lt;br /&gt;
to the CDavResourceNode and allow the programmer to&lt;br /&gt;
create a new CDavResourceNode and store it locally.&lt;/p&gt;
&lt;p&gt;This could be accomplished by DOMNode the&lt;br /&gt;
CDavResourceNode was created with to create another copy.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steve Przepiora</dc:creator><pubDate>Wed, 23 Feb 2005 16:03:05 -0000</pubDate><guid isPermaLink="false">https://sourceforge.nete1b5480492e532b5f9e24df236815480311b0124</guid></item></channel></rss>