Forum Discussion
mbaertl_132813
Nimbostratus
May 13, 2014LTM - I-Rule http_process_state_prepend - Invalid action
Hi,
we have a new issue since an upgrade from 11.2. to 11.5. One of our I-rules is not working anymore and we only have a hint to an invalid action. Is there any chance to see what syntax is responsi...
mbaertl_132813
Nimbostratus
May 14, 2014Sure, here it is.
when HTTP_REQUEST {
log local0.info "[IP::client_addr]:[TCP::client_port]: request triggered - irule_Public"
if {[class match [IP::client_addr] equals authError]}
{
log local0.info "[IP::client_addr] from authError sent a request"
HTTP::collect 1500
}
else
{
if { not (([HTTP::path] equals "/cwmpWeb/CPEMgt") || ([HTTP::path] starts_with "/BackupRestore/")) }
{
HTTP::respond 404 content {Page Not FoundPage Not Found} "Connection" "close"
}
if { [HTTP::header exists Authorization] }
{
if { [HTTP::header "User-Agent"] starts_with "Thomson" }
{
log local0.info "[IP::client_addr]:[TCP::client_port]: Filter_noserial Authorisation exists"
HTTP::collect 1500
}
else
{
if { ([HTTP::header exists "Content-Length"]) && ([HTTP::header "Content-Length"] <= 1000000) && ([HTTP::header "Content-Length"] > 0) }
{
HTTP::collect [HTTP::header Content-Length]
log local0.info "[IP::client_addr]:[TCP::client_port]:[TCP::remote_port]: Filter_noserial triggered. ContentLength Exists"
}
}
}
else
{
HTTP::respond 401 "WWW-Authenticate" "Basic realm=\"default\"" "Connection" "close"
log local0.info "[IP::client_addr]:[TCP::client_port]: Filter_noserial Authorisation doese not exists"
}
}
}
when HTTP_REQUEST_DATA {
log local0.info "[IP::client_addr]:[TCP::client_port]: Filter_noserial REQUEST_DATA triggered. irule_Public"
if {[class match [IP::client_addr] equals authError]}
{
if {([findstr [HTTP::payload] "2 PERIODIC" ] ne "") || ([findstr [HTTP::payload] "6 CONNECTION REQUEST" ] ne "") || ([findstr [HTTP::payload] "1 BOOT" ] ne "") }
{
log local0.info "[IP::client_addr] request contains Periodic Inform or normal boot and has to be sent to Bootstrap"
pool APPL_iwe
}
else
{
log local0.info "[IP::client_addr] request should get activated but has to wait till the script gets disabled"
log local0.info "[IP::client_addr] [HTTP::payload]"
pool Application_public
HTTP::respond 503 Retry-After: 300
}
}
else
{
if { not ([findstr [HTTP::payload] "" ] eq "") }
{
HTTP::respond 204 "Connection" "close"
log local0.info "[IP::client_addr]->[TCP::local_port] Filter_noserial matched"
}
if { [findstr [HTTP::payload] "Router" ] ne "" }
{
log local0.info "[IP::client_addr]->[TCP::local_port] ROUTER"
HTTP::payload replace 0 [HTTP::payload length] [string map -nocase "Router PRGAV4202N" [HTTP::payload]]
}
if { [findstr [HTTP::payload] ">0.0.0.0" ] ne "" }
{
log local0.info "[IP::client_addr]->[TCP::local_port] 0.0.0.0"
set client_ip [IP::client_addr]
}
HTTP::disable
}
}
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects