Bug ID 501505: [Portal Access] Rewrite helpers do not work with documents created with createHTMLDocument() call

Last Modified: Nov 07, 2022

Bug Tracker

Affected Product:  See more info
BIG-IP APM(all modules)

Known Affected Versions:
11.5.0, 11.5.1, 11.5.1 HF1, 11.5.1 HF10, 11.5.1 HF11, 11.5.1 HF2, 11.5.1 HF3, 11.5.1 HF4, 11.5.1 HF5, 11.5.1 HF6, 11.5.1 HF7, 11.5.1 HF8, 11.5.1 HF9, 11.5.10, 11.5.2, 11.5.2 HF1, 11.5.3, 11.5.3 HF1, 11.5.3 HF2, 11.5.4, 11.5.4 HF1, 11.5.4 HF2, 11.5.4 HF3, 11.5.4 HF4, 11.5.5, 11.5.6, 11.5.7, 11.5.8, 11.5.9, 12.0.0, 12.0.0 HF1, 12.0.0 HF2, 12.0.0 HF3, 12.0.0 HF4, 12.1.0, 12.1.0 HF1, 12.1.0 HF2, 12.1.1, 12.1.1 HF1, 12.1.1 HF2, 12.1.2, 12.1.2 HF1, 12.1.2 HF2, 12.1.3, 12.1.3.1, 12.1.3.2, 12.1.3.3, 12.1.3.4, 12.1.3.5, 12.1.3.6, 12.1.3.7, 12.1.4, 12.1.4.1, 12.1.5, 12.1.5.1, 12.1.5.2, 12.1.5.3, 12.1.6

Fixed In:
13.0.0

Opened: Jan 17, 2015
Severity: 3-Major

Symptoms

Result of document.implementation.createHTMLDocument("") lacks some properties (parentWindow,defaultView,etc...) rewrite wrappers are throwing exceptions when trying to access them. Examples of broken wrappers: F5_Inflate/Deflate_domain, F5_Invoke_appendChild.

Impact

Oracle Web App graphs do not load on pages created by Portal Access.

Conditions

Rewrite helpers failed to access documents created by createHTMLDocument()

Workaround

when REWRITE_REQUEST_DONE { # ID475163: F5_Invoke_submit() breaks forms without action # ID501505: [Portal Access] Lots of our helpers don't work for documents created with createHTMLDocument. set is_475163 0 set is_501505 0 if { [HTTP::uri] contains "1411250302/zenwebclient/web.do?cafWebSesInit=true"} { set is_475163 1 REWRITE::post_process 1 } if { [HTTP::uri] contains "/combined_static_includes_2.js"} { set is_501505 1 REWRITE::post_process 1 } } when REWRITE_RESPONSE_DONE { if { $is_475163 == 1 } { set location [string first \ {<form id="form_client} \ [REWRITE::payload]] if { $location > 0 } { REWRITE::payload replace [expr $location + 5] 0 { action="" } set is_475163 0 } } if { $is_501505 == 1 } { set location [string first \ {createHTMLDocument("");} \ [REWRITE::payload]] if { $location > 0 } { REWRITE::payload replace [expr $location + 23 ] 0 {f.parentWindow=top;} set is_501505 0 } } }

Fix Information

Rewrite helpers should work with documents created by document.implementation.createHTMLDocument("")

Behavior Change