[tor-bugs] #32178 [Core Tor/Tor]: Tor adds trailing space character to log events

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Oct 22 01:02:52 UTC 2019


#32178: Tor adds trailing space character to log events
------------------------------+--------------------
     Reporter:  arma          |      Owner:  (none)
         Type:  defect        |     Status:  new
     Priority:  Medium        |  Milestone:
    Component:  Core Tor/Tor  |    Version:
     Severity:  Normal        |   Keywords:
Actual Points:                |  Parent ID:
       Points:                |   Reviewer:
      Sponsor:                |
------------------------------+--------------------
 First noticed in #32164, where Tor Browser's "view of Tor logs" has a
 bonus space at the end of every line.

 I believe it's Tor adding the space. This super simple hack:
 {{{
 diff --git a/src/feature/control/control_events.c
 b/src/feature/control/control_events.c
 index 82ea943999..5ddfffeee8 100644
 --- a/src/feature/control/control_events.c
 +++ b/src/feature/control/control_events.c
 @@ -1328,6 +1328,7 @@ control_event_logmsg(int severity, log_domain_mask_t
 domain, const char *msg)
        default: s = "UnknownLogSeverity"; break;
      }
      ++disable_log_messages;
 +    printf("Sending \"650 %s %s\"\n", s, b?b:msg);
      send_control_event(event,  "650 %s %s\r\n", s, b?b:msg);
      if (severity == LOG_ERR) {
        /* Force a flush, since we may be about to die horribly */
 }}}

 shows it:

 {{{
 Sending "650 INFO circuit_free_(): Circuit 0 (id: 4) has been freed. "
 }}}

 I believe it comes from this snippet in control_event_logmsg():
 {{{
     if (strchr(msg, '\n')) {
       char *cp;
       b = tor_strdup(msg);
       for (cp = b; *cp; ++cp)
         if (*cp == '\r' || *cp == '\n')
           *cp = ' ';
     }
 }}}

 That is, we send in log lines that have \n in them, and the function
 helpfully turns the \n into a ' '.

 Bug went into Tor 0.1.1.1-alpha in commit c2f6fe9b (way back in the days
 of the v0 control protocol).

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


More information about the tor-bugs mailing list