mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 13:17:41 +00:00
GUACAMOLE-540: Remove processing of X-Forwarded-For header.
This commit is contained in:
@@ -41,27 +41,6 @@ public class Credentials implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/**
|
|
||||||
* Regular expression which matches any IPv4 address.
|
|
||||||
*/
|
|
||||||
private static final String IPV4_ADDRESS_REGEX = "([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3})";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Regular expression which matches any IPv6 address.
|
|
||||||
*/
|
|
||||||
private static final String IPV6_ADDRESS_REGEX = "([0-9a-fA-F]*(:[0-9a-fA-F]*){0,7})";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Regular expression which matches any IP address, regardless of version.
|
|
||||||
*/
|
|
||||||
private static final String IP_ADDRESS_REGEX = "(" + IPV4_ADDRESS_REGEX + "|" + IPV6_ADDRESS_REGEX + ")";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Pattern which matches valid values of the de-facto standard
|
|
||||||
* "X-Forwarded-For" header.
|
|
||||||
*/
|
|
||||||
private static final Pattern X_FORWARDED_FOR = Pattern.compile("^" + IP_ADDRESS_REGEX + "(, " + IP_ADDRESS_REGEX + ")*$");
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An arbitrary username.
|
* An arbitrary username.
|
||||||
*/
|
*/
|
||||||
@@ -116,16 +95,7 @@ public class Credentials implements Serializable {
|
|||||||
this.password = password;
|
this.password = password;
|
||||||
this.request = request;
|
this.request = request;
|
||||||
|
|
||||||
// Use X-Forwarded-For to get remote address, if present and valid
|
// Set the remote address
|
||||||
String header = request.getHeader("X-Forwarded-For");
|
|
||||||
if (header != null) {
|
|
||||||
Matcher matcher = X_FORWARDED_FOR.matcher(header);
|
|
||||||
if (matcher.matches())
|
|
||||||
this.remoteAddress = matcher.group(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Header not present, just use remote address
|
|
||||||
else
|
|
||||||
this.remoteAddress = request.getRemoteAddr();
|
this.remoteAddress = request.getRemoteAddr();
|
||||||
|
|
||||||
// Get the remote hostname
|
// Get the remote hostname
|
||||||
|
Reference in New Issue
Block a user