[tor-bugs] #2149 [Tor]: new 'extra dormant' mode for people who never use their tor
Tor Bug Tracker & Wiki
blackhole at torproject.org
Wed Feb 6 06:23:53 UTC 2013
#2149: new 'extra dormant' mode for people who never use their tor
--------------------------------------------+-------------------------------
Reporter: arma | Owner:
Type: enhancement | Status: needs_information
Priority: major | Milestone: Tor: 0.2.4.x-final
Component: Tor | Version:
Keywords: performance scaling tor-client | Parent:
Points: | Actualpoints:
--------------------------------------------+-------------------------------
Changes (by sysrqb):
* status: needs_revision => needs_information
Comment:
Thanks to both of you for the review. (I'm sorry this ticket is such a
mess)
Replying to [comment:21 nickm]:
> I've started a feature2149 branch in my public repo based on that
branch, and started to fix some issues there . Some more mostly cosmetic
things I'd like to fix before merging, based on a conversation with
andrea:
>
> * exporting get_connections() to dirserv.c is a bit silly
(Assuming get_connection_array()) I was using that for debugging, we don't
need to say how many open circuits we have when we go dormant.
> * We should make sure that new DNS requests count as client activity
I don't think this currently does. It looks like we need to catch requests
in dnsserv.c:evdns_server_callback(), i think?
> * We need to call or_mark_state_dirty when clearing Dormant and
DormantStage as well
Looks like I missed that.
> * The interval needed to become dormant should be configurable, for
testing if nothing else.
Yeah, I was doing this by hand. Torrc option AllowEnterDormancy? Values >
0 define time period the client must be inactive, 0 disables this feature?
> * We should make sure that hidden services can never go dormant, and
that adding a hidden service makes a node non-dormant.
I was relying on server_mode() to determine if Tor was an OP or OR. TBH I
didn't check if it considered Hidden Services. I just took a look and I
gathered that we can check that rend_service_list == NULL, is there a
better way to do it?
> * We should be consistent about invoking
directory_too_idle_to_fetch_consensuses() versus testing Dormant directly.
I'm having trouble remembering the specific case for this. It had to do
with a variable not be initialized until later in bootstrapping but either
I can't find it now or I missed something before.
> * I also wonder if putting this "CONN_PAUSED" business at the
81%-bootstrapped level is right. It seems that after that, it's likely to
go and immediately fetch the consensus, so maybe it should be less
bootstrapped than if we'd fetched no consensus
This was actually purely a guess, the percentage/location were chosen only
for the sake of simplicity. I'll look into finding a more appropriate
place.
Marking Needs Info due to questions about catching DNS requests, checking
for hidden services, and torrc option.
Thanks again. I'll base any patches on your branch.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/2149#comment:22>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list