I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Commit 610f1f7d authored by jrandom's avatar jrandom Committed by zzz
Browse files

* 2004-12-01 0.4.2.1 released

2004-12-01  jrandom
    * Strip out any of the Accept-* HTTP header lines, and always make sure to
      include the forged User-agent header.
    * Adjust the default read timeout on the eepproxy to 60s, unless
      overridden.
    * Minor tweak on stream shutdown.
parent 516d0b4d
No related branches found
Tags i2p_0_4_2_1
No related merge requests found
......@@ -19,6 +19,7 @@ import java.util.Properties;
import net.i2p.I2PAppContext;
import net.i2p.I2PException;
import net.i2p.client.streaming.I2PSocket;
import net.i2p.client.streaming.I2PSocketOptions;
import net.i2p.data.DataFormatException;
import net.i2p.data.Destination;
import net.i2p.util.Clock;
......@@ -143,6 +144,33 @@ public class I2PTunnelHTTPClient extends I2PTunnelClientBase implements Runnable
return proxy;
}
}
private static final int DEFAULT_READ_TIMEOUT = 60*1000;
/**
* create the default options (using the default timeout, etc)
*
*/
protected I2PSocketOptions getDefaultOptions() {
I2PSocketOptions opts = super.getDefaultOptions();
Properties defaultOpts = getTunnel().getClientOptions();
if (!defaultOpts.contains(I2PSocketOptions.PROP_READ_TIMEOUT))
opts.setReadTimeout(DEFAULT_READ_TIMEOUT);
return opts;
}
/**
* create the default options (using the default timeout, etc)
*
*/
protected I2PSocketOptions getDefaultOptions(Properties overrides) {
I2PSocketOptions opts = super.getDefaultOptions(overrides);
Properties defaultOpts = getTunnel().getClientOptions();
defaultOpts.putAll(overrides);
if (!defaultOpts.containsKey(I2PSocketOptions.PROP_READ_TIMEOUT))
opts.setConnectTimeout(DEFAULT_READ_TIMEOUT);
return opts;
}
private static long __requestId = 0;
protected void clientConnectionRun(Socket s) {
......@@ -295,7 +323,14 @@ public class I2PTunnelHTTPClient extends I2PTunnelClientBase implements Runnable
if (_log.shouldLog(Log.INFO))
_log.info(getPrefix(requestId) + "Setting host = " + host);
} else if (line.startsWith("User-Agent: ")) {
line = "User-Agent: MYOB/6.66 (AN/ON)";
// always stripped, added back at the end
line = null;
continue;
} else if (line.startsWith("Accept")) {
// strip the accept-blah headers, as they vary dramatically from
// browser to browser
line = null;
continue;
} else if (line.startsWith("Referer: ")) {
// Shouldn't we be more specific, like accepting in-site referers ?
//line = "Referer: i2p";
......@@ -313,6 +348,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelClientBase implements Runnable
}
if (line.length() == 0) {
newRequest.append("User-Agent: MYOB/6.66 (AN/ON)");
newRequest.append("Connection: close\r\n\r\n");
break;
} else {
......
......@@ -337,8 +337,12 @@ public class Connection {
void resetReceived() {
_resetReceived = true;
_outputStream.streamErrorOccurred(new IOException("Reset received"));
_inputStream.streamErrorOccurred(new IOException("Reset received"));
MessageOutputStream mos = _outputStream;
MessageInputStream mis = _inputStream;
if (mos != null)
mos.streamErrorOccurred(new IOException("Reset received"));
if (mis != null)
mis.streamErrorOccurred(new IOException("Reset received"));
_connectionError = "Connection reset";
synchronized (_connectLock) { _connectLock.notifyAll(); }
}
......
$Id: history.txt,v 1.89 2004/11/29 18:24:50 jrandom Exp $
$Id: history.txt,v 1.90 2004/11/30 18:41:52 jrandom Exp $
* 2004-12-01 0.4.2.1 released
2004-12-01 jrandom
* Strip out any of the Accept-* HTTP header lines, and always make sure to
include the forged User-agent header.
* Adjust the default read timeout on the eepproxy to 60s, unless
overridden.
* Minor tweak on stream shutdown.
2004-11-30 jrandom
* Render the burst rate fields on /config.jsp properly (thanks ugha!)
......
......@@ -4,7 +4,7 @@
<info>
<appname>i2p</appname>
<appversion>0.4.2</appversion>
<appversion>0.4.2.1</appversion>
<authors>
<author name="I2P" email="support@i2p.net"/>
</authors>
......
......@@ -15,9 +15,9 @@ import net.i2p.CoreVersion;
*
*/
public class RouterVersion {
public final static String ID = "$Revision: 1.94 $ $Date: 2004/11/29 18:24:49 $";
public final static String VERSION = "0.4.2";
public final static long BUILD = 7;
public final static String ID = "$Revision: 1.95 $ $Date: 2004/11/30 18:41:51 $";
public final static String VERSION = "0.4.2.1";
public final static long BUILD = 0;
public static void main(String args[]) {
System.out.println("I2P Router version: " + VERSION);
System.out.println("Router ID: " + RouterVersion.ID);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment