From 0ad18cd0ba98789e48106bad4b879d922e8b38f4 Mon Sep 17 00:00:00 2001 From: jrandom <jrandom> Date: Fri, 4 Nov 2005 03:08:00 +0000 Subject: [PATCH] 2005-10-31 jrandom * Fix for some syndie reply scenarios (thanks identiguy and CofE!) * Removed a potentially infinitely recursive call (oops) (forgot to commit this file before. oops) --- router/java/src/net/i2p/router/Router.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/router/java/src/net/i2p/router/Router.java b/router/java/src/net/i2p/router/Router.java index 7fe3cc0b57..02afd4e68d 100644 --- a/router/java/src/net/i2p/router/Router.java +++ b/router/java/src/net/i2p/router/Router.java @@ -41,6 +41,7 @@ import net.i2p.stat.Rate; import net.i2p.stat.RateStat; import net.i2p.util.FileUtil; import net.i2p.util.I2PThread; +import net.i2p.util.SimpleTimer; import net.i2p.util.Log; /** @@ -326,14 +327,20 @@ public class Router { } ri.sign(key); setRouterInfo(ri); + SimpleTimer.getInstance().addEvent(new Republish(), 0); + } catch (DataFormatException dfe) { + _log.log(Log.CRIT, "Internal error - unable to sign our own address?!", dfe); + } + } + + private class Republish implements SimpleTimer.TimedEvent { + public void timeReached() { try { - _context.netDb().publish(ri); + _context.netDb().publish(getRouterInfo()); } catch (IllegalArgumentException iae) { _log.log(Log.CRIT, "Local router info is invalid? rebuilding a new identity", iae); rebuildNewIdentity(); } - } catch (DataFormatException dfe) { - _log.log(Log.CRIT, "Internal error - unable to sign our own address?!", dfe); } } -- GitLab