ICEfaces
  1. ICEfaces
  2. ICE-6393

Compat components incorrectly escaping certain unicode characters

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Beta2
    • Fix Version/s: 2.0.0
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      ICEfaces

      Description


      The following xhtml source results in the ice:commandLink value displaying Nächster

              <ice:outputText value="Nächster" /><br/>
              <ice:commandLink value="Nächster" /><br/>
              <ice:commandLink ><ice:outputText value="Nächster" /></ice:commandLink><br/>
              <h:commandLink value="Nächster" /><br/>
      1. screenshot-01.png
        175 kB
      2. screenshot-02.png
        70 kB
      3. screenshot-03.png
        69 kB
      4. screenshot-04.png
        225 kB
      5. screenshot-05.png
        264 kB
      6. screenshot-06.png
        261 kB
      7. screenshot-07.png
        214 kB
      8. screenshot-08.png
        214 kB

        Issue Links

          Activity

          Ted Goddard created issue -
          Ted Goddard made changes -
          Field Original Value New Value
          Workaround Description embed an ice:outputText within the ice:commandLink
          Workaround Exists [Yes]
          Salesforce Case []
          Hide
          Ted Goddard added a comment -

          Likely instigated by the fix for ICE-5854. We must be careful not to introduce a cross site scripting vulnerability when adjusting this fix.

          Show
          Ted Goddard added a comment - Likely instigated by the fix for ICE-5854 . We must be careful not to introduce a cross site scripting vulnerability when adjusting this fix.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #23577 Thu Dec 16 13:52:07 MST 2010 ted.goddard commandLink value is escaped via DOMUtils.createTextNode and does not require additional escaping (ICE-6393)
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/compat/core/src/main/java/com/icesoft/faces/renderkit/dom_html_basic/CommandLinkRenderer.java
          Ted Goddard made changes -
          Assignee Ted Goddard [ ted.goddard ]
          Hide
          Ted Goddard added a comment -

          DOMUtils.createTextNode is performing escaping, so this does not need to be done by CommandLinkRenderer itself.

          Show
          Ted Goddard added a comment - DOMUtils.createTextNode is performing escaping, so this does not need to be done by CommandLinkRenderer itself.
          Ted Goddard made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Fix Version/s 2.0.0 [ 10230 ]
          Resolution Fixed [ 1 ]
          Hide
          Ken Fyten added a comment -

          It looks like more compat components need to be modified to remove their specific escaping calls, since this will result in double escaping:

          • SelectIntputTextRenderer.java
          • MenuItemRenderer.java
          • PanelTabSetRenderer.java
          • OutputProgress.java
          • OutputChart.java
          • OutputConnectionStatusRenderer.java
          Show
          Ken Fyten added a comment - It looks like more compat components need to be modified to remove their specific escaping calls, since this will result in double escaping: SelectIntputTextRenderer.java MenuItemRenderer.java PanelTabSetRenderer.java OutputProgress.java OutputChart.java OutputConnectionStatusRenderer.java
          Ken Fyten made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Assignee Priority P1
          Assignee Ted Goddard [ ted.goddard ] Ken Fyten [ ken.fyten ]
          Ken Fyten made changes -
          Summary ice:commandLink incorrectly escapes certain unicode characters Compat components incorrectly escapes certain unicode characters
          Salesforce Case []
          Ken Fyten made changes -
          Summary Compat components incorrectly escapes certain unicode characters Compat components incorrectly escaping certain unicode characters
          Salesforce Case []
          Ken Fyten made changes -
          Salesforce Case []
          Assignee Ken Fyten [ ken.fyten ] Yip Ng [ yip.ng ]
          yip.ng made changes -
          Attachment screenshot-01.png [ 12778 ]
          yip.ng made changes -
          Attachment screenshot-02.png [ 12779 ]
          yip.ng made changes -
          Attachment screenshot-03.png [ 12780 ]
          yip.ng made changes -
          Attachment screenshot-04.png [ 12781 ]
          Hide
          yip.ng added a comment - - edited

          No double escaping in OutputProgress. See screenshots 7 and 8.

          Show
          yip.ng added a comment - - edited No double escaping in OutputProgress. See screenshots 7 and 8.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #23652 Mon Dec 20 15:05:16 MST 2010 yip.ng ICE-6393: Compat components incorrectly escaping certain unicode characters.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/menubar/MenuItemRenderer.java
          Commit graph MODIFY /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/outputconnectionstatus/OutputConnectionStatusRenderer.java
          Commit graph MODIFY /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/selectinputtext/SelectInputTextRenderer.java
          Commit graph MODIFY /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/paneltabset/PanelTabSetRenderer.java
          yip.ng made changes -
          Attachment screenshot-05.png [ 12782 ]
          yip.ng made changes -
          Attachment screenshot-06.png [ 12784 ]
          yip.ng made changes -
          Attachment screenshot-07.png [ 12785 ]
          yip.ng made changes -
          Attachment screenshot-08.png [ 12786 ]
          Hide
          Ted Goddard added a comment -

          If the text editor supports unicode, the test can be created as in the description with unicode text directly in the component values.

          Show
          Ted Goddard added a comment - If the text editor supports unicode, the test can be created as in the description with unicode text directly in the component values.
          Hide
          yip.ng added a comment -

          No double escaping in OutputChart. See screenshot 6.

          Show
          yip.ng added a comment - No double escaping in OutputChart. See screenshot 6.
          Hide
          yip.ng added a comment -

          MenuItemRenderer, OutputConnectionStatusRenderer and PanelTabSetRenderer done. See screenshots 3, 4, 5.

          Two occurrences of escapeAnsi() in SelectInputTextRenderer. One was removed. (It was nested within createTextNode().) The other still not sure. Not easy to test SelectInputText. Need to figure out how dictionary is generated and how to modify item labels first.

          Revision: 23652


          Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/menubar/MenuItemRenderer.java
          Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/outputconnectionstatus/OutputConnectionStatusRenderer.java
          Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/paneltabset/PanelTabSetRenderer.java
          Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/selectinputtext/SelectInputTextRenderer.java

          Show
          yip.ng added a comment - MenuItemRenderer, OutputConnectionStatusRenderer and PanelTabSetRenderer done. See screenshots 3, 4, 5. Two occurrences of escapeAnsi() in SelectInputTextRenderer. One was removed. (It was nested within createTextNode().) The other still not sure. Not easy to test SelectInputText. Need to figure out how dictionary is generated and how to modify item labels first. Revision: 23652 Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/menubar/MenuItemRenderer.java Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/outputconnectionstatus/OutputConnectionStatusRenderer.java Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/paneltabset/PanelTabSetRenderer.java Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/selectinputtext/SelectInputTextRenderer.java
          Hide
          yip.ng added a comment -

          No more changes required for SelectInputTextRenderer. See video at http://screencast.com/t/2Ogi9W4HSEWf.

          Show
          yip.ng added a comment - No more changes required for SelectInputTextRenderer. See video at http://screencast.com/t/2Ogi9W4HSEWf .
          Ken Fyten made changes -
          Link This issue blocks ICE-6287 [ ICE-6287 ]
          yip.ng made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Assignee Priority P1

            People

            • Assignee:
              yip.ng
              Reporter:
              Ted Goddard
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: