Revision: 6216
          http://sourceforge.net/p/jump-pilot/code/6216
Author:   edso
Date:     2020-01-06 12:43:46 +0000 (Mon, 06 Jan 2020)
Log Message:
-----------
prevent redirect loops by adding fixed redirect limit of 20 times

Modified Paths:
--------------
    core/trunk/src/org/openjump/util/URLConnectionProvider.java

Modified: core/trunk/src/org/openjump/util/URLConnectionProvider.java
===================================================================
--- core/trunk/src/org/openjump/util/URLConnectionProvider.java 2020-01-06 
12:42:37 UTC (rev 6215)
+++ core/trunk/src/org/openjump/util/URLConnectionProvider.java 2020-01-06 
12:43:46 UTC (rev 6216)
@@ -7,6 +7,7 @@
 import com.vividsolutions.jump.workbench.plugin.PlugInContext;
 import com.vividsolutions.jump.workbench.ui.network.ProxySettingsOptionsPanel;
 import com.vividsolutions.jump.workbench.ui.plugin.PersistentBlackboardPlugIn;
+import com.vividsolutions.wms.WMSException;
 
 import javax.net.ssl.HttpsURLConnection;
 import javax.net.ssl.SSLContext;
@@ -59,8 +60,14 @@
     // we handle redirects ourselfs
     connection.setInstanceFollowRedirects(false);
     
+    int numRedirects = 0;
     URL prev = null, next = connection.getURL();
     while (followRedirects && !next.equals(prev) ) {
+      // redirect max 20 times, see 
+      // 
https://stackoverflow.com/questions/9384474/in-chrome-how-many-redirects-are-too-many
+      if (++numRedirects >= 20)
+        throw new WMSException("To many redirects ("+numRedirects+") for Url: 
"+url);
+
       connection = getHttpConnection(next);
       // we handle redirects ourselfs
       connection.setInstanceFollowRedirects(false);



_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to