A fix is available
APAR status
Closed as unreproducible.
Error description
According to the Internet Guide under topic "HTTP header reference for CICS Web support", the action taken by CICS where a response is to be provided by a static document when an "If-Modified-Since" header is present is to respond with a 304 HTTP response code when the modification date hasn't changed. This response is not occurring as expected. . The HTTP request contains an If-Modified-Since header. The date in that header is "Fri, 18 Jan 2008 16:00:51 GMT". CWXN calls DFHTIMF CONVERT_TIME to generate an ABSTIME value from this string. DFHTIMF generates the ABSTIME in local time which actually ends up being 11:00:51 on that day. Then the requested file is read from HFS. The ABSTIME of the file modifcation date is calculated. This ABSTIME value is in GMT. When the values are compared the file time is later than the time in the header so the file is returned. The Last-Modified header in the response contains the modified time created from the GMT ABSTIME so is identical to the original received header. . Additional Symptom(s) Search Keyword(s): KIXREVSCB
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All CICS Users. * **************************************************************** * PROBLEM DESCRIPTION: CICS does not return the expected * * HTTP 304 (not modified) response to * * an If-Modified-Since request-header * * field. * **************************************************************** * RECOMMENDATION: * **************************************************************** A request from a Web client comes in to CICS containing an 'If-Modified-Since' header passing a date which is in RFC 1123 format, for example: Mon, 07 Dec 2009 14:47:57 GMT. DFHWBSR does a DFHTIMFM CONVERT_TIME call to convert this value to an ABSTIME but DFHTIMF incorrectly converts the GMT value so that it is in local time. DFHWBSR finds a URIMAP to match the URL. This definition is defined to return static content from an HFS file. This results in a DFHDHFS READ_HFS_FILE call which does a BPX2OPN call to both open the file and to return the status, including the 'last modified' time. DFHWBSR converts this time to a GMT ABSTIME and then compares it to the ABSTIME derived from the 'If-Modified-Since' header. If the local time is behind GMT and if the HFS file has not been changed then CICS should return a 304 (not modified) response, but because the time from the header has been converted to a local time the comparison incorrectly fails and the file is returned as though it has been modified. If the local time is ahead of GMT and if the HFS file has been updated within a time which is less than the time zone difference then CICS should return the updated file but instead returns a 304 response because it incorrectly assumes that the file is older than the copy that the client has. For example if local time is 5 hours ahead of GMT and the file has been updated within 5 hours of the previous update, CICS does not return the updated file. Additional keywords: st_mtime RFC1123 UTC TIME_ZONE CVTLDTO
Problem conclusion
Temporary fix
FIX AVAILABLE BY PTF ONLY
Comments
The DFHTIMFM CONVERT_TIME call has been altered to add a ZONE parameter. The correction to make the ABSTIME local is now only performed if ZONE is not GMT. DFHWBSR has been altered to add ZONE(GMT) to the input parameters for the CONVERT_TIME call which is used to convert the 'If-Modified-Since' time to an ABSTIME.
APAR Information
APAR number
PK97410
Reported component name
CICSTS V3 Z/OS
Reported component ID
5655M1500
Reported release
500
Status
CLOSED UR3
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2009-09-29
Closed date
2009-12-30
Last modified date
2010-02-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK53265
Modules/Macros
DESTIMF DESWBAP DESWBDM DESWBRQ DESWBRQF DESWBSR DESWBXM DFHTIMF DFHTIMFA DFHTIMFM DFHTIMFT DFHWBAP DFHWBAPA DFHWBAPF DFHWBAPJ DFHWBAPM DFHWBAPT DFHWBAPV DFHWBDM DFHWBRQD DFHWBRQS DFHWBSR DFHWBSRA DFHWBSRM DFHWBSRT DFHWBXM DFHWBXMA DFHWBXMT
Fix information
Fixed component name
CICSTS V3 Z/OS
Fixed component ID
5655M1500
Applicable component levels
R500 PSY UK53265
UP10/01/08 P F001
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.2","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.2","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
01 February 2010