[tor-bugs] #10461 [Tor]: tor seems to ignore "DirServer" option
Tor Bug Tracker & Wiki
blackhole at torproject.org
Sat Dec 21 17:26:27 UTC 2013
#10461: tor seems to ignore "DirServer" option
--------------------+----------------------------------
Reporter: mr-4 | Owner:
Type: defect | Status: new
Priority: normal | Milestone:
Component: Tor | Version: Tor: 0.2.4.18-rc
Keywords: | Actual Points:
Parent ID: | Points:
--------------------+----------------------------------
I've got the following 3 directives in my torrc:
DirServer 95.223.60.130:443 23155386E3B4B93B0294DB3A6263A8FAFE273255
DirServer 89.245.227.226:9001 6CB447C4CBCC4F5BDB4BA096902C2956CB534999
DirServer 109.228.139.83:9001 9DD97868543CB3CF432B96C082DFAC1FD16F6768
but none of the above statements seem to have been honoured by tor as I
get this in my logs (debug-level):
[notice] {GENERAL} 0 entries in guards
[info] {CIRC} compute_weighted_bandwidths(): Empty routerlist passed in to
consensus weight node selection for rule weight as guard
[info] {CIRC} smartlist_choose_node_by_bandwidth(): Empty routerlist
passed in to old node selection for rule weight as guard
[info] {DIR} directory_pick_generic_dirserver(): No router found for
consensus network-status fetch; falling back to dirserver list.
[info] {DIR} router_pick_dirserver_generic(): No dirservers are reachable.
Trying them all again.
[notice] {DIR} While fetching directory info, no running dirservers known.
Will try again later. (purpose 14)
[info] {GENERAL} or_state_save(): Saved state to "/var/lib/tor/tor/state"
Why?
I don't usually set the DirServer options, but, as of yesterday, my tor
gets stuck at 5% when I shutdown tor after getting the following log:
{PROTOCOL} Received a bad CERTS cell from [scrubbed]:9001: The link
certificate didn't match the TLS public key
I then wiped out the entire /var/lib/tor directory (to force fresh
consensus download) and then got this when I tried to start tor (again,
debug-level):
=============================
Dec 21 11:17:24.000 [notice] {GENERAL} 0 entries in guards
Dec 21 11:17:24.000 [info] {CIRC} compute_weighted_bandwidths(): Empty
routerlist passed in to consensus weight node selection for rule weight as
guard
Dec 21 11:17:24.000 [info] {CIRC} smartlist_choose_node_by_bandwidth():
Empty routerlist passed in to old node selection for rule weight as guard
Dec 21 11:17:24.000 [info] {DIR} directory_pick_generic_dirserver(): No
router found for consensus network-status fetch; falling back to dirserver
list.
Dec 21 11:17:24.000 [debug] {DIR} directory_initiate_command_rend():
anonymized 0, use_begindir 1.
Dec 21 11:17:24.000 [debug] {DIR} directory_initiate_command_rend():
Initiating consensus network-status fetch
Dec 21 11:17:24.000 [info] {APP} connection_ap_make_link(): Making
internal direct tunnel to [scrubbed]:443 ...
Dec 21 11:17:24.000 [debug] {NET} connection_add_impl(): new conn type
Socks, socket -1, address (Tor_internal), n_conns 3.
Dec 21 11:17:24.000 [debug] {DIR} circuit_get_open_circ_or_launch():
considering 1, $7BE683E65D48141321C5ED92F075C55364AC7123
Dec 21 11:17:24.000 [debug] {CIRC} onion_pick_cpath_exit(): Launching a
one-hop circuit for dir tunnel.
Dec 21 11:17:24.000 [info] {CIRC} onion_pick_cpath_exit(): Using requested
exit node '$7BE683E65D48141321C5ED92F075C55364AC7123~7BE683E65D48141321C
at 193.23.244.244'
Dec 21 11:17:24.000 [debug] {CIRC} onion_extend_cpath(): Path is 0 long;
we want 1
Dec 21 11:17:24.000 [debug] {CIRC} onion_extend_cpath(): Chose router
$7BE683E65D48141321C5ED92F075C55364AC7123~7BE683E65D48141321C at
193.23.244.244 for hop 1 (exit is
7BE683E65D48141321C5ED92F075C55364AC7123)
Dec 21 11:17:24.000 [debug] {CIRC} onion_extend_cpath(): Path is complete:
1 steps long
Dec 21 11:17:24.000 [debug] {CIRC} circuit_handle_first_hop(): Looking for
firsthop '193.23.244.244:443'
Dec 21 11:17:24.000 [info] {CIRC} circuit_handle_first_hop(): Next router
is [scrubbed]: Not connected. Connecting.
Dec 21 11:17:24.000 [notice] {CONTROL} Bootstrapped 5%: Connecting to
directory server.
Dec 21 11:17:24.000 [debug] {CHANNEL} channel_tls_connect(): In
channel_tls_connect() for channel 0xb797c2e8 (global id 0)
Dec 21 11:17:24.000 [debug] {CHANNEL} channel_set_identity_digest():
Setting remote endpoint digest on channel 0xb797c2e8 with global ID 0 to
digest 7BE683E65D48141321C5ED92F075C55364AC7123
Dec 21 11:17:24.000 [debug] {NET} connection_connect(): Connecting to
[scrubbed]:443.
Dec 21 11:17:25.000 [debug] {NET} connection_connect(): Connection to
[scrubbed]:443 in progress (sock 4).
Dec 21 11:17:25.000 [debug] {NET} connection_add_impl(): new conn type OR,
socket 4, address 193.23.244.244, n_conns 4.
Dec 21 11:17:25.000 [debug] {CHANNEL} channel_tls_connect(): Got orconn
0xb797c3c0 for channel with global id 0
Dec 21 11:17:25.000 [debug] {CHANNEL} channel_register(): Registering
channel 0xb797c2e8 (ID 0) in state opening (1) with digest
7BE683E65D48141321C5ED92F075C55364AC7123
Dec 21 11:17:25.000 [debug] {CHANNEL} channel_add_to_digest_map(): Added
channel 0xb797c2e8 (global ID 0) to identity map in state opening (1) with
digest 7BE683E65D48141321C5ED92F075C55364AC7123
Dec 21 11:17:25.000 [debug] {CHANNEL} channel_set_cell_handlers(): Setting
cell_handler callback for channel 0xb797c2e8 to 0xb7668500
Dec 21 11:17:25.000 [debug] {CHANNEL} channel_set_cell_handlers(): Setting
var_cell_handler callback for channel 0xb797c2e8 to 0xb7667340
Dec 21 11:17:25.000 [debug] {CIRC} circuit_handle_first_hop(): connecting
in progress (or finished). Good.
Dec 21 11:17:25.000 [info] {APP} connection_ap_make_link(): ...
application connection created and linked.
Dec 21 11:17:25.000 [debug] {NET} connection_add_impl(): new conn type
Directory, socket -1, address 193.23.244.244, n_conns 5.
Dec 21 11:17:25.000 [info] {DIR} directory_send_command(): Downloading
consensus from 193.23.244.244:443 using /tor/status-vote/current
/consensus-
microdesc/14C131+27B6B5+49015F+585769+805509+D586D1+E8A9C4+ED03BB+EFCBE7.z
Dec 21 11:17:25.000 [info] {GENERAL} or_state_save(): Saved state to
"/var/lib/tor/tor/state"
Dec 21 11:17:25.000 [debug] {NET} conn_read_callback(): socket -1 wants to
read.
Dec 21 11:17:25.000 [info] {EDGE} connection_edge_process_inbuf(): data
from edge while in 'waiting for circuit' state. Leaving it on buffer.
Dec 21 11:17:25.000 [info] {EDGE} connection_edge_process_inbuf(): data
from edge while in 'waiting for circuit' state. Leaving it on buffer.
Dec 21 11:17:25.000 [debug] {DIR} connection_dir_finished_flushing():
client finished sending command.
Dec 21 11:17:25.000 [debug] {NET} conn_read_callback(): socket 4 wants to
read.
Dec 21 11:17:25.000 [info] {CONTROL} control_event_bootstrap_problem():
Problem bootstrapping. Stuck at 5%: Connecting to directory server.
(Connection refused; CONNECTREFUSED; count 1; recommendation ignore)
Dec 21 11:17:25.000 [debug] {CHANNEL} channel_close_for_error(): Closing
channel 0xb797c2e8 due to lower-layer error
Dec 21 11:17:25.000 [debug] {CHANNEL} channel_change_state(): Changing
state of channel 0xb797c2e8 (global ID 0) from "opening" to "closing"
Dec 21 11:17:25.000 [debug] {CHANNEL} channel_remove_from_digest_map():
Removed channel 0xb797c2e8 (global ID 0) from identity map in state
closing (4) with digest 7BE683E65D48141321C5ED92F075C55364AC7123
Dec 21 11:17:25.000 [debug] {CHANNEL}
connection_mark_for_close_internal_(): Calling
connection_mark_for_close_internal_() on an OR conn at
src/or/connection.c:2828
Dec 21 11:17:25.000 [debug] {NET} conn_close_if_marked(): Cleaning up
connection (fd -1).
Dec 21 11:17:25.000 [debug] {CIRC} circuit_n_chan_done(): chan to
NULL/193.23.244.244:443, status=0
Dec 21 11:17:25.000 [info] {CIRC} circuit_n_chan_done(): Channel failed;
closing circ.
Dec 21 11:17:25.000 [info] {OR} circuit_build_failed(): Our circuit died
before the first hop with no connection
Dec 21 11:17:25.000 [info] {APP} connection_ap_fail_onehop(): Closing one-
hop stream to '$7BE683E65D48141321C5ED92F075C55364AC7123/193.23.244.244'
because the OR conn just failed.
Dec 21 11:17:25.000 [debug] {CIRC} circuit_increment_failure_count():
n_circuit_failures now 1.
Dec 21 11:17:25.000 [debug] {CHANNEL} channel_change_state(): Changing
state of channel 0xb797c2e8 (global ID 0) from "closing" to "channel
error"
Dec 21 11:17:25.000 [info] {HANDSHAKE}
connection_or_note_state_when_broken(): Connection died in state
'connect()ing with SSL state (No SSL object)'
Dec 21 11:17:25.000 [debug] {NET} connection_remove(): removing socket -1
(type OR), n_conns now 5
Dec 21 11:17:25.000 [debug] {NET} conn_close_if_marked(): Cleaning up
connection (fd -1).
Dec 21 11:17:25.000 [debug] {NET} connection_remove(): removing socket -1
(type Socks), n_conns now 4
Dec 21 11:17:25.000 [info] {GENERAL} connection_free_(): Freeing linked
Socks connection [waiting for circuit] with 152 bytes on inbuf, 0 on
outbuf.
Dec 21 11:17:25.000 [debug] {NET} conn_read_callback(): socket -1 wants to
read.
Dec 21 11:17:25.000 [info] {HTTP} connection_dir_client_reached_eof():
'fetch' response not all here, but we're at eof. Closing.
Dec 21 11:17:25.000 [debug] {NET} conn_close_if_marked(): Cleaning up
connection (fd -1).
=============================
Repeat ad-nauseum! The above log seems to stem from the fact that it looks
as though dannenberg
($7BE683E65D48141321C5ED92F075C55364AC7123/193.23.244.244) doesn't accept
connections on ports 443 or 80 anymore (is it down?), grinding my tor
bootup to a screeching halt - something I tried to offset by explicitly
setting 3 "DirServer" options, but to no avail.
Secondly, why is tor insisting on downloading its descriptors/data from
that directory and not trying some other - is dannenberg the only one? I
seriously doubt it!
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/10461>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list