diff --git a/Slackware/i2p/i2p.SlackBuild b/Slackware/i2p/i2p.SlackBuild index 421033356..3bb2c9503 100755 --- a/Slackware/i2p/i2p.SlackBuild +++ b/Slackware/i2p/i2p.SlackBuild @@ -65,7 +65,7 @@ cd $CWD/../../ ant distclean ant dist - +ant tarball tar xjvf i2p.tar.bz2 -C $TMP diff --git a/apps/BOB/nbproject/private/private.xml b/apps/BOB/nbproject/private/private.xml index 2482568bf..237b674f1 100644 --- a/apps/BOB/nbproject/private/private.xml +++ b/apps/BOB/nbproject/private/private.xml @@ -2,6 +2,6 @@ - file:/root/NetBeansProjects/i2p.i2p/apps/BOB/src/net/i2p/BOB/MUXlisten.java + file:/root/NetBeansProjects/i2p.i2p/apps/BOB/src/net/i2p/BOB/I2PtoTCP.java diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java index 456f38a6c..e1ce9084e 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java @@ -19,6 +19,7 @@ import net.i2p.data.DataHelper; import net.i2p.util.EventDispatcher; import net.i2p.util.I2PThread; import net.i2p.util.Log; +import net.i2p.data.Base32; /** * Simple extension to the I2PTunnelServer that filters the HTTP @@ -33,6 +34,8 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer { /** what Host: should we seem to be to the webserver? */ private String _spoofHost; private static final String HASH_HEADER = "X-I2P-DestHash"; + private static final String DEST64_HEADER = "X-I2P-DestB64"; + private static final String DEST32_HEADER = "X-I2P-DestB32"; public I2PTunnelHTTPServer(InetAddress host, int port, String privData, String spoofHost, Logging l, EventDispatcher notifyThis, I2PTunnel tunnel) { super(host, port, privData, l, notifyThis, tunnel); @@ -74,6 +77,9 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer { StringBuilder command = new StringBuilder(128); Properties headers = readHeaders(in, command); headers.setProperty(HASH_HEADER, socket.getPeerDestination().calculateHash().toBase64()); + headers.setProperty(DEST32_HEADER, Base32.encode(socket.getPeerDestination().calculateHash().getData()) + ".b32.i2p" ); + headers.setProperty(DEST64_HEADER, socket.getPeerDestination().toBase64()); + if ( (_spoofHost != null) && (_spoofHost.trim().length() > 0) ) headers.setProperty("Host", _spoofHost); headers.setProperty("Connection", "close"); @@ -361,6 +367,10 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer { name = "X-Accept-encoding"; else if (HASH_HEADER.equalsIgnoreCase(name)) continue; // Prevent spoofing + else if (DEST64_HEADER.equalsIgnoreCase(name)) + continue; // Prevent spoofing + else if (DEST32_HEADER.equalsIgnoreCase(name)) + continue; // Prevent spoofing headers.setProperty(name, value); if (_log.shouldLog(Log.DEBUG)) _log.debug("Read the header [" + name + "] = [" + value + "]"); diff --git a/core/java/src/net/i2p/util/WorkingDir.java b/core/java/src/net/i2p/util/WorkingDir.java index 227a0c3be..a003d2b29 100644 --- a/core/java/src/net/i2p/util/WorkingDir.java +++ b/core/java/src/net/i2p/util/WorkingDir.java @@ -239,7 +239,7 @@ public class WorkingDir { * Recursive copy a file or dir to a dir * * @param src file or directory, need not exist - * @param target the directory to copy to, will be created if it doesn't exist + * @param targetDir the directory to copy to, will be created if it doesn't exist * @return true for success OR if src does not exist */ public static final boolean copy(File src, File targetDir) { @@ -277,8 +277,8 @@ public class WorkingDir { /** * @param src not a directory, must exist - * @param dest not a directory, will be overwritten if existing - * @@reurn true if it was copied successfully + * @param dst not a directory, will be overwritten if existing + * @return true if it was copied successfully */ public static boolean copyFile(File src, File dst) { if (!src.exists()) return false; diff --git a/history.txt b/history.txt index d02bf97dc..fa86dcd76 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,30 @@ +2009-07-06 zzz + * Console: Fix small textareas on Opera + * EepGet: Don't send X-Accept-Encoding for non-proxied fetches + * HTTP Proxy: Limit proxy.i2p to /themes/ directory + * I2PSnark: + - Change postman2 announce URL to use hostname rather than B64 + - Shorten torrent name to fit better on one line + * I2PTunnel: + - Add edit text + - Fix broken favicon + * Move almost all uses of StringBuffer to StringBuilder, + for efficiency (thanks Arsene for the suggestion) + * Reseed: + - Fix console status messages broken by global replace + - Remove tino, add b.netdb.i2p2.de + * SSUDemo: Move to the router/java/test directory + * Startup: Log clients.config problems + * Transport: Implement NTCP auto-transition from an + address to no address, so that inbound NTCP is disabled + after SSU detects a firewall. When UPnP was apparently successful + but the router is still firewalled (due to an additional + software firewall or a bad UPnP indication, for example) + the router will now remove the NTCP address. + +2009-07-05 sponge + * Added X-I2P-DestB64 and X-I2P-DestB32 http headers + 2009-06-29 zzz * Big directory rework: Eliminate all uses of the current working directory, and diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index bd644cee5..e4d51a2bb 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 = 2; + public final static long BUILD = 4; /** for example "-test" */ public final static String EXTRA = ""; public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;