From f1c50b7fc33efd533305ceda458bf1a20902fa37 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Sun, 24 Jan 2010 02:14:39 +0000 Subject: [PATCH] * Clock: - Don't let a client update the router clock - Restore and enhance vanished clock error log message --- core/java/src/net/i2p/client/SetDateMessageHandler.java | 8 ++++++-- core/java/src/net/i2p/time/Timestamper.java | 9 +++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/core/java/src/net/i2p/client/SetDateMessageHandler.java b/core/java/src/net/i2p/client/SetDateMessageHandler.java index 5e3dfab6bd..e828e975c6 100644 --- a/core/java/src/net/i2p/client/SetDateMessageHandler.java +++ b/core/java/src/net/i2p/client/SetDateMessageHandler.java @@ -27,7 +27,11 @@ class SetDateMessageHandler extends HandlerImpl { public void handleMessage(I2CPMessage message, I2PSessionImpl session) { _log.debug("Handle message " + message); SetDateMessage msg = (SetDateMessage) message; - Clock.getInstance().setNow(msg.getDate().getTime()); + // Only do this if we are NOT in the router context; + // otherwise, it sets getUpdatedSuccessfully() in Clock when all + // we did was get the time from ourselves. + if (!_context.isRouterContext()) + Clock.getInstance().setNow(msg.getDate().getTime()); session.dateUpdated(); } -} \ No newline at end of file +} diff --git a/core/java/src/net/i2p/time/Timestamper.java b/core/java/src/net/i2p/time/Timestamper.java index b1d763a3a7..660e3c7ac8 100644 --- a/core/java/src/net/i2p/time/Timestamper.java +++ b/core/java/src/net/i2p/time/Timestamper.java @@ -155,8 +155,13 @@ public class Timestamper implements Runnable { try { lastFailed = !queryTime(_servers.toArray(new String[_servers.size()])); } catch (IllegalArgumentException iae) { - if ( (!lastFailed) && (_log.shouldLog(Log.ERROR)) ) - _log.error("Unable to reach any of the NTP servers - network disconnected?"); + if ( (!_initialized) && (_log.shouldLog(Log.ERROR)) ) { + List<String> all = new ArrayList(); + if (_priorityServers != null) + all.addAll(_priorityServers); + all.addAll(_servers); + _log.error("Unable to reach any of the NTP servers " + all + " - network disconnected? Or set time.sntpServerList=myserver1.com,myserver2.com in advanced configuration."); + } lastFailed = true; } } -- GitLab