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

Last Modified: Apr 17, 2024

Affected Product(s):
BIG-IP APM(all modules)

Known Affected Versions:
13.1.0, 13.1.0.1, 13.1.0.2, 13.1.0.3, 13.1.0.4, 13.1.0.5, 13.1.0.6, 13.1.0.7, 13.1.0.8, 13.1.1, 13.1.1.2, 13.1.1.3, 13.1.1.4, 13.1.1.5, 13.1.3, 13.1.3.1, 13.1.3.2, 13.1.3.3, 13.1.3.4, 13.1.3.5, 13.1.3.6, 13.1.4, 13.1.4.1, 13.1.5, 13.1.5.1, 14.0.0, 14.0.0.1, 14.0.0.2, 14.0.0.3, 14.0.0.4, 14.0.0.5, 14.0.1, 14.0.1.1, 14.1.0, 14.1.0.1, 14.1.0.2, 14.1.0.3, 14.1.0.5, 14.1.0.6, 14.1.2, 14.1.2.1, 14.1.2.2, 14.1.2.3, 14.1.2.4, 14.1.2.5, 14.1.2.6, 14.1.2.7, 14.1.2.8, 14.1.3, 14.1.3.1, 14.1.4, 14.1.4.1, 14.1.4.2, 14.1.4.3, 14.1.4.4, 14.1.4.5, 14.1.4.6, 14.1.5, 14.1.5.1, 14.1.5.2, 14.1.5.3, 14.1.5.4, 14.1.5.6, 15.0.0, 15.0.1, 15.0.1.1, 15.0.1.2, 15.0.1.3, 15.0.1.4, 15.1.0, 15.1.0.1, 15.1.0.2, 15.1.0.3, 15.1.0.4, 15.1.0.5, 15.1.1, 15.1.2, 15.1.2.1, 15.1.3, 15.1.3.1, 15.1.4, 15.1.4.1, 15.1.5, 15.1.5.1, 15.1.6, 15.1.6.1, 15.1.7, 15.1.8, 15.1.8.1, 15.1.8.2, 15.1.9, 15.1.9.1, 15.1.10, 15.1.10.2, 15.1.10.3, 15.1.10.4, 16.0.0, 16.0.0.1, 16.0.1, 16.0.1.1, 16.0.1.2, 16.1.0, 16.1.1, 16.1.2, 16.1.2.1, 16.1.2.2, 16.1.3, 16.1.3.1, 16.1.3.2, 16.1.3.3, 16.1.3.4, 16.1.3.5, 16.1.4, 16.1.4.1, 16.1.4.2

Opened: Dec 11, 2019

Severity: 4-Minor

Symptoms

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

Impact

The web application does not function as expected.

Conditions

Web application code that uses native removeEventListener() function indirectly.

Workaround

Use a custom iRule. In the following example, replace '/PATH_TO_HTML_FILE' with the actual path of the web application: # # Custom workaround replace wrappers for # addEventListener and removeEventListener with # 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

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips