From 809f3e847b7e1b708e9f63e394bedcbe191db550 Mon Sep 17 00:00:00 2001
From: jrandom
- If you have any standard java web applications (.war files) such as - blojsom - or SnipSnap, simply drop their .war - file into ./eepsite/webapps/ and they'll be reachable at - http://$yourEeepsite/warFileName/
-You can also reach your eepsite locally through http://localhost:7658/. If you want to change the port number, edit the file ./eepsite/jetty.xml and diff --git a/installer/resources/i2ptunnel.config b/installer/resources/i2ptunnel.config index 377551c35..2b7af7c30 100644 --- a/installer/resources/i2ptunnel.config +++ b/installer/resources/i2ptunnel.config @@ -55,7 +55,7 @@ tunnel.3.i2cpHost=127.0.0.1 tunnel.3.i2cpPort=7654 tunnel.3.option.inbound.nickname=eepsite tunnel.3.option.outbound.nickname=eepsite -tunnel.3.startOnLoad=true +tunnel.3.startOnLoad=false # postman's SMTP server - see www.postman.i2p tunnel.4.description=smtp server diff --git a/readme.html b/readme.html index 4ba76fc42..9f8bd617e 100644 --- a/readme.html +++ b/readme.html @@ -3,7 +3,7 @@ grow over the next few minutes and you'll see some local "destinations" listed on the left (if not, see below). Once those show up, you can:
eepsite/docroot/
directory (or place any standard JSP/Servlet .war
files under eepsite/webapps
, or standard CGI script under eepsite/cgi-bin
)
-and they'll show up. Your eepsite's
-destination (which uniquely and securely identifies it) can be found via the I2PTunnel
-configuration page - on the details page of the "eepsite" tunnel.
+and they'll show up. After starting up an eepsite tunnel pointing at it, your eepsite's
+destination (which uniquely and securely identifies it) will be visible.
If you want other people to see your eepsite,
you need to give them that really huge string. Just paste it into the
Eepsite announce forum, add it to
diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java
index 33c6bfe05..8fc48439a 100644
--- a/router/java/src/net/i2p/router/RouterVersion.java
+++ b/router/java/src/net/i2p/router/RouterVersion.java
@@ -15,9 +15,9 @@ import net.i2p.CoreVersion;
*
*/
public class RouterVersion {
- public final static String ID = "$Revision: 1.483 $ $Date: 2007-01-29 23:05:21 $";
+ public final static String ID = "$Revision: 1.484 $ $Date: 2007-01-30 03:58:19 $";
public final static String VERSION = "0.6.1.26";
- public final static long BUILD = 17;
+ public final static long BUILD = 18;
public static void main(String args[]) {
System.out.println("I2P Router version: " + VERSION + "-" + BUILD);
System.out.println("Router ID: " + RouterVersion.ID);
diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java
index c37a7feed..2214ed62d 100644
--- a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java
+++ b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java
@@ -227,7 +227,7 @@ public class FloodfillNetworkDatabaseFacade extends KademliaNetworkDatabaseFacad
}
/** list of the Hashes of currently known floodfill peers */
- List getFloodfillPeers() {
+ public List getFloodfillPeers() {
FloodfillPeerSelector sel = (FloodfillPeerSelector)getPeerSelector();
return sel.selectFloodfillParticipants(getKBuckets());
}
diff --git a/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java b/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java
index 18765a0c4..eb2ddd532 100644
--- a/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java
+++ b/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java
@@ -11,6 +11,7 @@ import java.util.*;
import java.util.zip.Adler32;
import net.i2p.data.Base64;
import net.i2p.data.DataHelper;
+import net.i2p.data.Hash;
import net.i2p.data.RouterIdentity;
import net.i2p.data.RouterInfo;
import net.i2p.data.SessionKey;
@@ -21,6 +22,7 @@ import net.i2p.data.i2np.I2NPMessageHandler;
import net.i2p.router.OutNetMessage;
import net.i2p.router.Router;
import net.i2p.router.RouterContext;
+import net.i2p.router.networkdb.kademlia.FloodfillNetworkDatabaseFacade;
import net.i2p.router.transport.FIFOBandwidthLimiter;
import net.i2p.util.Log;
@@ -350,6 +352,8 @@ public class NTCPConnection implements FIFOBandwidthLimiter.CompleteListener {
infoMsg.beginSend();
_context.statManager().addRateData("ntcp.infoMessageEnqueued", 1, 0);
send(infoMsg);
+
+ enqueueFloodfillMessage(target);
} else {
if (_isInbound) {
// ok, we shouldn't have enqueued it yet, as we havent received their info
@@ -358,6 +362,36 @@ public class NTCPConnection implements FIFOBandwidthLimiter.CompleteListener {
}
}
}
+
+ /**
+ * to prevent people from losing track of the floodfill peers completely, lets periodically
+ * send those we are connected to references to the floodfill peers that we know
+ */
+ private void enqueueFloodfillMessage(RouterInfo target) {
+ FloodfillNetworkDatabaseFacade fac = (FloodfillNetworkDatabaseFacade)_context.netDb();
+ List peers = fac.getFloodfillPeers();
+ for (int i = 0; i < peers.size(); i++) {
+ Hash peer = (Hash)peers.get(i);
+
+ // we already sent our own info, and no need to tell them about themselves
+ if (peer.equals(_context.routerHash()) || peer.equals(target.calculateHash()))
+ continue;
+
+ RouterInfo info = fac.lookupRouterInfoLocally(peer);
+
+ OutNetMessage infoMsg = new OutNetMessage(_context);
+ infoMsg.setExpiration(_context.clock().now()+10*1000);
+ DatabaseStoreMessage dsm = new DatabaseStoreMessage(_context);
+ dsm.setKey(peer);
+ dsm.setRouterInfo(info);
+ infoMsg.setMessage(dsm);
+ infoMsg.setPriority(100);
+ infoMsg.setTarget(target);
+ infoMsg.beginSend();
+ _context.statManager().addRateData("ntcp.floodInfoMessageEnqueued", 1, 0);
+ send(infoMsg);
+ }
+ }
/**
* @param clockSkew alice's clock minus bob's clock in seconds (may be negative, obviously, but |val| should
diff --git a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java
index de93d7c1c..ecd363ffc 100644
--- a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java
+++ b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java
@@ -87,6 +87,7 @@ public class NTCPTransport extends TransportImpl {
_context.statManager().createRateStat("ntcp.inboundEstablished", "", "ntcp", new long[] { 60*1000, 10*60*1000 });
_context.statManager().createRateStat("ntcp.inboundEstablishedDuplicate", "", "ntcp", new long[] { 60*1000, 10*60*1000 });
_context.statManager().createRateStat("ntcp.infoMessageEnqueued", "", "ntcp", new long[] { 60*1000, 10*60*1000 });
+ _context.statManager().createRateStat("ntcp.floodInfoMessageEnqueued", "", "ntcp", new long[] { 60*1000, 10*60*1000 });
_context.statManager().createRateStat("ntcp.invalidDH", "", "ntcp", new long[] { 60*1000, 10*60*1000 });
_context.statManager().createRateStat("ntcp.invalidHXY", "", "ntcp", new long[] { 60*1000, 10*60*1000 });
_context.statManager().createRateStat("ntcp.invalidHXxorBIH", "", "ntcp", new long[] { 60*1000, 10*60*1000 });