iRules containing an escaped newline character can cause TMM to crash.
Recommendation resolution
Examine the iRules listed below for suspended commands, and remove all instances of escaped newline characters which precede a suspended command later in the iRule.
Can someone point out where my escaped newline character might be?
when HTTP_REQUEST {
set URI to lower case
set tmpUri [string tolower [HTTP::uri]]
URI decode the URI
set uri [URI::decode $tmpUri]
repeat decoding until the decoded version equals the previous value.
while { $uri ne $tmpUri } {
set tmpUri $uri
set uri [URI::decode $tmpUri]
}
switch -glob [string tolower [HTTP::uri]] {
"*<*" -
"*>*" -
"*select *" -
"*insert *" -
"*update *" -
"*delete *" -
"*create *" -
"*drop *" -
"*.\[tempdb\].*" -
"*.\[master\].*" -
"*.\[model\].*" -
"*.\[msdb\]." -
"*.\[dbo\].*" -
"*tempdb.*" -
"*master.*" -
"*model.*" -
"*msDB.*" -
"*.dbo.*" -
"*\r\n*" -
"*!*" -
"*%*" {
log local0. "Reject uri: [HTTP::uri]"
Send a TCP reset
reject
}
default {
Do nothing here to use the VIP's default pool
}
}
}