[tor-bugs] #25223 [Core Tor/Tor]: dos: dos_new_client_conn: Non-fatal assertion !(entry == NULL) failed

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Feb 12 19:48:19 UTC 2018


#25223: dos: dos_new_client_conn: Non-fatal assertion !(entry == NULL) failed
--------------------------------+------------------------------------
 Reporter:  dgoulet             |          Owner:  dgoulet
     Type:  defect              |         Status:  assigned
 Priority:  High                |      Milestone:  Tor: 0.3.3.x-final
Component:  Core Tor/Tor        |        Version:
 Severity:  Normal              |     Resolution:
 Keywords:  tor-dos, tor-relay  |  Actual Points:
Parent ID:                      |         Points:
 Reviewer:                      |        Sponsor:
--------------------------------+------------------------------------

Comment (by dgoulet):

 Ok I figure it out I think.

 Bridge aren't suppose to have DoS mitigation on because of this in
 `config.c`:

 {{{
   if (public_server_mode(options)) {
     /* If we are configured as a relay, initialize the subsystem. Even on
 HUP,
      * this is safe to call as it will load data from the current options
      * or/and the consensus. */
     dos_init();
 }}}

 So we don't init the DoS mitigation when reading the options. However,
 when we get a new consensus, we do `set_dos_parameters()` which can
 enable/disable it. See `dos_consensus_has_changed()`.

 Basically, we need to gate the `set_dos_parameters()` for public relays.
 We call that in `dos_init()` and when the consensus changes.

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


More information about the tor-bugs mailing list