Bug ID 860041: [Portal Access] 5_Deflate_removeEventListener wrapper need to be added

Last Modified: Jul 21, 2020

Bug Tracker

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

Opened: Dec 11, 2019
Severity: 4-Minor

Symptoms

Various issues are possible, for example drop-down menu is not clickable, etc

Impact

Web-application misfunction

Conditions

Web-application code which use native removeEventListener() function indirectly.

Workaround

Custom iRule can be used. Please find below example of such iRule ("/PATH_TO_HTML_FILE" should be replaced by real path dependent on custom web application). # # Custom workaround for BZ 860041 # replace wrappers for addEventListener and removeEventListener by pass-through wrappers # # v1. very simple # when REWRITE_REQUEST_DONE { if { [HTTP::path] ends_with "/PATH_TO_HTML_FILE" } { # log "URI=([HTTP::path])" # Found the file to modify REWRITE::post_process 1 set do_it 1 } } when REWRITE_RESPONSE_DONE { if {[info exists do_it]} { unset do_it set str {<script>try} set strlen [string length $str] set strt [string first $str [REWRITE::payload]] if {$strt > 0} { REWRITE::payload replace $strt 0 { <script> function F5_Invoke_addEventListener (o, e, h, c) { console.log('addEventListener '+e); var args = []; for (var i = 1; i<arguments.length; i++) { args[i-1] = arguments[i] } return o.addEventListener.apply(o,args); } function F5_Invoke_removeEventListener(o, e, h, c) { console.log('removeEventListener '+e); var args = []; for (var i = 1; i<arguments.length; i++) { args[i-1] = arguments[i] } return o.removeEventListener.apply(o,args); } </script> } } } }

Fix Information

None

Behavior Change