farFu incorrect redirect with logout

There’s something a little odd with FarCry farFU redirection with logout=1 in pretty FU format.

If /dirA/dirB is a valid page, then /dirA/dirB/logout/1 gets redirected as follows:

/dirA/dirB/logout/1
302 -> /dirA/dirB/logout/1?furl=/dirA/dirB/logout/1
302 -> /dirA/dirB/logout/1?furl=/dirA/dirB/logout/1?furl=/dirA/dirB/logout/1
302 -> /dirA/dirB/logout/1?furl=/dirA/dirB/logout/1?furl=/dirA/dirB/logout/1?furl=/dirA/dirB/logout/1
302 -> /dirA/dirB/logout/1?furl=/dirA/dirB/logout/1?furl=/dirA/dirB/logout/1?furl=/dirA/dirB/logout/1?furl=/dirA/dirB/logout/1

and so on. The browser eventually stops it.

I’m happy to fix it but I can’t quite work out what’s going wrong.

FYI running FarCry 7.2.8 on Lucee 4.5 latest.

Trigger in Application.cfc:

fixUrl in utils.cfc:

Thanks, I’ve confirmed this bug. It doesn’t seem to happen for FUs which are a 404, but does happen for FUs which are 200’s.

In addition, when you use the logout=1 query string parameter the redirect URL also seems to have an issue. This URL;
http://testfu.local/some/page?logout=1
incorrectly redirects to;
http://testfu.local/some/page?furl=/some/page

I’ll take a further look when I get a chance :slight_smile:

2 Likes