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