You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ma...@apache.org on 2016/12/14 20:59:11 UTC
[2/2] incubator-ranger git commit: RANGER-1256: plugin-status report
has incorrect plugin IP address when Ranger Admin is in HA mode
RANGER-1256: plugin-status report has incorrect plugin IP address when Ranger Admin is in HA mode
Signed-off-by: Madhan Neethiraj <ma...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/a1dd7be6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/a1dd7be6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/a1dd7be6
Branch: refs/heads/master
Commit: a1dd7be65d9e0ac82b45aa6cb357a657ecab8c4f
Parents: 83674c7
Author: Abhay Kulkarni <ak...@hortonworks.com>
Authored: Tue Dec 13 16:11:26 2016 -0800
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Wed Dec 14 12:43:29 2016 -0800
----------------------------------------------------------------------
.../java/org/apache/ranger/biz/AssetMgr.java | 21 +++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a1dd7be6/security-admin/src/main/java/org/apache/ranger/biz/AssetMgr.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/AssetMgr.java b/security-admin/src/main/java/org/apache/ranger/biz/AssetMgr.java
index 479099d..d32d796 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/AssetMgr.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/AssetMgr.java
@@ -672,7 +672,7 @@ public class AssetMgr extends AssetMgrBase {
public void createPluginInfo(String serviceName, String pluginId, HttpServletRequest request, int entityType, long downloadedVersion, long lastKnownVersion, long lastActivationTime, int httpCode) {
RangerRESTUtils restUtils = new RangerRESTUtils();
- final String ipAddress = request != null ? request.getRemoteAddr() : null;
+ final String ipAddress = getRemoteAddress(request);
final String appType = restUtils.getAppIdFromPluginId(pluginId);
String tmpHostName = null;
@@ -830,6 +830,25 @@ public class AssetMgr extends AssetMgrBase {
return ret;
}
+ private String getRemoteAddress(final HttpServletRequest request) {
+ String ret = null;
+
+ if (request != null) {
+ String xForwardedAddress = request.getHeader("X-Forwarded-For");
+ if (StringUtils.isNotBlank(xForwardedAddress)) {
+ String[] forwardedAddresses = xForwardedAddress.split(",");
+ if (forwardedAddresses.length > 0) {
+ // Use first one. Hope it is the IP of the originating client
+ ret = forwardedAddresses[0].trim();
+ }
+ }
+ if (ret == null) {
+ ret = request.getRemoteAddr();
+ }
+ }
+ return ret;
+ }
+
public VXTrxLogList getReportLogs(SearchCriteria searchCriteria) {
if (!xaBizUtil.isAdmin()) {
throw restErrorUtil.create403RESTException("Permission Denied !");