mirror of
https://github.com/apache/struts.git
synced 2026-08-16 20:16:57 +00:00
WW-4526 Checks if passed in scheme param is valid
This commit is contained in:
@@ -85,12 +85,17 @@ public class DefaultUrlHelper implements UrlHelper {
|
|||||||
return buildUrl(action, request, response, params, scheme, includeContext, encodeResult, forceAddSchemeHostAndPort, true);
|
return buildUrl(action, request, response, params, scheme, includeContext, encodeResult, forceAddSchemeHostAndPort, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String buildUrl(String action, HttpServletRequest request, HttpServletResponse response, Map<String, Object> params, String scheme,
|
public String buildUrl(String action, HttpServletRequest request, HttpServletResponse response, Map<String, Object> params, String urlScheme,
|
||||||
boolean includeContext, boolean encodeResult, boolean forceAddSchemeHostAndPort, boolean escapeAmp) {
|
boolean includeContext, boolean encodeResult, boolean forceAddSchemeHostAndPort, boolean escapeAmp) {
|
||||||
|
|
||||||
StringBuilder link = new StringBuilder();
|
StringBuilder link = new StringBuilder();
|
||||||
boolean changedScheme = false;
|
boolean changedScheme = false;
|
||||||
|
|
||||||
|
String scheme = null;
|
||||||
|
if (isValidScheme(urlScheme)) {
|
||||||
|
scheme = urlScheme;
|
||||||
|
}
|
||||||
|
|
||||||
// only append scheme if it is different to the current scheme *OR*
|
// only append scheme if it is different to the current scheme *OR*
|
||||||
// if we explicity want it to be appended by having forceAddSchemeHostAndPort = true
|
// if we explicity want it to be appended by having forceAddSchemeHostAndPort = true
|
||||||
if (forceAddSchemeHostAndPort) {
|
if (forceAddSchemeHostAndPort) {
|
||||||
@@ -241,6 +246,10 @@ public class DefaultUrlHelper implements UrlHelper {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected boolean isValidScheme(String scheme) {
|
||||||
|
return HTTP_PROTOCOL.equals(scheme) || HTTPS_PROTOCOL.equals(scheme);
|
||||||
|
}
|
||||||
|
|
||||||
private String buildParameterSubstring(String name, String value) {
|
private String buildParameterSubstring(String name, String value) {
|
||||||
StringBuilder builder = new StringBuilder();
|
StringBuilder builder = new StringBuilder();
|
||||||
builder.append(encode(name));
|
builder.append(encode(name));
|
||||||
|
|||||||
Reference in New Issue
Block a user