[tor-bugs] #1074 [Tor Client]: Tor sends clock_skew status event warn too liberally

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Fri Nov 12 01:52:44 UTC 2010


#1074: Tor sends clock_skew status event warn too liberally
------------------------------+---------------------------------------------
 Reporter:  arma              |         Type:  defect    
   Status:  new               |     Priority:  minor     
Milestone:  Tor: unspecified  |    Component:  Tor Client
  Version:  0.2.1.19          |   Resolution:  None      
 Keywords:                    |       Parent:            
------------------------------+---------------------------------------------
Changes (by nickm):

  * milestone:  => Tor: unspecified


Old description:

> In command.c, if netinfo tells us our clock is skewed, we log based on:
>     if (router_digest_is_trusted_dir(conn->identity_digest))
>       severity = LOG_WARN;
>     else
>       severity = LOG_INFO;
>
> But then we complain to the controller regardless of whether it's an
> authority:
>     control_event_general_status(LOG_WARN,
>                         "CLOCK_SKEW SKEW=%ld SOURCE=OR:%s:%d",
>                         apparent_skew, conn->_base.address,
> conn->_base.port);
>
> So the simple fix is for 0.2.1.20 to only send the status event if
> severity == LOG_WARN.
>
> Then Vidalia should workaround it by ignoring SOURCE=OR: clock skew
> events
> from Tor <= 0.2.1.19 and 0.2.2.1-alpha.
>
> The broader challenge is that tor clients avoid going to the authorities,
> so
> if their clock is wrong, they'll never do more than log at log-level
> info, and
> all this status event work is for naught.
>
> We should fix this in 0.2.2.x, either with a more aggressive proposal, or
> at least
> with a bit we remember that makes us connect to an authority (and thus
> get a
> trusted opinion on our time) if we keep getting skew problems from other
> relays.
>
> [Automatically added by flyspray2trac: Operating System: All]

New description:

 In command.c, if netinfo tells us our clock is skewed, we log based on:
     if (router_digest_is_trusted_dir(conn->identity_digest))
       severity = LOG_WARN;
     else
       severity = LOG_INFO;

 But then we complain to the controller regardless of whether it's an
 authority:
     control_event_general_status(LOG_WARN,
                         "CLOCK_SKEW SKEW=%ld SOURCE=OR:%s:%d",
                         apparent_skew, conn->_base.address,
 conn->_base.port);

 So the simple fix is for 0.2.1.20 to only send the status event if
 severity == LOG_WARN.

 Then Vidalia should workaround it by ignoring SOURCE=OR: clock skew events
 from Tor <= 0.2.1.19 and 0.2.2.1-alpha.

 The broader challenge is that tor clients avoid going to the authorities,
 so
 if their clock is wrong, they'll never do more than log at log-level info,
 and
 all this status event work is for naught.

 We should fix this in 0.2.2.x, either with a more aggressive proposal, or
 at least
 with a bit we remember that makes us connect to an authority (and thus get
 a
 trusted opinion on our time) if we keep getting skew problems from other
 relays.

 [Automatically added by flyspray2trac: Operating System: All]

--

-- 
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/1074#comment:4>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list