You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by "Steve Jiang (JIRA)" <ji...@apache.org> on 2010/02/17 02:50:27 UTC

[jira] Created: (TS-190) Malformed response when total response headers size exceed MIOBuffer block size

Malformed response when total response headers size exceed MIOBuffer block size
-------------------------------------------------------------------------------

                 Key: TS-190
                 URL: https://issues.apache.org/jira/browse/TS-190
             Project: Traffic Server
          Issue Type: Bug
          Components: Core
            Reporter: Steve Jiang
            Assignee: Steve Jiang
             Fix For: 2.0.0a


If: 
1. The origin response header size exceeds MIOBuffer block size (default 4K)
2. TS is chunking/dechunking the response (e.g. HTTP/1.0 origin, HTTP/1.1 client or vice-versa)

TS will only send the last block of the header and the response to the client.  This results in a malformed response because the first 4K includes the status line.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (TS-190) Malformed response when total response headers size exceed MIOBuffer block size

Posted by "Steve Jiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Jiang closed TS-190.
--------------------------

    Resolution: Fixed

> Malformed response when total response headers size exceed MIOBuffer block size
> -------------------------------------------------------------------------------
>
>                 Key: TS-190
>                 URL: https://issues.apache.org/jira/browse/TS-190
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core
>            Reporter: Steve Jiang
>            Assignee: Steve Jiang
>             Fix For: 2.0.0a
>
>         Attachments: TS190_sjiang.diff, TS190_sjiang.diff
>
>
> If: 
> 1. The origin response header size exceeds MIOBuffer block size (default 4K)
> 2. TS is chunking/dechunking the response (e.g. HTTP/1.0 origin, HTTP/1.1 client or vice-versa)
> TS will only send the last block of the header and the response to the client.  This results in a malformed response because the first 4K includes the status line.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (TS-190) Malformed response when total response headers size exceed MIOBuffer block size

Posted by "Steve Jiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Jiang updated TS-190:
---------------------------

    Attachment: TS190_sjiang.diff

Added patch to keep references to start of chunked/dechunked buffers to avoid blocks from being released before buffer readers are allocated.

> Malformed response when total response headers size exceed MIOBuffer block size
> -------------------------------------------------------------------------------
>
>                 Key: TS-190
>                 URL: https://issues.apache.org/jira/browse/TS-190
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core
>            Reporter: Steve Jiang
>            Assignee: Steve Jiang
>             Fix For: 2.0.0a
>
>         Attachments: TS190_sjiang.diff
>
>
> If: 
> 1. The origin response header size exceeds MIOBuffer block size (default 4K)
> 2. TS is chunking/dechunking the response (e.g. HTTP/1.0 origin, HTTP/1.1 client or vice-versa)
> TS will only send the last block of the header and the response to the client.  This results in a malformed response because the first 4K includes the status line.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (TS-190) Malformed response when total response headers size exceed MIOBuffer block size

Posted by "Steve Jiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Jiang updated TS-190:
---------------------------

    Attachment: TS190_sjiang.diff

> Malformed response when total response headers size exceed MIOBuffer block size
> -------------------------------------------------------------------------------
>
>                 Key: TS-190
>                 URL: https://issues.apache.org/jira/browse/TS-190
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core
>            Reporter: Steve Jiang
>            Assignee: Steve Jiang
>             Fix For: 2.0.0a
>
>         Attachments: TS190_sjiang.diff, TS190_sjiang.diff
>
>
> If: 
> 1. The origin response header size exceeds MIOBuffer block size (default 4K)
> 2. TS is chunking/dechunking the response (e.g. HTTP/1.0 origin, HTTP/1.1 client or vice-versa)
> TS will only send the last block of the header and the response to the client.  This results in a malformed response because the first 4K includes the status line.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (TS-190) Malformed response when total response headers size exceed MIOBuffer block size

Posted by "Steve Jiang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834601#action_12834601 ] 

Steve Jiang commented on TS-190:
--------------------------------

Example response from origin:

HTTP/1.0 200 OK
Date: Tue, 16 Feb 2010 01:18:40 GMT
Long-Header: 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
Cache-Control: private
Connection: close
Content-Type: text/html; charset=utf-8

this is a response body




The response from TS will look like:

890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
Cache-Control: private
Connection: close
Content-Type: text/html; charset=utf-8
Age: 0
Transfer-Encoding: chunked
Proxy-Connection: keep-alive

18
this is a response body

0




> Malformed response when total response headers size exceed MIOBuffer block size
> -------------------------------------------------------------------------------
>
>                 Key: TS-190
>                 URL: https://issues.apache.org/jira/browse/TS-190
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core
>            Reporter: Steve Jiang
>            Assignee: Steve Jiang
>             Fix For: 2.0.0a
>
>
> If: 
> 1. The origin response header size exceeds MIOBuffer block size (default 4K)
> 2. TS is chunking/dechunking the response (e.g. HTTP/1.0 origin, HTTP/1.1 client or vice-versa)
> TS will only send the last block of the header and the response to the client.  This results in a malformed response because the first 4K includes the status line.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (TS-190) Malformed response when total response headers size exceed MIOBuffer block size

Posted by "Steve Jiang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834632#action_12834632 ] 

Steve Jiang commented on TS-190:
--------------------------------

This was reviewed by Vijaya Mamidi

> Malformed response when total response headers size exceed MIOBuffer block size
> -------------------------------------------------------------------------------
>
>                 Key: TS-190
>                 URL: https://issues.apache.org/jira/browse/TS-190
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core
>            Reporter: Steve Jiang
>            Assignee: Steve Jiang
>             Fix For: 2.0.0a
>
>         Attachments: TS190_sjiang.diff, TS190_sjiang.diff
>
>
> If: 
> 1. The origin response header size exceeds MIOBuffer block size (default 4K)
> 2. TS is chunking/dechunking the response (e.g. HTTP/1.0 origin, HTTP/1.1 client or vice-versa)
> TS will only send the last block of the header and the response to the client.  This results in a malformed response because the first 4K includes the status line.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.