This is an automated email from the ASF dual-hosted git repository. elsloo pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-trafficcontrol.git
commit 7784e03386aee7ca04ce85a333fcc751f0255305 Author: PeterRyder <peter.w.ry...@gmail.com> AuthorDate: Mon Dec 4 13:28:43 2017 -0500 Updated with redirectURL --- .../traffic_router/core/loc/AnonymousIp.java | 14 ++++++++++++-- traffic_router/core/src/test/resources/anonymous_ip.json | 4 +++- .../core/src/test/resources/anonymous_ip_no_whitelist.json | 1 + 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIp.java b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIp.java index bc1452e..6de381f 100644 --- a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIp.java +++ b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIp.java @@ -18,6 +18,7 @@ import java.io.File; import java.io.FileReader; import java.net.InetAddress; import java.net.MalformedURLException; +import java.net.URL; import org.apache.log4j.Logger; import org.apache.wicket.ajax.json.JSONException; @@ -55,6 +56,8 @@ public final class AnonymousIp { private AnonymousIpWhitelist ipv4Whitelist; private AnonymousIpWhitelist ipv6Whitelist; + private String redirectUrl; + public final static int BLOCK_CODE = 403; public final static String WHITE_LIST_LOC = "w"; @@ -126,6 +129,10 @@ public final class AnonymousIp { parseIPv4Whitelist(config, anonymousIp); parseIPv6Whitelist(config, anonymousIp); + if (config.has("redirectUrl")) { + anonymousIp.redirectUrl = config.getString("redirectUrl"); + } + return anonymousIp; } catch (Exception e) { LOGGER.error("AnonymousIp ERR: parsing config file failed", e); @@ -219,8 +226,8 @@ public final class AnonymousIp { * in the anonymous ip database The ip will be blocked if it matches a * policy defined in the config file */ - public static void enforce(final TrafficRouter trafficRouter, final Request request, final DeliveryService deliveryService, final Cache cache, - final HTTPRouteResult routeResult, final Track track) throws MalformedURLException { + public static void enforce(final TrafficRouter trafficRouter, final Request request, final DeliveryService deliveryService, final Cache cache, + final HTTPRouteResult routeResult, final Track track) throws MalformedURLException { final HTTPRequest httpRequest = HTTPRequest.class.cast(request); @@ -236,6 +243,9 @@ public final class AnonymousIp { if (block) { routeResult.setResponseCode(AnonymousIp.BLOCK_CODE); track.setResult(ResultType.ANON_BLOCK); + if (AnonymousIp.getCurrentConfig().redirectUrl != null) { + routeResult.setUrl(new URL(AnonymousIp.getCurrentConfig().redirectUrl)); + } } } } diff --git a/traffic_router/core/src/test/resources/anonymous_ip.json b/traffic_router/core/src/test/resources/anonymous_ip.json index e64d0a5..05f686a 100644 --- a/traffic_router/core/src/test/resources/anonymous_ip.json +++ b/traffic_router/core/src/test/resources/anonymous_ip.json @@ -12,5 +12,7 @@ "ip4Whitelist": ["192.168.30.0/24", "10.0.2.0/24", "5.34.32.0/24"], - "ip6Whitelist": ["2001:550:90a::/48", "::1/128"] + "ip6Whitelist": ["2001:550:90a::/48", "::1/128"], + + "redirectUrl": "http://youvebeenblocked.com" } \ No newline at end of file diff --git a/traffic_router/core/src/test/resources/anonymous_ip_no_whitelist.json b/traffic_router/core/src/test/resources/anonymous_ip_no_whitelist.json index 2f0f18e..1e0ba93 100644 --- a/traffic_router/core/src/test/resources/anonymous_ip_no_whitelist.json +++ b/traffic_router/core/src/test/resources/anonymous_ip_no_whitelist.json @@ -9,4 +9,5 @@ "blockHostingProvider": true, "blockPublicProxy": true, "blockTorExitNode": false}, + "redirectUrl": "http://youvebeenblocked.com" } \ No newline at end of file -- To stop receiving notification emails like this one, please contact els...@apache.org.