Uploaded image for project: 'eZ Publish / Platform'
  1. eZ Publish / Platform
  2. EZP-21853

Custom HTTP headers create duplicate values

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Medium Medium
    • Resolution: Fixed
    • Affects Version/s: 5.1, 5.2-alpha1
    • Component/s: None
    • Labels:
      None
    • Environment:

      eZ Publish 5.1 Platform with symfony stack

      Description

      Setting custom headers in the site.ini.append.php file:

      [HTTPHeaderSettings]
      CustomHeader=enabled
      HeaderList[]
      HeaderList[]=Cache-Control
       
      Cache-Control[]
      Cache-Control[/]=public, max-age=1800, smax-age=1800
      

      Generates a: "Cache-Control: public, max-age=1800, smax-age=1800, must-revalidate, no-cache, private"
      header instead of just "Cache-Control: public, max-age=1800, smax-age=1800".

      Further Notes:

      When viewed under Google Chrome, the headers are displayed as:

      Cache-Control:must-revalidate, no-cache, private
      Cache-Control:public, max-age=1800, smax-age=1800
      

      The first line appears to originate from PHP's built-in session.cache_limiter

        Issue Links

          Activity

          Nuno Oliveira (Inactive) created issue -
          Nuno Oliveira (Inactive) made changes -
          Field Original Value New Value
          Status Open [ 1 ] Confirmed [ 10037 ]
          Gunnstein Lye made changes -
          Status Confirmed [ 10037 ] InputQ [ 10001 ]
          Yannick Roger (Inactive) made changes -
          Status InputQ [ 10001 ] Development [ 3 ]
          Assignee Yannick Roger [ yannick.roger@ez.no ]
          Yannick Roger (Inactive) made changes -
          Remaining Estimate 0 minutes [ 0 ]
          Time Spent 6 hours [ 21600 ]
          Worklog Id 41619 [ 41619 ]
          Yannick Roger (Inactive) logged work - 29/Oct/13 7:37 PM
          • Time Spent:
            6 hours
             

            .

          Yannick Roger (Inactive) logged work - 30/Oct/13 1:00 AM
          • Time Spent:
            6 hours
             

            .

          Yannick Roger (Inactive) made changes -
          Time Spent 6 hours [ 21600 ] 1 day, 4 hours [ 43200 ]
          Worklog Id 41761 [ 41761 ]
          Yannick Roger (Inactive) logged work - 04/Nov/13 12:19 PM
          • Time Spent:
            2 hours
             

            .

          Joao Inacio (Inactive) made changes -
          Description Setting custom headers in the site.ini.append.php file:

          {noformat}
          [HTTPHeaderSettings]
          CustomHeader=enabled
          HeaderList[]
          HeaderList[]=Cache-Control

          Cache-Control[]
          Cache-Control[/]=public, max-age=1800, smax-age=1800
          {noformat}

          Generates a: "Cache-Control: public, max-age=1800, smax-age=1800, must-revalidate, no-cache, private"
          header instead of just "Cache-Control: public, max-age=1800, smax-age=1800".
          Setting custom headers in the site.ini.append.php file:

          {noformat}
          [HTTPHeaderSettings]
          CustomHeader=enabled
          HeaderList[]
          HeaderList[]=Cache-Control

          Cache-Control[]
          Cache-Control[/]=public, max-age=1800, smax-age=1800
          {noformat}

          Generates a: "Cache-Control: public, max-age=1800, smax-age=1800, must-revalidate, no-cache, private"
          header instead of just "Cache-Control: public, max-age=1800, smax-age=1800".

          When viewed under Google Chrome, the headers are displayed as:
          {code}
          Cache-Control:must-revalidate, no-cache, private
          Cache-Control:public, max-age=1800, smax-age=1800
          {code}
          Joao Inacio (Inactive) made changes -
          Description Setting custom headers in the site.ini.append.php file:

          {noformat}
          [HTTPHeaderSettings]
          CustomHeader=enabled
          HeaderList[]
          HeaderList[]=Cache-Control

          Cache-Control[]
          Cache-Control[/]=public, max-age=1800, smax-age=1800
          {noformat}

          Generates a: "Cache-Control: public, max-age=1800, smax-age=1800, must-revalidate, no-cache, private"
          header instead of just "Cache-Control: public, max-age=1800, smax-age=1800".

          When viewed under Google Chrome, the headers are displayed as:
          {code}
          Cache-Control:must-revalidate, no-cache, private
          Cache-Control:public, max-age=1800, smax-age=1800
          {code}
          Setting custom headers in the site.ini.append.php file:

          {noformat}
          [HTTPHeaderSettings]
          CustomHeader=enabled
          HeaderList[]
          HeaderList[]=Cache-Control

          Cache-Control[]
          Cache-Control[/]=public, max-age=1800, smax-age=1800
          {noformat}

          Generates a: "Cache-Control: public, max-age=1800, smax-age=1800, must-revalidate, no-cache, private"
          header instead of just "Cache-Control: public, max-age=1800, smax-age=1800".

          h5.Further Notes:
          When viewed under Google Chrome, the headers are displayed as:
          {code}
          Cache-Control:must-revalidate, no-cache, private
          Cache-Control:public, max-age=1800, smax-age=1800
          {code}

          The first line seems to originate in PHP's built=in session.cache_limiter,
          Yannick Roger (Inactive) made changes -
          Description Setting custom headers in the site.ini.append.php file:

          {noformat}
          [HTTPHeaderSettings]
          CustomHeader=enabled
          HeaderList[]
          HeaderList[]=Cache-Control

          Cache-Control[]
          Cache-Control[/]=public, max-age=1800, smax-age=1800
          {noformat}

          Generates a: "Cache-Control: public, max-age=1800, smax-age=1800, must-revalidate, no-cache, private"
          header instead of just "Cache-Control: public, max-age=1800, smax-age=1800".

          h5.Further Notes:
          When viewed under Google Chrome, the headers are displayed as:
          {code}
          Cache-Control:must-revalidate, no-cache, private
          Cache-Control:public, max-age=1800, smax-age=1800
          {code}

          The first line seems to originate in PHP's built=in session.cache_limiter,
          Using the symfony stack.

          Setting custom headers in the site.ini.append.php file:

          {noformat}
          [HTTPHeaderSettings]
          CustomHeader=enabled
          HeaderList[]
          HeaderList[]=Cache-Control

          Cache-Control[]
          Cache-Control[/]=public, max-age=1800, smax-age=1800
          {noformat}

          Generates a: "Cache-Control: public, max-age=1800, smax-age=1800, must-revalidate, no-cache, private"
          header instead of just "Cache-Control: public, max-age=1800, smax-age=1800".

          When viewed under Google Chrome, the headers are displayed as:
          {code}
          Cache-Control:must-revalidate, no-cache, private
          Cache-Control:public, max-age=1800, smax-age=1800
          {code}
          Joao Inacio (Inactive) made changes -
          Description Using the symfony stack.

          Setting custom headers in the site.ini.append.php file:

          {noformat}
          [HTTPHeaderSettings]
          CustomHeader=enabled
          HeaderList[]
          HeaderList[]=Cache-Control

          Cache-Control[]
          Cache-Control[/]=public, max-age=1800, smax-age=1800
          {noformat}

          Generates a: "Cache-Control: public, max-age=1800, smax-age=1800, must-revalidate, no-cache, private"
          header instead of just "Cache-Control: public, max-age=1800, smax-age=1800".

          When viewed under Google Chrome, the headers are displayed as:
          {code}
          Cache-Control:must-revalidate, no-cache, private
          Cache-Control:public, max-age=1800, smax-age=1800
          {code}
          Setting custom headers in the site.ini.append.php file:

          {noformat}
          [HTTPHeaderSettings]
          CustomHeader=enabled
          HeaderList[]
          HeaderList[]=Cache-Control

          Cache-Control[]
          Cache-Control[/]=public, max-age=1800, smax-age=1800
          {noformat}

          Generates a: "Cache-Control: public, max-age=1800, smax-age=1800, must-revalidate, no-cache, private"
          header instead of just "Cache-Control: public, max-age=1800, smax-age=1800".

          h5.Further Notes:
          When viewed under Google Chrome, the headers are displayed as:
          {code}
          Cache-Control:must-revalidate, no-cache, private
          Cache-Control:public, max-age=1800, smax-age=1800
          {code}

          The first line seems to originate from PHP's built-in [session.cache_limiter|http://php.net/manual/en/function.session-cache-limiter.php], as disabling it
          Joao Inacio (Inactive) made changes -
          Description Setting custom headers in the site.ini.append.php file:

          {noformat}
          [HTTPHeaderSettings]
          CustomHeader=enabled
          HeaderList[]
          HeaderList[]=Cache-Control

          Cache-Control[]
          Cache-Control[/]=public, max-age=1800, smax-age=1800
          {noformat}

          Generates a: "Cache-Control: public, max-age=1800, smax-age=1800, must-revalidate, no-cache, private"
          header instead of just "Cache-Control: public, max-age=1800, smax-age=1800".

          h5.Further Notes:
          When viewed under Google Chrome, the headers are displayed as:
          {code}
          Cache-Control:must-revalidate, no-cache, private
          Cache-Control:public, max-age=1800, smax-age=1800
          {code}

          The first line seems to originate from PHP's built-in [session.cache_limiter|http://php.net/manual/en/function.session-cache-limiter.php], as disabling it
          Setting custom headers in the site.ini.append.php file:

          {noformat}
          [HTTPHeaderSettings]
          CustomHeader=enabled
          HeaderList[]
          HeaderList[]=Cache-Control

          Cache-Control[]
          Cache-Control[/]=public, max-age=1800, smax-age=1800
          {noformat}

          Generates a: "Cache-Control: public, max-age=1800, smax-age=1800, must-revalidate, no-cache, private"
          header instead of just "Cache-Control: public, max-age=1800, smax-age=1800".

          h5.Further Notes:
          When viewed under Google Chrome, the headers are displayed as:
          {code}
          Cache-Control:must-revalidate, no-cache, private
          Cache-Control:public, max-age=1800, smax-age=1800
          {code}

          The first line appears to originate from PHP's built-in [session.cache_limiter|http://php.net/manual/en/function.session-cache-limiter.php]
          Yannick Roger (Inactive) made changes -
          Environment eZ Publish 5.1 Platform eZ Publish 5.1 Platform with symfony stack
          Yannick Roger (Inactive) logged work - 08/Nov/13 1:00 AM
          • Time Spent:
            5 hours
             

            .

          Yannick Roger (Inactive) made changes -
          Time Spent 1 day, 4 hours [ 43200 ] 1 day, 6 hours [ 50400 ]
          Worklog Id 42146 [ 42146 ]
          Yannick Roger (Inactive) made changes -
          Summary Custom HTTP headers return uncalled-for headers, including no-cache Custom HTTP headers create duplicate values
          Yannick Roger (Inactive) made changes -
          Link This issue relates to EZP-20890 [ EZP-20890 ]
          Yannick Roger (Inactive) made changes -
          Affects Version/s 5.1 [ 11280 ]
          Yannick Roger (Inactive) made changes -
          Affects Version/s 5.2-alpha1 [ 11281 ]
          Show
          Yannick Roger (Inactive) added a comment - PR: https://github.com/ezsystems/ezpublish-kernel/pull/606
          Yannick Roger (Inactive) made changes -
          Status Development [ 3 ] Development review [ 10006 ]
          Show
          Yannick Roger (Inactive) added a comment - Fixed in master: https://github.com/ezsystems/ezpublish-kernel/commit/9f7688b3ae38521657f6a82e07ff2a4aef9fd9c4
          Yannick Roger (Inactive) made changes -
          Time Spent 1 day, 6 hours [ 50400 ] 2 days, 3 hours [ 68400 ]
          Worklog Id 42216 [ 42216 ]
          Yannick Roger (Inactive) made changes -
          Time Spent 2 days, 3 hours [ 68400 ] 2 days, 5 hours [ 75600 ]
          Worklog Id 42217 [ 42217 ]
          Yannick Roger (Inactive) made changes -
          Status Development review [ 10006 ] Development Review done [ 10028 ]
          Fix Version/s 5.1 Maintenance [ 12301 ]
          Fix Version/s 5.2 Maintenance [ 12782 ]
          Yannick Roger (Inactive) made changes -
          Status Development Review done [ 10028 ] Documentation done [ 10011 ]
          Yannick Roger (Inactive) logged work - 12/Nov/13 12:29 PM
          • Time Spent:
            2 hours
             

            .

          Filipe Dobreira (Inactive) made changes -
          Status Documentation done [ 10011 ] QA [ 10008 ]
          Assignee Yannick Roger [ yannick.roger@ez.no ] Filipe Dobreira [ filipe.dobreira@ez.no ]
          Pedro Resende (Inactive) made changes -
          Assignee Filipe Dobreira [ filipe.dobreira@ez.no ] Pedro Resende [ pedro.resende@ez.no ]
          Pedro Resende (Inactive) logged work - 18/Nov/13 10:19 AM
          • Time Spent:
            2 hours
             

            Analyse and reproduce issue, write test case and verify the issue has been fixed after applying the patch

          Pedro Resende (Inactive) made changes -
          Time Spent 2 days, 5 hours [ 75600 ] 2 days, 7 hours [ 82800 ]
          Worklog Id 42425 [ 42425 ]
          Hide
          Pedro Resende (Inactive) added a comment -

          Tested and approved by Q.A.

          Show
          Pedro Resende (Inactive) added a comment - Tested and approved by Q.A.
          Pedro Resende (Inactive) made changes -
          Assignee Pedro Resende [ pedro.resende@ez.no ]
          Status QA [ 10008 ] Closed [ 6 ]
          Resolution Fixed [ 1 ]
          André Rømcke made changes -
          Workflow eZ Engineering Scrumban Workflow [ 59801 ] EZ* Development Workflow [ 84447 ]
          Alex Schuster made changes -
          Workflow EZ* Development Workflow [ 84447 ] EZEE Development Workflow [ 123102 ]
          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Confirmed Confirmed
          3m 13s 1 nuno.oliveira@ez.no 28/Oct/13 6:27 PM
          Confirmed Confirmed InputQ InputQ
          16h 12m 1 Gunnstein Lye 29/Oct/13 10:40 AM
          InputQ InputQ Development Development
          37m 32s 1 yannick.roger@ez.no 29/Oct/13 11:17 AM
          Development Development Development Review Development Review
          14d 1 yannick.roger@ez.no 12/Nov/13 11:18 AM
          Development Review Development Review Development Review done Development Review done
          12m 14s 1 yannick.roger@ez.no 12/Nov/13 11:30 AM
          Development Review done Development Review done Documentation Review done Documentation Review done
          7s 1 yannick.roger@ez.no 12/Nov/13 11:30 AM
          Documentation Review done Documentation Review done QA QA
          2d 12h 59m 1 Filipe Dobreira (Inactive) 15/Nov/13 12:30 AM
          QA QA Closed Closed
          3d 11h 43m 1 pedro.resende@ez.no 18/Nov/13 12:13 PM

            People

            • Assignee:
              Unassigned
              Reporter:
              Nuno Oliveira (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 2 days, 7 hours
                2d 7h