I2PTunnelHTTPClient: Test for "http://:/" and output error page.
This avoids an ArrayIndexOutOfBoundsException, which can eventually cause the eepproxy to stop functioning.
This commit is contained in:
@ -1,4 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
|
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
|
||||||
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/1"/>
|
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/1"/>
|
||||||
|
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/1">
|
||||||
|
<file>file:/usblv/NetBeansProjects/i2p.i2p/apps/BOB/src/net/i2p/BOB/TCPtoI2P.java</file>
|
||||||
|
</open-files>
|
||||||
</project-private>
|
</project-private>
|
||||||
|
@ -366,7 +366,17 @@ public class I2PTunnelHTTPClient extends I2PTunnelClientBase implements Runnable
|
|||||||
int port = 80;
|
int port = 80;
|
||||||
if(posPort != -1) {
|
if(posPort != -1) {
|
||||||
String[] parts = host.split(":");
|
String[] parts = host.split(":");
|
||||||
|
try {
|
||||||
host = parts[0];
|
host = parts[0];
|
||||||
|
} catch (ArrayIndexOutOfBoundsException ex) {
|
||||||
|
if (out != null) {
|
||||||
|
out.write(getErrorPage("denied", ERR_REQUEST_DENIED));
|
||||||
|
writeFooter(out);
|
||||||
|
}
|
||||||
|
s.close();
|
||||||
|
return;
|
||||||
|
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
port = Integer.parseInt(parts[1]);
|
port = Integer.parseInt(parts[1]);
|
||||||
} catch(Exception exc) {
|
} catch(Exception exc) {
|
||||||
@ -437,9 +447,9 @@ public class I2PTunnelHTTPClient extends I2PTunnelClientBase implements Runnable
|
|||||||
// Silently bypass correct keys, otherwise alert
|
// Silently bypass correct keys, otherwise alert
|
||||||
String destB64 = null;
|
String destB64 = null;
|
||||||
try {
|
try {
|
||||||
Destination dest = I2PTunnel.destFromName(host);
|
Destination _dest = I2PTunnel.destFromName(host);
|
||||||
if (dest != null)
|
if (_dest != null)
|
||||||
destB64 = dest.toBase64();
|
destB64 = _dest.toBase64();
|
||||||
} catch (DataFormatException dfe) {}
|
} catch (DataFormatException dfe) {}
|
||||||
if (destB64 != null && !destB64.equals(ahelperKey))
|
if (destB64 != null && !destB64.equals(ahelperKey))
|
||||||
{
|
{
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2010-04-15 sponge
|
||||||
|
* I2PTunnelHTTPClient: Test for "http://:/" and output error page.
|
||||||
|
This avoids an ArrayIndexOutOfBoundsException, which can eventually
|
||||||
|
cause the eepproxy to stop functioning.
|
||||||
|
|
||||||
2010-04-12 zzz
|
2010-04-12 zzz
|
||||||
* configstats.jsp: Fix full stats checkbox default
|
* configstats.jsp: Fix full stats checkbox default
|
||||||
* i2psnark:
|
* i2psnark:
|
||||||
|
@ -18,7 +18,7 @@ public class RouterVersion {
|
|||||||
/** deprecated */
|
/** deprecated */
|
||||||
public final static String ID = "Monotone";
|
public final static String ID = "Monotone";
|
||||||
public final static String VERSION = CoreVersion.VERSION;
|
public final static String VERSION = CoreVersion.VERSION;
|
||||||
public final static long BUILD = 9;
|
public final static long BUILD = 10;
|
||||||
|
|
||||||
/** for example "-test" */
|
/** for example "-test" */
|
||||||
public final static String EXTRA = "";
|
public final static String EXTRA = "";
|
||||||
|
Reference in New Issue
Block a user