[ https://issues.apache.org/jira/browse/TS-2307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jungwoo Lee updated TS-2307: ---------------------------- Description: 1. Precondition – Upload file such as video or music file on Origin server – On Chrome, access to the content file – Repeat followings – Delete the cache of Chrome – Refresh( press F5 ) 2. Result – Chrome does not play the content. 3. Cause – When Chrome requests including Range and If-Range headers, the value of If-Range header can be set to the one of ETAG and Last Modified Date. ATS core has unreasonable condition to check if the value of If-Range is ETAG and it makes a bug that the value of If-Range will be compared with Last Modified Date event if ETAG is set to the value of If-Range. As a result, response header does not include Content-Range when the value of If-Range is ETAG. Sometimes this makes client abort. - The condition to check ETAG is following( HttpTransactCache::match_response_to_request_conditionals(HTTPHdr * request, HTTPHdr * response) function ) - if (!if_value || if_value[0] == '"' || (comma_sep_list_len > 1 && if_value[1] == '/')) - The if_value points the string of value of If-Range 4. Expected Behaviour – Video and music file will be played in all the time on all case. – When the value of If-Range is ETAG and is matched with ETAG of header of cached content , response should include the header related with range request. was: 1. Precondition – Upload file such as video or music file on Origin server – On Chrome, access to the content file – Repeat followings – Delete the cache of Chrome – Refresh( press F5 ) 2. Result – Chrome does not play the content. 3. Cause – When Chrome requests including Range and If-Range headers, the value of If-Range header can be set to the one of ETAG and Last Modified Date. ATS core has unreasonable condition to check if the value of If-Range is ETAG and it makes a bug that the valud of If-Range will be compared with Last Modified Date event if ETAG is set to the value of If-Range. As a result, response header does not include Content-Range when the value of If-Range is ETAG. Sometimes this makes client abort. - The condition to check ETAG is following( HttpTransactCache::match_response_to_request_conditionals(HTTPHdr * request, HTTPHdr * response) function ) - if (!if_value || if_value[0] == '"' || (comma_sep_list_len > 1 && if_value[1] == '/')) - The if_value points the string of value of If-Range 4. Expected Behaviour – Video and music file will be played in all the time on all case. – When the value of If-Range is ETAG and is matched with ETAG of cached content header, response should include the header related with range request > Range request with If-Range does not work > ----------------------------------------- > > Key: TS-2307 > URL: https://issues.apache.org/jira/browse/TS-2307 > Project: Traffic Server > Issue Type: Bug > Components: HTTP > Affects Versions: 3.2.5, 4.0.1, 4.0.2 > Reporter: Jungwoo Lee > > 1. Precondition > – Upload file such as video or music file on Origin server > – On Chrome, access to the content file > – Repeat followings > – Delete the cache of Chrome > – Refresh( press F5 ) > 2. Result > – Chrome does not play the content. > 3. Cause > – When Chrome requests including Range and If-Range headers, the value of > If-Range header can be set to the one of ETAG and Last Modified Date. ATS > core has unreasonable condition to check if the value of If-Range is ETAG and > it makes a bug that the value of If-Range will be compared with Last Modified > Date event if ETAG is set to the value of If-Range. > As a result, response header does not include Content-Range when the value of > If-Range is ETAG. Sometimes this makes client abort. > - The condition to check ETAG is following( > HttpTransactCache::match_response_to_request_conditionals(HTTPHdr * request, > HTTPHdr * response) function ) > - if (!if_value || if_value[0] == '"' || (comma_sep_list_len > 1 && > if_value[1] == '/')) > - The if_value points the string of value of If-Range > 4. Expected Behaviour > – Video and music file will be played in all the time on all case. > – When the value of If-Range is ETAG and is matched with ETAG of header of > cached content , response should include the header related with range > request. -- This message was sent by Atlassian JIRA (v6.1#6144)