[tor-bugs] #28636 [Core Tor/Tor]: Address WTF-PAD comments by Nick (2018-11-27 over IRC)

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Jan 14 13:22:37 UTC 2019


#28636: Address WTF-PAD comments by Nick (2018-11-27 over IRC)
-------------------------------------------------+-------------------------
 Reporter:  asn                                  |          Owner:  (none)
     Type:  defect                               |         Status:  new
 Priority:  Medium                               |      Milestone:  Tor:
                                                 |  0.4.0.x-final
Component:  Core Tor/Tor                         |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  wtf-pad, tor-relay, tor-cell,        |  Actual Points:
  padding                                        |
Parent ID:  #28632                               |         Points:
 Reviewer:                                       |        Sponsor:
-------------------------------------------------+-------------------------
Description changed by asn:

Old description:

> Nick expressed the following concerns/comments about the branch:
>
> - We should be careful about using `monotime_*` functions in the branch
> because of performance issues:
> {{{
> 15:19 <+nickm> ... it is too slow for a fast path.
> 15:19 <+nickm> and lots of the ways to use it can be too slow for a fast
> path
> 15:21 <+nickm> hrm.  So there are two things that can make it slow.
> 15:22 <+nickm> there are two things that can make this function slow
> 15:22 <+nickm> first, it tries to get the most precise monotonic time,
> not the fastest one
> 15:22 <+nickm> so it might have to go to the kernel and do a context
> switch and take some time there
> 15:22 <+nickm> the "coarse" variants of monotime_* don't have that
> problem.
> 15:23 <+nickm> The second issue is that using the "usec" variant requires
> 64-bit division on some platforms, which is noticeably expensive on
> 32-bit hardware.
> }}}
>
> - Figure out how dormant mode interacts with the padding code.
> {{{
> 15:27 <+nickm> okay.  short version is that tor can enter a "dormant"
> state when it is inactive for a really long time, or when the controller
> tells it to do so.
> 15:28 <+nickm> we should probably figure out whether being dormant
> prevents you from sendig padding and vice versa...
> 15:28 <+nickm> ... and whether it should prevent you from sending padding
> (and vice versa)...
> }}}
>
> - Do type checking when downcasting the vcarious probability
> distributions.
>
> - `<+nickm> Also there are all these generic dist_ops functions that you
> could use ... but the API seems to encourage you not to use them.  having
> wrapper functions instead that call dist->dist_ops.func(dist, ...) would
> be neat`
>
> - `<+nickm> oh, one list thing: I think src/lib/math is not allowed to
> include lib/crypt_ops, since that would introduce a circularity.  Better
> make sure that it doesn't`

New description:

 Nick expressed the following concerns/comments about the branch:

 - Figure out how dormant mode interacts with the padding code.
 {{{
 15:27 <+nickm> okay.  short version is that tor can enter a "dormant"
 state when it is inactive for a really long time, or when the controller
 tells it to do so.
 15:28 <+nickm> we should probably figure out whether being dormant
 prevents you from sendig padding and vice versa...
 15:28 <+nickm> ... and whether it should prevent you from sending padding
 (and vice versa)...
 }}}

 - Do type checking when downcasting the vcarious probability
 distributions.

 - `<+nickm> Also there are all these generic dist_ops functions that you
 could use ... but the API seems to encourage you not to use them.  having
 wrapper functions instead that call dist->dist_ops.func(dist, ...) would
 be neat`

 - `<+nickm> oh, one list thing: I think src/lib/math is not allowed to
 include lib/crypt_ops, since that would introduce a circularity.  Better
 make sure that it doesn't`

--

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


More information about the tor-bugs mailing list