22-Mar-2023 23:54 - edited 22-Mar-2023 23:58
I tried to create irule like below (part of the entire code)
"rules": [
{
"actions": [
{
"event": "request",
"location": "http://example.com",
"type": "httpRedirect"
}
],
"conditions": [
{
"all": {
"caseSensitive": false,
"operand": "equals",
"values": [
"examplea&*d;d"
]
},
"name": "exampleamp",
"type": "httpHeader"
}
],
"label": "",
"name": "l7policy_23430070-92c8-442a-aae5-4503816e6ddb",
"remark": ""
}
],
"strategy": "first-match"
and an error occurs,
nfv-lb-f5-0.skynet.local mcpd[6906] 01070712 Caught configuration exception (0), /Common/__appsvcs_update:14: error: [undefined procedure: d][d \} case-insensitive name exampleamp \} \} actions replace-all-with \{ 0 \{ http-reply request redirect location \"http://example.com\" \} \} \} \} strategy /Common/first-match legacy requires replace-all-with \{ http \} controls replace-all-with \{ forwarding \}]
could anyone tell me why this error occurred? After getting this error, I simply changed name (http header key) that starts with Upper Case Letter (ex. My_header) and that one worked just fine. It seems like although the AS3 declaration contains "case-insensitive", somehow f5 cannot handle http header starting with lowercase letter.
(error happend in two OS version: BIG-IP 13.1.3.6 Build 0.21.4 Engineering Hotfix, BIG-IP 16.1.3.1 Build 0.0.11 Point Release 1)
27-Mar-2023 16:31
Hi @rory_7 - I always turn to @JRahm or @Kai_Wilke for help with iRules. Were you able to figure it out since posting your question, or do you still need help?
28-Mar-2023 08:40
Hi @rory_7, that looks like a local traffic policy not an iRule? Either way, if this is an issue you're facing with as3 declaration being accepted, please open an issue on the github repo for this.
28-Mar-2023 09:39
AS3 supports Upper and Lower case, and JSON is case sensitive. I think the issue is around
"values": [
"examplea&*d;d"
]
Please open an issue in Gitlab as @JRahm proposed