I'm trying to set some request temporary variables that I can use further down in the flow for lookups. update request { RealmLookup := "ou=Realms" } ldap.nodeauth But when it comes to do the lookup, the = and , get escaped so it makes an invalid DN. (0) update request { (0) RealmLookup := "ou=Realms," (0) } # update request = noop rlm_ldap (ldap.nodeauth): Reserved connection (0) (0) ldap.nodeauth: EXPAND (cn=%{AuthCred}) (0) ldap.nodeauth: --> (cn=m2m) (0) ldap.nodeauth: EXPAND %{RealmLookup}ou=Proxy (0) ldap.nodeauth: --> ou\3dRealms\2cou=Proxy (0) ldap.nodeauth: Performing search in "ou\3dRealms\2cou=Proxy" with filter "(cn=m2m)", scope "sub" (0) ldap.nodeauth: Waiting for search result... (0) ldap.nodeauth: ERROR: Failed performing search: Invalid DN syntax Any way to stop the xlat from expanding the value, I've tried unescape and a number of different options without success? Or will I need to just define multiple modules with different DNs of the places I would like to search in the hierarchy.