[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [tor-bugs] #9957 [Tor]: Tor should consider stderr output of transport proxies



#9957: Tor should consider stderr output of transport proxies
------------------------+--------------------------
     Reporter:  wfn     |      Owner:
         Type:  defect  |     Status:  needs_review
     Priority:  minor   |  Milestone:  Tor: 0.2.???
    Component:  Tor     |    Version:
   Resolution:          |   Keywords:  tor-pt
Actual Points:          |  Parent ID:
       Points:          |
------------------------+--------------------------
Changes (by wfn):

 * status:  new => needs_review


Comment:

 Here's a patch re: option 2. I assume that actual PT configuration won't
 happen over stderr (i.e. we don't need to `handle_proxy_line()` each
 stderr line the way we do for stdout.)

 So we

  * log NOTICE that the transport proxy gave us some stderr (it really
 should not give any stderr unless something is wrong - we just tell the
 user they may be interested to see what is up)

  * log INFO every stderr line.

 To achieve this nicely, we also needed a `tor_process_get_stderr_pipe()`,
 but the lower-level primitives for handling stderr are already there, so
 no big deal.

 It's just that the other parts (e.g. `get_string_from_pipe()` in util.c
 which we may want to use in lieu of `tor_process_get_stderr_pipe`) have
 variable names like `stdout_buf`, even though they are handle-type-
 agnostic. This is just cosmetics, though, but maybe in the future we'll
 want to have more neutral variable names where we are doing handle-neutral
 things.

 Can transport proxies leak any sensitive information over stderr? (The
 kinds of python tracebacks that I was once encountering for obfsproxy
 surely didn't and (I think) couldn't, but we should assume things
 conservatively when generalizing to "transport proxies.") The trouble here
 is that normally, a transport proxy would do its own address etc.
 scrubbing; but stderr may be a nasty traceback of some uncaught exception
 (which shouldn't really happen, that's not nice) or somesuch.

 Patch attached, also, here's a branch for this ticket:

 https://github.com/wfn/tor/commits/bug_9957

 Two commits there:

  *
 [https://github.com/wfn/tor/commit/31d7a001e7a44fe430a201c4bee3921223d6813d
 '"Provide a tor_process_get_stderr_pipe() function" -
 31d7a001e7a44fe430a201c4bee3921223d6813d']

  *
 [https://github.com/wfn/tor/commit/527ea5ae83f0af9d9c923d9f073fafaf19841acc
 '"Report stderr output of transport proxies" -
 527ea5ae83f0af9d9c923d9f073fafaf19841acc']

 This is a simplistic approach to reporting transport proxy stderr output.
 Do we want something more than this?

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/9957#comment:3>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs