[jira] [Commented] (SLING-2251) RedirectServlet should create relative Location headers as often as possible
[ https://issues.apache.org/jira/browse/SLING-2251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13168510#comment-13168510 ] Justin Edelson commented on SLING-2251: --- applied IT patch in r1213782. Thanks for the patch! > RedirectServlet should create relative Location headers as often as possible > > > Key: SLING-2251 > URL: https://issues.apache.org/jira/browse/SLING-2251 > Project: Sling > Issue Type: Improvement > Components: Servlets >Affects Versions: Servlets Get 2.1.2 >Reporter: Alexander Klimetschek > Attachments: SLING-2251-VanityPathTest.patch, SLING-2251.patch > > > SLING-1965 (more specifically > http://svn.apache.org/viewvc?view=revision&revision=903175 ) changed the > redirect servlet so that it _always_ generates an absolute location header. > The issue does not give much reasoning for that. > The problem is that this breaks cases where a Sling server is run behind a > proxy (which does not or cannot rewrite the Location header), as the redirect > ("http://localhost:8080/some/path";) might not match the externally visible > domain (e.g. "https://my.domain.com";). Also, the schema is fixed (e.g. might > switch external https back to http). > A solution would be to generate absolute URLs only if a resource resolver > mapping (/etc/map) includes an explicit domain and thus generates an absolute > URL. For all other cases, relative URLs should be generated. AFAICS, this was > the case before SLING-1965. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2251) RedirectServlet should create relative Location headers as often as possible
[ https://issues.apache.org/jira/browse/SLING-2251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13168499#comment-13168499 ] Alexander Klimetschek commented on SLING-2251: -- @Antonio: It's already committed :-) Could someone fix the integration tests (Troy provided a patch already) and resolve + close this bug? Thanks! > RedirectServlet should create relative Location headers as often as possible > > > Key: SLING-2251 > URL: https://issues.apache.org/jira/browse/SLING-2251 > Project: Sling > Issue Type: Improvement > Components: Servlets >Affects Versions: Servlets Get 2.1.2 >Reporter: Alexander Klimetschek > Attachments: SLING-2251-VanityPathTest.patch, SLING-2251.patch > > > SLING-1965 (more specifically > http://svn.apache.org/viewvc?view=revision&revision=903175 ) changed the > redirect servlet so that it _always_ generates an absolute location header. > The issue does not give much reasoning for that. > The problem is that this breaks cases where a Sling server is run behind a > proxy (which does not or cannot rewrite the Location header), as the redirect > ("http://localhost:8080/some/path";) might not match the externally visible > domain (e.g. "https://my.domain.com";). Also, the schema is fixed (e.g. might > switch external https back to http). > A solution would be to generate absolute URLs only if a resource resolver > mapping (/etc/map) includes an explicit domain and thus generates an absolute > URL. For all other cases, relative URLs should be generated. AFAICS, this was > the case before SLING-1965. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2251) RedirectServlet should create relative Location headers as often as possible
[ https://issues.apache.org/jira/browse/SLING-2251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13168404#comment-13168404 ] Antonio Sanso commented on SLING-2251: -- +1 > RedirectServlet should create relative Location headers as often as possible > > > Key: SLING-2251 > URL: https://issues.apache.org/jira/browse/SLING-2251 > Project: Sling > Issue Type: Improvement > Components: Servlets >Affects Versions: Servlets Get 2.1.2 >Reporter: Alexander Klimetschek > Attachments: SLING-2251-VanityPathTest.patch, SLING-2251.patch > > > SLING-1965 (more specifically > http://svn.apache.org/viewvc?view=revision&revision=903175 ) changed the > redirect servlet so that it _always_ generates an absolute location header. > The issue does not give much reasoning for that. > The problem is that this breaks cases where a Sling server is run behind a > proxy (which does not or cannot rewrite the Location header), as the redirect > ("http://localhost:8080/some/path";) might not match the externally visible > domain (e.g. "https://my.domain.com";). Also, the schema is fixed (e.g. might > switch external https back to http). > A solution would be to generate absolute URLs only if a resource resolver > mapping (/etc/map) includes an explicit domain and thus generates an absolute > URL. For all other cases, relative URLs should be generated. AFAICS, this was > the case before SLING-1965. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2251) RedirectServlet should create relative Location headers as often as possible
[ https://issues.apache.org/jira/browse/SLING-2251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13167958#comment-13167958 ] Troy Caldwell commented on SLING-2251: -- Other tests that break are in: launchpad/integration-tests/src/main/java/org/apache/sling/launchpad/webapp/integrationtest/VanityPathTest.java test302Redirect() test301Redirect() testRedirectKeepingExtensionAndSelector() In the attached patch I've removed HTTP_BASE_URL from the expected value. > RedirectServlet should create relative Location headers as often as possible > > > Key: SLING-2251 > URL: https://issues.apache.org/jira/browse/SLING-2251 > Project: Sling > Issue Type: Improvement > Components: Servlets >Affects Versions: Servlets Get 2.1.2 >Reporter: Alexander Klimetschek > Attachments: SLING-2251.patch > > > SLING-1965 (more specifically > http://svn.apache.org/viewvc?view=revision&revision=903175 ) changed the > redirect servlet so that it _always_ generates an absolute location header. > The issue does not give much reasoning for that. > The problem is that this breaks cases where a Sling server is run behind a > proxy (which does not or cannot rewrite the Location header), as the redirect > ("http://localhost:8080/some/path";) might not match the externally visible > domain (e.g. "https://my.domain.com";). Also, the schema is fixed (e.g. might > switch external https back to http). > A solution would be to generate absolute URLs only if a resource resolver > mapping (/etc/map) includes an explicit domain and thus generates an absolute > URL. For all other cases, relative URLs should be generated. AFAICS, this was > the case before SLING-1965. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2251) RedirectServlet should create relative Location headers as often as possible
[ https://issues.apache.org/jira/browse/SLING-2251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13164249#comment-13164249 ] Alexander Klimetschek commented on SLING-2251: -- Probably not important, but the change in the test case made the isAbsolute case wrong: it does the same relative check as the else clause. -private static void assertEqualsUri(String expected, String actual) { -assertEquals(TEST_PREFIX + expected, actual); +private static void assertEqualsUri(String expected, String actual, boolean isAbsolute) { +if (isAbsolute) { +assertEquals(expected, actual); +} else { +assertEquals(expected, actual); +} } > RedirectServlet should create relative Location headers as often as possible > > > Key: SLING-2251 > URL: https://issues.apache.org/jira/browse/SLING-2251 > Project: Sling > Issue Type: Improvement > Components: Servlets >Affects Versions: Servlets Get 2.1.2 >Reporter: Alexander Klimetschek > Attachments: SLING-2251.patch > > > SLING-1965 (more specifically > http://svn.apache.org/viewvc?view=revision&revision=903175 ) changed the > redirect servlet so that it _always_ generates an absolute location header. > The issue does not give much reasoning for that. > The problem is that this breaks cases where a Sling server is run behind a > proxy (which does not or cannot rewrite the Location header), as the redirect > ("http://localhost:8080/some/path";) might not match the externally visible > domain (e.g. "https://my.domain.com";). Also, the schema is fixed (e.g. might > switch external https back to http). > A solution would be to generate absolute URLs only if a resource resolver > mapping (/etc/map) includes an explicit domain and thus generates an absolute > URL. For all other cases, relative URLs should be generated. AFAICS, this was > the case before SLING-1965. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2251) RedirectServlet should create relative Location headers as often as possible
[ https://issues.apache.org/jira/browse/SLING-2251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13163617#comment-13163617 ] Felix Meschberger commented on SLING-2251: -- Thanks for the patch. I applied the patch in Rev. 1210929. > RedirectServlet should create relative Location headers as often as possible > > > Key: SLING-2251 > URL: https://issues.apache.org/jira/browse/SLING-2251 > Project: Sling > Issue Type: Improvement > Components: Servlets >Affects Versions: Servlets Get 2.1.2 >Reporter: Alexander Klimetschek > Attachments: SLING-2251.patch > > > SLING-1965 (more specifically > http://svn.apache.org/viewvc?view=revision&revision=903175 ) changed the > redirect servlet so that it _always_ generates an absolute location header. > The issue does not give much reasoning for that. > The problem is that this breaks cases where a Sling server is run behind a > proxy (which does not or cannot rewrite the Location header), as the redirect > ("http://localhost:8080/some/path";) might not match the externally visible > domain (e.g. "https://my.domain.com";). Also, the schema is fixed (e.g. might > switch external https back to http). > A solution would be to generate absolute URLs only if a resource resolver > mapping (/etc/map) includes an explicit domain and thus generates an absolute > URL. For all other cases, relative URLs should be generated. AFAICS, this was > the case before SLING-1965. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2251) RedirectServlet should create relative Location headers as often as possible
[ https://issues.apache.org/jira/browse/SLING-2251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13130579#comment-13130579 ] Alexander Klimetschek commented on SLING-2251: -- An (untested) patch would be - at the end of toRedirect(), lines 230-237 - simply return the result of the mapping: return request.getResourceResolver().map(request, target.toString()); AFAIK, the resource resolver's map method (with request object) already does the necessary logic to create a relative path if the request domain matches the mapping domain, and an absolute path if it differs. > RedirectServlet should create relative Location headers as often as possible > > > Key: SLING-2251 > URL: https://issues.apache.org/jira/browse/SLING-2251 > Project: Sling > Issue Type: Improvement > Components: Servlets >Affects Versions: Servlets Get 2.1.2 >Reporter: Alexander Klimetschek > > SLING-1965 (more specifically > http://svn.apache.org/viewvc?view=revision&revision=903175 ) changed the > redirect servlet so that it _always_ generates an absolute location header. > The issue does not give much reasoning for that. > The problem is that this breaks cases where a Sling server is run behind a > proxy (which does not or cannot rewrite the Location header), as the redirect > ("http://localhost:8080/some/path";) might not match the externally visible > domain (e.g. "https://my.domain.com";). Also, the schema is fixed (e.g. might > switch external https back to http). > A solution would be to generate absolute URLs only if a resource resolver > mapping (/etc/map) includes an explicit domain and thus generates an absolute > URL. For all other cases, relative URLs should be generated. AFAICS, this was > the case before SLING-1965. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira