Bug ID 698693: HTTP::uri does not work after ACCESS::respond

Last Modified: Sep 14, 2023

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

Known Affected Versions:
13.0.0, 13.0.0 HF1, 13.0.0 HF2, 13.0.0 HF3, 13.0.1, 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

Fixed In:
15.1.0

Opened: Dec 12, 2017

Severity: 4-Minor

Symptoms

After evaluating the URI, the ACCESS::respond command deletes the old URI when creating the header block for the response. If HTTP::uri is used, an error is logged to /var/log/ltm: err tmm3[20848]: 01220001:3: TCL error: /Common/myapp.app/myrule <ACCESS_ACL_ALLOWED> - ERR_ARG (line 7) invoked from within "HTTP::uri"

Impact

Connection is reset and an error is logged in /var/log/ltm. There is no documentation indicating this functionality.

Conditions

An iRule similar to the following example: when ACCESS_ACL_ALLOWED { if { [HTTP::uri] == "/" } { log local0. "Redirecting to /test/" ACCESS::respond 302 Location "https://[HTTP::host]/test/" } log local0. "Redirected [HTTP::uri]" }

Workaround

None.

Fix Information

There is now documentation that HTTP::uri does not work after ACCESS::respond.

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips