You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2011/07/22 19:32:56 UTC

svn commit: r1149665 - /tomcat/tc6.0.x/trunk/STATUS.txt

Author: markt
Date: Fri Jul 22 17:32:56 2011
New Revision: 1149665

URL: http://svn.apache.org/viewvc?rev=1149665&view=rev
Log:
Proposal

Modified:
    tomcat/tc6.0.x/trunk/STATUS.txt

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1149665&r1=1149664&r2=1149665&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Fri Jul 22 17:32:56 2011
@@ -176,3 +176,9 @@ PATCHES PROPOSED TO BACKPORT:
   +1: markt, kkolinko
   -1:
   
+* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=51515
+  Prevent immediate socket close when comet is used over HTTPS
+  http://people.apache.org/~markt/patches/2011-07-22-bug51515-tc6.patch
+  (note: The only change to NioEndpoint is adding a sync)
+  +1: markt
+  -1:



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r1149665 - /tomcat/tc6.0.x/trunk/STATUS.txt

Posted by Mark Thomas <ma...@apache.org>.
On 26/07/2011 04:48, Konstantin Kolinko wrote:
> 2011/7/22  <ma...@apache.org>:
>> Author: markt
>> Date: Fri Jul 22 17:32:56 2011
>> New Revision: 1149665
>>
>> URL: http://svn.apache.org/viewvc?rev=1149665&view=rev
>> Log:
>> Proposal
>>
>> Modified:
>>    tomcat/tc6.0.x/trunk/STATUS.txt
>>
> 
>>
>> +* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=51515
>> +  Prevent immediate socket close when comet is used over HTTPS
>> +  http://people.apache.org/~markt/patches/2011-07-22-bug51515-tc6.patch
>> +  (note: The only change to NioEndpoint is adding a sync)
>> +  +1: markt
>> +  -1:
> 
> 1) Regarding the sync in NioEndpoint:
> 
> Do we synchronize elsewhere on the same socket (an instance of NioChannel)?

Not that I am aware of.

> I mean, what this sync protects against - two instances of
> NioEndpoint$SocketProcessor that use the same "socket"?

Correct. That is what adding this sync is intended to prevent.

> or second concurrent access is elsewhere and is already using the same sync?
> In TC7 this sync was added in r1001698 which changed a lot of files.
> 
> 
> 2) Regarding the change in Http11NioProtocol:
> 
> I do not have much understanding of that code. It is more of curiosity:
> 
> if I understand it correctly, effectively it replaces
>   NioEndpoint$Poller.add(socket,att.getCometOps());
> with
>   NioEndpoint$Poller.add(socket)
> and that method actually calls
>   NioEndpoint$Poller.add(socket, SelectionKey.OP_READ);
> 
> Is this change needed because att.getCometOps() has wrong value?

Correct. I tried to figure out how the various fields that store
interested ops are meant to be used but I couldn't figure out what was
meant to be going on. Ideally, I was looking for a place where cometOps
wasn't being correctly set/reset but couldn't find one. In the end, I
opted for aligning the Tomcat 6 code with what Tomcat 7 does at that
point and it started working.

Mark



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r1149665 - /tomcat/tc6.0.x/trunk/STATUS.txt

Posted by Konstantin Kolinko <kn...@gmail.com>.
2011/7/22  <ma...@apache.org>:
> Author: markt
> Date: Fri Jul 22 17:32:56 2011
> New Revision: 1149665
>
> URL: http://svn.apache.org/viewvc?rev=1149665&view=rev
> Log:
> Proposal
>
> Modified:
>    tomcat/tc6.0.x/trunk/STATUS.txt
>

>
> +* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=51515
> +  Prevent immediate socket close when comet is used over HTTPS
> +  http://people.apache.org/~markt/patches/2011-07-22-bug51515-tc6.patch
> +  (note: The only change to NioEndpoint is adding a sync)
> +  +1: markt
> +  -1:

1) Regarding the sync in NioEndpoint:

Do we synchronize elsewhere on the same socket (an instance of NioChannel)?

I mean, what this sync protects against - two instances of
NioEndpoint$SocketProcessor that use the same "socket"?
or second concurrent access is elsewhere and is already using the same sync?
In TC7 this sync was added in r1001698 which changed a lot of files.


2) Regarding the change in Http11NioProtocol:

I do not have much understanding of that code. It is more of curiosity:

if I understand it correctly, effectively it replaces
  NioEndpoint$Poller.add(socket,att.getCometOps());
with
  NioEndpoint$Poller.add(socket)
and that method actually calls
  NioEndpoint$Poller.add(socket, SelectionKey.OP_READ);

Is this change needed because att.getCometOps() has wrong value?


Best regards,
Konstantin Kolinko

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org