You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Susan Hinrichs (JIRA)" <ji...@apache.org> on 2016/08/17 19:33:21 UTC

[jira] [Commented] (TS-4412) Event overwrited by SSL_READ_READY / COMPLETE in ssl_read_from_net

    [ https://issues.apache.org/jira/browse/TS-4412?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15425212#comment-15425212 ] 

Susan Hinrichs commented on TS-4412:
------------------------------------

Diving back into emails on [~cschombu]'s issue.  I think that was different than this.  It looks like he was running into timing problems with a double buffer weirdness 6.0 through pre 6.2.  [~cschombu] I see that I didn't respond via email, but I dimly remember that [~amc] chatted with you on IRC (or at least I hope one of us did.  otherwise, apologies for not responding).

Looking at the current code, we still don't have a ntodo check to make sure we don't over-read.  We should do that to protect ourselves from resource exhaustion.  We should be able to get that in for 7.0.0.  

> Event overwrited by SSL_READ_READY / COMPLETE in ssl_read_from_net
> ------------------------------------------------------------------
>
>                 Key: TS-4412
>                 URL: https://issues.apache.org/jira/browse/TS-4412
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: SSL
>            Reporter: Oknet Xu
>            Assignee: Susan Hinrichs
>             Fix For: 7.0.0
>
>
> the {{ssl_read_from_net}} read data from socket and saved into MIOBuffer.
> It was designed to fill the MIOBuffer as much as possible, even execeed the VIO {{nbytes}} setting.
> It will try to call {{SSLReadBuffer}} again and again until the MIOBuffer is full or an error returned from {{SSLReadBuffer}}. The {{event}} will be set to a error status if an error returned from {{SSLReadBuffer}}.
> But at the end of {{ssl_read_from_net}}, the {{event}} will be overwrited to SSL_READ_READY or SSL_READ_COMPLETE depend on {{vio.ntodo()}} if this is one success at least in {{SSLReadBuffer}} before an error.
> For example:
>     The {{SSLNetVConnection::net_read_io}} could not get SSL_READ_EOS from {{ssl_read_from_net}} and can not close the SSLNetVConnection immediately. Because The {{event}} SSL_READ_EOS is overwrited.
>     The SSLNetVConnection will be closed by timeout.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)