APM :: Detecting IE 11

Ok I suck, I know. But why is this wrong?

expr { [string tolower [mcget {session.user.agent}]] matches_regex {trident\/7.+rv\:11} }

It never matches… even though my UA is:

Mozilla/5.0 (Windows NT 10.0; Win64; x64; Trident/7.0; rv:11.0) like Gecko

I’m using an empty branch rule with this as the ‘advanced’ script above. Always hits fallback (i.e. doesn’t match).

Tried this too

expr { [string tolower [mcget {session.user.agent}]] matches_regex {.*trident/7.*rv:11.*} }

I’m wondering if this is an issue with variable scope. Even something simple isn’t working.

expr { [mcget {session.user.agent}] contains "rv:11" }

I’m using this in a macro, and that macro is used in a macro that is called from the main access policy post authentication.

If I go to the access policy reports and search for the session ID, I see the session variable assigned above, but it’s like I can’t call it or something…

… still digging.

I never figured out why, but I used a different Windows box, and it worked fine.