diff --git a/history.txt b/history.txt index ed00bc04c..b57f7a185 100644 --- a/history.txt +++ b/history.txt @@ -1,6 +1,8 @@ 2012-07-24 zzz * GeoIP: Fix lookups, broken in IPv6 branch - * UPnP: main() tweaks for debugging + * UPnP: + - main() tweaks for debugging + - Fix for devices that return base URLs with trailing '/' (ticket #986) 2012-07-22 zzz * BuildReplyHandler: diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index f2522cd4e..7ca1a3ec2 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 9; + public final static long BUILD = 10; /** for example "-test" */ public final static String EXTRA = ""; diff --git a/router/java/src/org/cybergarage/upnp/Device.java b/router/java/src/org/cybergarage/upnp/Device.java index 7c492624c..ba1f26eee 100644 --- a/router/java/src/org/cybergarage/upnp/Device.java +++ b/router/java/src/org/cybergarage/upnp/Device.java @@ -283,6 +283,9 @@ public class Device implements org.cybergarage.http.HTTPRequestListener, SearchL } urlString = HTTP.toRelativeURL(urlString); + // I2P fix for devices that return a base URL with trailing / + if (urlBaseStr.endsWith("/") && urlString.startsWith("/")) + urlString = urlString.substring(1); String absUrl = urlBaseStr + urlString; try { URL url = new URL(absUrl);