[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-bugs] #2297 [Tor Client]: fetching certs for legacy keys?
#2297: fetching certs for legacy keys?
------------------------+---------------------------------------------------
Reporter: arma | Owner:
Type: defect | Status: new
Priority: normal | Milestone: Tor: 0.2.3.x-final
Component: Tor Client | Version: Tor: unspecified
Keywords: | Parent:
------------------------+---------------------------------------------------
Ian complaints at http://archives.seul.org/or/dev/Dec-2010/msg00001.html
that Tor 0.2.3.x sees:
{{{
Dec 02 08:13:06.000 [notice] We're missing a certificate from authority
with signing key F7C7B9191C74C0BA07363C84D37BBAD3A8A6C6D8: launching
request.
Dec 02 08:13:06.000 [notice] We're missing a certificate from authority
with signing key 604834622B54F2D9BA39B34AC53924546733AA60: launching
request.
}}}
Our friend boboper posts a suggested fix at
http://pastebin.com/raw.php?i=QFXB1Phb which I reproduce here:
{{{
--- dirserv.h.orig Wed Dec 15 04:32:04 2010
+++ dirserv.h Thu Dec 16 08:03:54 2010
@@ -64,6 +64,7 @@
int directory_fetches_dir_info_later(or_options_t *options);
int directory_caches_v2_dir_info(or_options_t *options);
#define directory_caches_v1_dir_info(o) directory_caches_v2_dir_info(o)
+int directory_caches_distribute_dir_info(or_options_t *options);
int directory_caches_dir_info(or_options_t *options);
int directory_permits_begindir_requests(or_options_t *options);
int directory_permits_controller_requests(or_options_t *options);
--- dirserv.c.orig Wed Dec 15 04:32:04 2010
+++ dirserv.c Thu Dec 16 08:06:28 2010
@@ -1237,9 +1237,18 @@
* and we're willing to serve them to others. Else return 0.
*/
int
+directory_caches_distribute_dir_info(or_options_t *options)
+{
+ return options->BridgeRelay != 0 || options->DirPort != 0;
+}
+
+/** Return 1 if we want to keep descriptors, networkstatuses, etc around
+ * for themself or we're willing to serve them to others. Else return 0.
+ */
+int
directory_caches_dir_info(or_options_t *options)
{
- if (options->BridgeRelay || options->DirPort)
+ if (directory_caches_distribute_dir_info(options)) /* distribute stuff
*/
return 1;
if (!server_mode(options) || !advertised_server_mode())
return 0;
--- routerlist.c.orig Wed Dec 15 04:32:04 2010
+++ routerlist.c Thu Dec 16 08:03:30 2010
@@ -227,7 +227,7 @@
"signing key %s", from_store ? "cached" : "downloaded",
ds->nickname,
hex_str(cert->signing_key_digest,DIGEST_LEN));
} else {
- int adding = directory_caches_dir_info(get_options());
+ int adding = directory_caches_distribute_dir_info(get_options());
log_info(LD_DIR, "%s %s certificate for unrecognized directory "
"authority with signing key %s",
adding ? "Adding" : "Not adding",
@@ -478,7 +478,7 @@
smartlist_t *missing_digests;
char *resource = NULL;
cert_list_t *cl;
- const int cache = directory_caches_dir_info(get_options());
+ const int cache = directory_caches_distribute_dir_info(get_options());
if (should_delay_dir_fetches(get_options()))
return;
}}}
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/2297>
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