Repository: incubator-unomi
Updated Branches:
  refs/heads/master d43e3644d -> 046fc71cb


UNOMI-143 improve RemoteAddr and make sure we are using the same method 
everywhere in unomi-wab


Project: http://git-wip-us.apache.org/repos/asf/incubator-unomi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-unomi/commit/046fc71c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-unomi/tree/046fc71c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-unomi/diff/046fc71c

Branch: refs/heads/master
Commit: 046fc71cb938c36b71684097b84116ddefd52a28
Parents: d43e364
Author: dgaillard <[email protected]>
Authored: Thu Nov 30 13:57:01 2017 +0100
Committer: dgaillard <[email protected]>
Committed: Thu Nov 30 13:57:01 2017 +0100

----------------------------------------------------------------------
 .../java/org/apache/unomi/web/ContextServlet.java  |  2 +-
 .../apache/unomi/web/EventsCollectorServlet.java   |  2 +-
 .../main/java/org/apache/unomi/web/HttpUtils.java  | 17 ++++++++++++++++-
 3 files changed, 18 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/046fc71c/wab/src/main/java/org/apache/unomi/web/ContextServlet.java
----------------------------------------------------------------------
diff --git a/wab/src/main/java/org/apache/unomi/web/ContextServlet.java 
b/wab/src/main/java/org/apache/unomi/web/ContextServlet.java
index 9844375..006c819 100644
--- a/wab/src/main/java/org/apache/unomi/web/ContextServlet.java
+++ b/wab/src/main/java/org/apache/unomi/web/ContextServlet.java
@@ -300,7 +300,7 @@ public class ContextServlet extends HttpServlet {
             throws IOException {
         List<String> filteredEventTypes = 
privacyService.getFilteredEventTypes(profile.getItemId());
 
-        String thirdPartyId = 
eventService.authenticateThirdPartyServer(((HttpServletRequest)request).getHeader("X-Unomi-Peer"),
 request.getRemoteAddr());
+        String thirdPartyId = 
eventService.authenticateThirdPartyServer(((HttpServletRequest)request).getHeader("X-Unomi-Peer"),
 HttpUtils.getRemoteAddr((HttpServletRequest) request));
 
         int changes = EventService.NO_CHANGE;
         // execute provided events if any

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/046fc71c/wab/src/main/java/org/apache/unomi/web/EventsCollectorServlet.java
----------------------------------------------------------------------
diff --git a/wab/src/main/java/org/apache/unomi/web/EventsCollectorServlet.java 
b/wab/src/main/java/org/apache/unomi/web/EventsCollectorServlet.java
index 432a694..81c3ada 100644
--- a/wab/src/main/java/org/apache/unomi/web/EventsCollectorServlet.java
+++ b/wab/src/main/java/org/apache/unomi/web/EventsCollectorServlet.java
@@ -171,7 +171,7 @@ public class EventsCollectorServlet extends HttpServlet {
             }
         }
 
-        String thirdPartyId = 
eventService.authenticateThirdPartyServer(((HttpServletRequest)request).getHeader("X-Unomi-Peer"),
 request.getRemoteAddr());
+        String thirdPartyId = 
eventService.authenticateThirdPartyServer(((HttpServletRequest)request).getHeader("X-Unomi-Peer"),
 HttpUtils.getRemoteAddr(request));
 
         int changes = 0;
 

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/046fc71c/wab/src/main/java/org/apache/unomi/web/HttpUtils.java
----------------------------------------------------------------------
diff --git a/wab/src/main/java/org/apache/unomi/web/HttpUtils.java 
b/wab/src/main/java/org/apache/unomi/web/HttpUtils.java
index 8965aad..05b012d 100644
--- a/wab/src/main/java/org/apache/unomi/web/HttpUtils.java
+++ b/wab/src/main/java/org/apache/unomi/web/HttpUtils.java
@@ -66,7 +66,7 @@ public class HttpUtils {
         if (httpServletRequest.getQueryString() != null) {
             
stringBuilder.append("?").append(httpServletRequest.getQueryString());
         }
-        stringBuilder.append(" 
serverName=").append(httpServletRequest.getServerName()).append(" 
serverPort=").append(httpServletRequest.getServerPort()).append(" 
remoteAddr=").append(httpServletRequest.getRemoteAddr()).append(" 
remotePort=").append(httpServletRequest.getRemotePort()).append("\n");
+        stringBuilder.append(" 
serverName=").append(httpServletRequest.getServerName()).append(" 
serverPort=").append(httpServletRequest.getServerPort()).append(" 
remoteAddr=").append(getRemoteAddr(httpServletRequest)).append(" 
remotePort=").append(httpServletRequest.getRemotePort()).append("\n");
         return stringBuilder.toString();
     }
 
@@ -152,4 +152,19 @@ public class HttpUtils {
         }
         return null;
     }
+
+    public static String getRemoteAddr(HttpServletRequest request) {
+        String remoteAddr = request.getRemoteAddr();
+        String remoteAddrParameter = request.getParameter("remoteAddr");
+        String xff = request.getHeader("X-Forwarded-For");
+        if (remoteAddrParameter != null && remoteAddrParameter.length() > 0) {
+            remoteAddr = remoteAddrParameter;
+        } else if (xff != null && !xff.equals("")) {
+            if (xff.indexOf(',') > -1) {
+                xff = xff.substring(0, xff.indexOf(','));
+            }
+            remoteAddr = xff;
+        }
+        return remoteAddr;
+    }
 }

Reply via email to