[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit cb8c5c023f0e349f30fd6a539437d76358b8b87a Merge: efae1bc e5907e9 Author: Nick Mathewson Date: Thu Jun 25 11:42:31 2015 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/geoip-june2015 |3 + src/config/geoip |14347 +++- 2 files changed, 6999 insertions(+), 7351 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 609cdec112bfbe37947a58f2fe2790ee3a2660eb Merge: 542100d bcc0a48 Author: Nick Mathewson Date: Mon Apr 27 14:15:44 2015 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/geoip-april2015 |3 + src/config/geoip|10061 --- 2 files changed, 3452 insertions(+), 6612 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 5588e677bd61b56520fd73ffcfd759e39f1d226b Merge: 6704e18 beda8d2 Author: Nick Mathewson Date: Mon Mar 9 16:23:55 2015 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/geoip-march2015 |3 + src/config/geoip|12695 ++- 2 files changed, 9385 insertions(+), 3313 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 6704e18dd2e09111eeca0c76fb00a459f9da98ea Merge: 2bcb596 addffcc Author: Nick Mathewson Date: Mon Mar 9 11:08:57 2015 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/bug15083 | 10 ++ src/or/buffers.c | 11 +-- 2 files changed, 19 insertions(+), 2 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit dbd5a9a8f99d92b38f85728edf21b9c6bfe87f38 Merge: 137982f c3f8f5a Author: Nick Mathewson Date: Fri Jan 23 08:52:20 2015 -0500 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/geoip-january2015 |3 + src/config/geoip |12872 ++--- 2 files changed, 5069 insertions(+), 7806 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 8d5f1e6961feb1ef2a80d6d5a36e755a4b79007b Merge: dca902c 8611c6b Author: Nick Mathewson Date: Mon Nov 24 09:18:21 2014 -0500 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/geoip-november2014 |3 + src/config/geoip |20036 ++-- 2 files changed, 13644 insertions(+), 6395 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 403c6ae78e2dff753d407273ce78c024a0ffb40d Merge: 943fd4a c1dd598 Author: Nick Mathewson Date: Sun Oct 19 15:39:48 2014 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/bug13471 |5 + 1 file changed, 5 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 943fd4a252ad252d7d594622d5988634ddf8f1fc Merge: 288b3ec c1c83eb Author: Nick Mathewson Date: Thu Oct 16 09:08:32 2014 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/disable_sslv3 |4 src/common/tortls.c |4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --cc src/common/tortls.c index c13b12f,11fe220..4222f6d --- a/src/common/tortls.c +++ b/src/common/tortls.c @@@ -1276,11 -1180,8 +1276,12 @@@ tor_tls_context_new(crypto_pk_t *identi if (!(result->ctx = SSL_CTX_new(SSLv23_method( goto error; SSL_CTX_set_options(result->ctx, SSL_OP_NO_SSLv2); + SSL_CTX_set_options(result->ctx, SSL_OP_NO_SSLv3); + /* Prefer the server's ordering of ciphers: the client's ordering has + * historically been chosen for fingerprinting resistance. */ + SSL_CTX_set_options(result->ctx, SSL_OP_CIPHER_SERVER_PREFERENCE); + /* Disable TLS1.1 and TLS1.2 if they exist. We need to do this to * workaround a bug present in all OpenSSL 1.0.1 versions (as of 1 * June 2012), wherein renegotiating while using one of these TLS @@@ -1302,18 -1200,12 +1303,19 @@@ * using them can make our perfect forward secrecy a little worse, *and* * create an opportunity to fingerprint us (since it's unusual to use them * with TLS sessions turned off). + * + * In 0.2.4, clients advertise support for them though, to avoid a TLS + * distinguishability vector. This can give us worse PFS, though, if we + * get a server that doesn't set SSL_OP_NO_TICKET. With luck, there will + * be few such servers by the time 0.2.4 is more stable. */ #ifdef SSL_OP_NO_TICKET - SSL_CTX_set_options(result->ctx, SSL_OP_NO_TICKET); + if (! is_client) { +SSL_CTX_set_options(result->ctx, SSL_OP_NO_TICKET); + } #endif + /* XXX This block is now obsolete. */ if ( #ifdef DISABLE_SSL3_HANDSHAKE 1 || ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 244ca67e47238ae8f687c4d4038b7f696824b023 Merge: 691371b b98e3f9 Author: Nick Mathewson Date: Wed Aug 13 12:51:27 2014 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/geoip-august2014 |3 + src/config/geoip | 5217 ++ 2 files changed, 3830 insertions(+), 1390 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 015f710f72823bc31c3075fb41d3ae33eb7abe06 Merge: f5ce580 6d5efbe Author: Nick Mathewson Date: Mon Jul 21 14:29:30 2014 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/geoip-july2014 |3 + src/config/geoip | 3600 +--- 2 files changed, 2499 insertions(+), 1104 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit ab774a8500a6f4302296ff4c6ea23ba5c64eaa52 Merge: 8d9602c 555c43c Author: Nick Mathewson Date: Tue Jun 10 21:07:57 2014 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 src/config/geoip |22394 +- 1 file changed, 15384 insertions(+), 7010 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 14bc6e8993c694702f5ab637c36b962f396660a5 Merge: efab348 6a4f5d9 Author: Nick Mathewson Date: Thu May 1 11:44:25 2014 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 Conflicts: src/or/microdesc.c changes/bug7164_downgrade |6 ++ src/or/microdesc.c|2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --cc src/or/microdesc.c index 90ac0ac,4acec6a..0e72c0b --- a/src/or/microdesc.c +++ b/src/or/microdesc.c @@@ -614,13 -561,11 +614,13 @@@ microdesc_free_(microdesc_t *md, const } }); if (found) { - log_warn(LD_BUG, "microdesc_free() called from %s:%d, but md was still " - log_info(LD_BUG, "microdesc_free() called, but md was still referenced " - "%d node(s); held_by_nodes == %u", found, md->held_by_nodes); ++ log_info(LD_BUG, "microdesc_free() called from %s:%d, but md was still " + "referenced %d node(s); held_by_nodes == %u", + fname, lineno, found, md->held_by_nodes); } else { - log_warn(LD_BUG, "microdesc_free() called with held_by_nodes set to %u, " - "but md was not referenced by any nodes", md->held_by_nodes); + log_warn(LD_BUG, "microdesc_free() called from %s:%d with held_by_nodes " + "set to %u, but md was not referenced by any nodes", + fname, lineno, md->held_by_nodes); } tor_fragile_assert(); } ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit efab3484e6ea3a799ccf61061450cfc35791ad41 Merge: 35699ef 8828794 Author: Nick Mathewson Date: Wed Apr 30 20:25:15 2014 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/bug10849_023 |6 ++ src/or/config.c |4 2 files changed, 10 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 1d3ffc0ec96777203b2eafee5905464d54ef9f91 Merge: 9e44df2 65575b0 Author: Nick Mathewson Date: Tue Apr 29 13:02:18 2014 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/md_leak_bug |5 + src/or/routerparse.c |2 ++ 2 files changed, 7 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 3fc0f9efb8b0030bab2574e5998a964adc93ebaa Merge: f050cf7 ef3d7f2 Author: Nick Mathewson Date: Wed Apr 16 14:57:14 2014 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 src/or/routerlist.c |1 - 1 file changed, 1 deletion(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit f050cf75b0d963be1aa2840bcef60c8b1e96d3b6 Merge: f3c20a2 2ce0750 Author: Nick Mathewson Date: Wed Apr 16 13:32:20 2014 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 src/or/routerlist.c |7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit f3c20a28ab50386064043cc31edb3b1b543d6fc6 Merge: 1499315 b0e1ddb Author: Nick Mathewson Date: Tue Apr 15 14:51:19 2014 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 Conflicts: src/or/circuituse.c changes/bug11519|3 +++ src/or/circuituse.c |2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --cc src/or/circuituse.c index 5984691,7218ecc..c2d2b2e --- a/src/or/circuituse.c +++ b/src/or/circuituse.c @@@ -1517,8 -1309,8 +1517,8 @@@ circuit_launch_by_extend_info(uint8_t p * internal circs rather than exit circs? -RD */ circ = circuit_find_to_cannibalize(purpose, extend_info, flags); if (circ) { - uint8_t old_purpose = circ->_base.purpose; - struct timeval old_timestamp_created = circ->_base.timestamp_created; + uint8_t old_purpose = circ->base_.purpose; - struct timeval old_timestamp_began; ++ struct timeval old_timestamp_began = circ->base_.timestamp_began; log_info(LD_CIRC,"Cannibalizing circ '%s' for purpose %d (%s)", build_state_get_exit_nickname(circ->build_state), purpose, ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 149931571a4c5ad9ec24eb6d4306e8965a454211 Merge: 47f7085 75b4975 Author: Nick Mathewson Date: Mon Apr 14 18:00:38 2014 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 Conflicts: src/or/routerlist.h changes/bug11464_023 |5 + src/or/networkstatus.c | 11 +++ src/or/routerlist.c| 33 + src/or/routerlist.h|1 + src/or/routerparse.c |8 5 files changed, 58 insertions(+) diff --cc src/or/routerlist.c index cb39729,a7968be..b49dc1a --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@@ -600,39 -455,42 +600,72 @@@ authority_cert_dl_failed(const char *id !(cl = digestmap_get(trusted_dir_certs, id_digest))) return; - download_status_failed(&cl->dl_status, status); + /* + * Are we noting a failed download of the latest cert for the id digest, + * or of a download by (id, signing key) digest pair? + */ + if (!signing_key_digest) { +/* Just by id digest */ +download_status_failed(&cl->dl_status_by_id, status); + } else { +/* Reset by (id, signing key) digest pair + * + * Look for a download_status_t in the map with this digest + */ +dlstatus = dsmap_get(cl->dl_status_map, signing_key_digest); +/* Got one? */ +if (dlstatus) { + download_status_failed(dlstatus, status); +} else { + /* + * Do this rather than hex_str(), since hex_str clobbers + * old results and we call twice in the param list. + */ + base16_encode(id_digest_str, sizeof(id_digest_str), +id_digest, DIGEST_LEN); + base16_encode(sk_digest_str, sizeof(sk_digest_str), +signing_key_digest, DIGEST_LEN); + log_warn(LD_BUG, + "Got failure for cert fetch with (fp,sk) = (%s,%s), with " + "status %d, but knew nothing about the download.", + id_digest_str, sk_digest_str, status); +} + } } + static const char *BAD_SIGNING_KEYS[] = { + "09CD84F751FD6E955E0F8ADB497D5401470D697E", // Expires 2015-01-11 16:26:31 + // dizum still needs to rotate as of 2014-04-14 + //"0E7E9C07F0969D0468AD741E172A6109DC289F3C", // Expires 2014-08-12 10:18:26 + // dannenberg still needs to rotate as of 2014-04-14 + //"57B85409891D3FB32137F642FDEDF8B7F8CDFDCD", // Expires 2015-02-11 17:19:09 + "87326329007AF781F587AF5B594E540B2B6C7630", // Expires 2014-07-17 11:10:09 + "98CC82342DE8D298CF99D3F1A396475901E0D38E", // Expires 2014-11-10 13:18:56 + "9904B52336713A5ADCB13E4FB14DC919E0D45571", // Expires 2014-04-20 20:01:01 + "9DCD8E3F1DD1597E2AD476BBA28A1A89F3095227", // Expires 2015-01-16 03:52:30 + "A61682F34B9BB9694AC98491FE1ABBFE61923941", // Expires 2014-06-11 09:25:09 + "B59F6E99C575113650C99F1C425BA7B20A8C071D", // Expires 2014-07-31 13:22:10 + "D27178388FA75B96D37FA36E0B015227DDDBDA51", // Expires 2014-08-04 04:01:57 + NULL, + }; + + /** DOCDOC */ + int + authority_cert_is_blacklisted(const authority_cert_t *cert) + { + char hex_digest[HEX_DIGEST_LEN+1]; + int i; + base16_encode(hex_digest, sizeof(hex_digest), + cert->signing_key_digest, sizeof(cert->signing_key_digest)); + + for (i = 0; BAD_SIGNING_KEYS[i]; ++i) { + if (!strcasecmp(hex_digest, BAD_SIGNING_KEYS[i])) { + return 1; + } + } + return 0; + } + /** Return true iff when we've been getting enough failures when trying to * download the certificate with ID digest id_digest that we're willing * to start bugging the user about it. */ diff --cc src/or/routerlist.h index ce0f0f2,bd55b7b..5056858 --- a/src/or/routerlist.h +++ b/src/or/routerlist.h @@@ -39,8 -25,8 +39,9 @@@ void authority_cert_dl_failed(const cha void authority_certs_fetch_missing(networkstatus_t *status, time_t now); int router_reload_router_list(void); int authority_cert_dl_looks_uncertain(const char *id_digest); +const smartlist_t *router_get_trusted_dir_servers(void); +const smartlist_t *router_get_fallback_dir_servers(void); + int authority_cert_is_blacklisted(const authority_cert_t *cert); -smartlist_t *router_get_trusted_dir_servers(void); const routerstatus_t *router_pick_directory_server(dirinfo_type_t type, int flags); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit d7950eda2bfd927a18df4a2620952d10dda1705c Merge: d21b24b 2658e70 Author: Nick Mathewson Date: Tue Feb 25 10:02:14 2014 -0500 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/geoip-february2014-regcountry |3 + src/config/geoip | 2399 ++--- 2 files changed, 1035 insertions(+), 1367 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 260b3b1a190111a7ae078c4260c470bd31292b02 Merge: e4bc757 405d055 Author: Nick Mathewson Date: Sat Feb 15 00:06:25 2014 -0500 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/geoip-february2014 |3 + src/config/geoip |17809 2 files changed, 9649 insertions(+), 8163 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 59f50c80d443a7e148f85cfed493e3e703cc4386 Merge: a82b18f 9e90707 Author: Nick Mathewson Date: Fri Nov 15 15:29:24 2013 -0500 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 Conflicts: src/or/or.h src/or/relay.c Conflicts were simple to resolve. More fixes were needed for compilation, including: reinstating the tv_to_msec function, and renaming *_conn_cells to *_chan_cells. changes/bug9093 |7 +++ src/common/util.c| 12 +++ src/common/util.h|1 + src/or/circuitlist.c | 56 +- src/or/or.h |5 + src/or/relay.c |8 ++-- 6 files changed, 77 insertions(+), 12 deletions(-) diff --cc src/common/util.c index ae385e1,b16afa1..5eb0f9a --- a/src/common/util.c +++ b/src/common/util.c @@@ -1232,6 -1322,6 +1232,18 @@@ tv_mdiff(const struct timeval *start, c return mdiff; } ++/** ++ * Converts timeval to milliseconds. ++ */ ++int64_t ++tv_to_msec(const struct timeval *tv) ++{ ++ int64_t conv = ((int64_t)tv->tv_sec)*1000L; ++ /* Round ghetto-style */ ++ conv += ((int64_t)tv->tv_usec+500)/1000L; ++ return conv; ++} ++ /** Yield true iff y is a leap-year. */ #define IS_LEAPYEAR(y) (!(y % 4) && ((y % 100) || !(y % 400))) /** Helper: Return the number of leap-days between Jan 1, y1 and Jan 1, y2. */ diff --cc src/common/util.h index 96a02dd,8977d27..73daa6e --- a/src/common/util.h +++ b/src/common/util.h @@@ -251,8 -239,11 +251,9 @@@ void base16_encode(char *dest, size_t d int base16_decode(char *dest, size_t destlen, const char *src, size_t srclen); /* Time helpers */ -double tv_to_double(const struct timeval *tv); -int64_t tv_to_msec(const struct timeval *tv); -int64_t tv_to_usec(const struct timeval *tv); long tv_udiff(const struct timeval *start, const struct timeval *end); long tv_mdiff(const struct timeval *start, const struct timeval *end); ++int64_t tv_to_msec(const struct timeval *tv); int tor_timegm(const struct tm *tm, time_t *time_out); #define RFC1123_TIME_LEN 29 void format_rfc1123_time(char *buf, time_t t); diff --cc src/or/circuitlist.c index daeaa37,6250c11..b0e24a5 --- a/src/or/circuitlist.c +++ b/src/or/circuitlist.c @@@ -1525,10 -1383,41 +1525,41 @@@ n_cells_in_circ_queues(const circuit_t return n; } - /** helper to sort a list of circuit_q by total queue lengths, in descending - * order. */ + /** + * Return the age of the oldest cell queued on c, in milliseconds. + * Return 0 if there are no cells queued on c. Requires that now be + * the current time in milliseconds since the epoch, truncated. + * + * This function will return incorrect results if the oldest cell queued on + * the circuit is older than 2**32 msec (about 49 days) old. + */ + static uint32_t + circuit_max_queued_cell_age(const circuit_t *c, uint32_t now) + { + uint32_t age = 0; - if (c->n_conn_cells.head) -age = now - c->n_conn_cells.head->inserted_time; ++ if (c->n_chan_cells.head) ++age = now - c->n_chan_cells.head->inserted_time; + + if (! CIRCUIT_IS_ORIGIN(c)) { + const or_circuit_t *orcirc = TO_OR_CIRCUIT((circuit_t*)c); -if (orcirc->p_conn_cells.head) { - uint32_t age2 = now - orcirc->p_conn_cells.head->inserted_time; ++if (orcirc->p_chan_cells.head) { ++ uint32_t age2 = now - orcirc->p_chan_cells.head->inserted_time; + if (age2 > age) + return age2; + } + } + return age; + } + + /** Temporary variable for circuits_compare_by_oldest_queued_cell_ This is a + * kludge to work around the fact that qsort doesn't provide a way for + * comparison functions to take an extra argument. */ + static uint32_t circcomp_now_tmp; + + /** Helper to sort a list of circuit_t by age of oldest cell, in descending + * order. Requires that circcomp_now_tmp is set correctly. */ static int - circuits_compare_by_queue_len_(const void **a_, const void **b_) + circuits_compare_by_oldest_queued_cell_(const void **a_, const void **b_) { const circuit_t *a = *a_; const circuit_t *b = *b_; diff --cc src/or/or.h index eff5a6d,4622391..5318b0f --- a/src/or/or.h +++ b/src/or/or.h @@@ -1076,9 -911,14 +1076,14 @@@ typedef struct var_cell_t /** A cell as packed for writing to the network. */ typedef struct packed_cell_t { struct packed_cell_t *next; /**< Next cell queued on this circuit. */ - char body[CELL_NETWORK_SIZE]; /**< Cell as packed for network. */ + char body[CELL_MAX_NETWORK_SIZE]; /**< Cell as packed for network. */ + uint32_t inserted_time; /**< Time (in milliseconds since epoch, with high +* bits truncated) when this cell was inserted. */ } packed_cell_t; + /* This next structure may be obsoleted by inserted_time in + * packed_cell_t */ + /** Number of cells added to a circuit queue including their insertion * time on 10 millisecond detail; used for buffer statistics. */
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 7ef2939e5a902c6159227de176622ee9388e34a4 Merge: eb5d75e 82d8944 Author: Nick Mathewson Date: Fri Oct 11 11:16:59 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/geoip-october2013 |3 + src/config/geoip | 2019 - 2 files changed, 1245 insertions(+), 777 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 7b1b8c36942a09ff4c50ac228f465aa4050153e3 Merge: 1137817 004a9c6 Author: Nick Mathewson Date: Thu Oct 10 11:18:07 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 src/common/util.c|4 ++-- src/test/test_util.c |1 + 2 files changed, 3 insertions(+), 2 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 1137817319c7a9e4293e9901405d01e7b85da6ea Merge: 73a0bb1 6eb7f2f Author: Nick Mathewson Date: Thu Oct 10 10:55:24 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/bug9928 |6 ++ src/common/util.c | 10 +- 2 files changed, 11 insertions(+), 5 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 7e0f1fa52adcf67d7b9c5459a3cc74f57bbfa3e2 Merge: 0c3c475 dece40f Author: Nick Mathewson Date: Tue Oct 8 12:16:42 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/bug6979 |4 src/or/router.c |2 +- 2 files changed, 5 insertions(+), 1 deletion(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit ace95c525c55387d4f219043400c9821e41994bc Merge: 2c877d2 b46353b Author: Nick Mathewson Date: Mon Sep 16 12:47:05 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/geoip-september2013 |3 + src/config/geoip|12806 ++- 2 files changed, 6556 insertions(+), 6253 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit a60d21a85deacad98fa04d20fb4e83b57ad191d7 Merge: a8e76de 3cebc5e Author: Nick Mathewson Date: Wed Sep 4 16:08:02 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 Conflicts: src/or/circuitbuild.c changes/bug9671_023 |5 + src/or/circuituse.c |4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit a5610cfa64189db693dbad3efaa973d6720c42fe Merge: 4107ddd 8611195 Author: Nick Mathewson Date: Sun Aug 25 00:33:10 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 (Using "ours" strategy to avoid taking 9546 fix in 0.2.3; we just merged our own into 0.2.4) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 43f187ec2e40517148c11f8eaa915ec2ae6d1ec4 Merge: edaea77 8bf2892 Author: Nick Mathewson Date: Thu Aug 22 20:47:10 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/bug9564|5 + src/or/networkstatus.c |2 +- 2 files changed, 6 insertions(+), 1 deletion(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 3433b7ce3992b9566dba9b64f64f0676e712696a Merge: d5cfbf9 64410cc Author: Nick Mathewson Date: Mon Aug 12 09:45:07 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/geoip-august2013 |3 + src/config/geoip | 9207 +++--- 2 files changed, 4521 insertions(+), 4689 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit c78c8de015ac62eb3fa529f932bcf86dae9f3d9d Merge: 81a5ee7 0b9c515 Author: Nick Mathewson Date: Mon Jul 8 09:22:49 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/geoip-july2013 |3 + src/config/geoip | 2201 +++- 2 files changed, 1425 insertions(+), 779 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 7c4544e5a4780706dee65d2a3ff8c7b55952 Merge: efa342f 60d633c Author: Nick Mathewson Date: Tue Jun 18 14:45:29 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 src/or/rendcommon.c |3 +++ 1 file changed, 3 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit d3063da691d0006cf41f6406099f056ab47c543a Merge: 9e45d94 c37fdc2 Author: Nick Mathewson Date: Tue Jun 18 10:23:03 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 Conflicts: src/or/config.c src/or/relay.c changes/bug9002 |4 ++ changes/bug9063_redux | 15 doc/tor.1.txt |9 + src/common/mempool.h |2 + src/or/circuitlist.c | 102 + src/or/circuitlist.h |1 + src/or/config.c |8 src/or/or.h |4 ++ src/or/relay.c| 33 +++- src/or/relay.h|1 + src/or/rendcommon.c | 25 +++- 11 files changed, 200 insertions(+), 4 deletions(-) diff --cc src/or/config.c index df1a67e,d5c5689..55d19b8 --- a/src/or/config.c +++ b/src/or/config.c @@@ -299,9 -343,8 +299,10 @@@ static config_var_t option_vars_[] = V(MaxAdvertisedBandwidth, MEMUNIT, "1 GB"), V(MaxCircuitDirtiness, INTERVAL, "10 minutes"), V(MaxClientCircuitsPending,UINT, "32"), + V(MaxMemInCellQueues, MEMUNIT, "8 GB"), - V(MaxOnionsPending,UINT, "100"), + OBSOLETE("MaxOnionsPending"), + V(MaxOnionQueueDelay, MSEC_INTERVAL, "1750 msec"), + V(MinMeasuredBWsForAuthToIgnoreAdvertised, INT, "500"), OBSOLETE("MonthlyAccountingStart"), V(MyFamily,STRING, NULL), V(NewCircuitPeriod,INTERVAL, "30 seconds"), @@@ -2606,11 -3665,17 +2607,18 @@@ options_validate(or_options_t *old_opti if (options->UseBridges && options->EntryNodes) REJECT("You cannot set both UseBridges and EntryNodes."); - if (options->EntryNodes && !options->UseEntryGuards) -log_warn(LD_CONFIG, "EntryNodes is set, but UseEntryGuards is disabled. " - "EntryNodes will be ignored."); + if (options->EntryNodes && !options->UseEntryGuards) { +REJECT("If EntryNodes is set, UseEntryGuards must be enabled."); + } + if (options->MaxMemInCellQueues < (500 << 20)) { + log_warn(LD_CONFIG, "MaxMemInCellQueues must be at least 500 MB for now. " + "Ideally, have it as large as you can afford."); + options->MaxMemInCellQueues = (500 << 20); + } + - options->_AllowInvalid = 0; + options->AllowInvalid_ = 0; ++ if (options->AllowInvalidNodes) { SMARTLIST_FOREACH_BEGIN(options->AllowInvalidNodes, const char *, cp) { if (!strcasecmp(cp, "entry")) diff --cc src/or/relay.c index 0f21663,fda9e89..3138c5e --- a/src/or/relay.c +++ b/src/or/relay.c @@@ -2106,15 -1864,14 +2106,15 @@@ dump_cell_pool_usage(int severity circuit_t *c; int n_circs = 0; int n_cells = 0; - for (c = _circuit_get_global_list(); c; c = c->next) { -n_cells += c->n_conn_cells.n; + for (c = circuit_get_global_list_(); c; c = c->next) { +n_cells += c->n_chan_cells.n; if (!CIRCUIT_IS_ORIGIN(c)) - n_cells += TO_OR_CIRCUIT(c)->p_conn_cells.n; + n_cells += TO_OR_CIRCUIT(c)->p_chan_cells.n; ++n_circs; } - log(severity, LD_MM, "%d cells allocated on %d circuits. %d cells leaked.", - n_cells, n_circs, (int)total_cells_allocated - n_cells); + tor_log(severity, LD_MM, + "%d cells allocated on %d circuits. %d cells leaked.", - n_cells, n_circs, total_cells_allocated - n_cells); ++ n_cells, n_circs, (int)total_cells_allocated - n_cells); mp_pool_log_status(cell_pool, severity); } @@@ -,64 -1978,382 +,87 @@@ cell_queue_pop(cell_queue_t *queue return cell; } + /** Return the total number of bytes used for each packed_cell in a queue. + * Approximate. */ + size_t + packed_cell_mem_cost(void) + { + return sizeof(packed_cell_t) + MP_POOL_ITEM_OVERHEAD + + get_options()->CellStatistics ? + (sizeof(insertion_time_elem_t)+MP_POOL_ITEM_OVERHEAD) : 0; + } + + /** Check whether we've got too much space used for cells. If so, + * call the OOM handler and return 1. Otherwise, return 0. */ + static int + cell_queues_check_size(void) + { + size_t alloc = total_cells_allocated * packed_cell_mem_cost(); + if (alloc >= get_options()->MaxMemInCellQueues) { + circuits_handle_oom(alloc); + return 1; + } + return 0; + } + -/** Return a pointer to the "next_active_on_{n,p}_conn" pointer of circ, - * depending on whether conn matches n_conn or p_conn. */ -static INLINE circuit_t ** -next_circ_on_conn_p(circuit_t *circ, or_connection_t *conn) -{ - tor_assert(circ); - tor_assert(conn); - if (conn == circ->n_conn) { -return &circ->next_active_on_n_conn; - } else { -or_circuit_t *orcirc = TO_OR_CIRCUIT(circ); -tor_assert(conn == orcirc->p_conn); -return &orcirc->next_active_on_p_conn; - } -} - -/** Return a pointer to the "prev_active_on_{n,p}_conn" pointer of circ, - * depending on whether conn matches n_conn or p_conn. */ -static INLINE circuit_t ** -prev_circ_on
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 82fea1b0dffe2cb808e997b891106651d6a7bb97 Merge: 72f775e d780cd5 Author: Nick Mathewson Date: Fri Jun 14 01:45:35 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 Using "ours" strategy to avoid taking changes. ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 607b29ae1abe7da7d06e4e9282ed88a2dd7fe8d4 Merge: c860a96 4835fae Author: Nick Mathewson Date: Mon Jun 10 12:26:39 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/bug9017 |6 ++ src/or/connection_edge.c | 11 ++- 2 files changed, 12 insertions(+), 5 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit c860a96ecb652d76dc23f2b490db4f5a95e9b0c3 Merge: c03cfc0 fe689de Author: Nick Mathewson Date: Wed Jun 5 11:22:19 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/geoip-june2013 |3 + src/config/geoip |106050 +--- 2 files changed, 9168 insertions(+), 96885 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 0c2fb64d6fc7a3b6a3d3d7febb72e72299bca03d Merge: bc56918 78735f8 Author: Nick Mathewson Date: Mon May 20 12:37:21 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/geoip-may2013 |3 + src/config/geoip |20373 + 2 files changed, 10221 insertions(+), 10155 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit bae5dd6c8d4535360d471932b87431f54b515567 Merge: 7d3fd85 96d3219 Author: Nick Mathewson Date: Thu May 9 13:14:53 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/bug8844 |6 ++ src/or/buffers.c |3 ++- src/test/test.c | 12 3 files changed, 20 insertions(+), 1 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 6acf0ac2851fb95953edea9c231d82f487f28c3d Merge: 3367a76 9630fb9 Author: Nick Mathewson Date: Mon Apr 8 11:09:50 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/geoip-apr2013 |3 + src/config/geoip |20949 - 2 files changed, 5143 insertions(+), 15809 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit 2ac66e59f7b32bb7f975803c9d483848e755a08f Merge: 5959d1c ebb95d0 Author: Nick Mathewson Date: Mon Mar 18 15:28:39 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 Conflicts: src/test/test_addr.c changes/bug8377 |3 +++ src/common/address.c |3 ++- src/test/test_addr.c | 36 3 files changed, 41 insertions(+), 1 deletions(-) diff --cc src/test/test_addr.c index 890dfe4,e3f3807..fec85a4 --- a/src/test/test_addr.c +++ b/src/test/test_addr.c @@@ -723,134 -623,48 +723,170 @@@ test_addr_ip6_helpers(void ; } +/** Test tor_addr_port_parse(). */ +static void +test_addr_parse(void) +{ + int r; + tor_addr_t addr; + char buf[TOR_ADDR_BUF_LEN]; + uint16_t port = 0; + + /* Correct call. */ + r= tor_addr_port_parse(LOG_DEBUG, + "192.0.2.1:1234", + &addr, &port); + test_assert(r == 0); + tor_addr_to_str(buf, &addr, sizeof(buf), 0); + test_streq(buf, "192.0.2.1"); + test_eq(port, 1234); + + /* Domain name. */ + r= tor_addr_port_parse(LOG_DEBUG, + "torproject.org:1234", + &addr, &port); + test_assert(r == -1); + + /* Only IP. */ + r= tor_addr_port_parse(LOG_DEBUG, + "192.0.2.2", + &addr, &port); + test_assert(r == -1); + + /* Bad port. */ + r= tor_addr_port_parse(LOG_DEBUG, + "192.0.2.2:6", + &addr, &port); + test_assert(r == -1); + + /* Only domain name */ + r= tor_addr_port_parse(LOG_DEBUG, + "torproject.org", + &addr, &port); + test_assert(r == -1); + + /* Bad IP address */ + r= tor_addr_port_parse(LOG_DEBUG, + "192.0.2:1234", + &addr, &port); + test_assert(r == -1); + + done: + ; +} + +static void +update_difference(int ipv6, uint8_t *d, + const tor_addr_t *a, const tor_addr_t *b) +{ + const int n_bytes = ipv6 ? 16 : 4; + uint8_t a_tmp[4], b_tmp[4]; + const uint8_t *ba, *bb; + int i; + + if (ipv6) { +ba = tor_addr_to_in6_addr8(a); +bb = tor_addr_to_in6_addr8(b); + } else { +set_uint32(a_tmp, tor_addr_to_ipv4n(a)); +set_uint32(b_tmp, tor_addr_to_ipv4n(b)); +ba = a_tmp; bb = b_tmp; + } + + for (i = 0; i < n_bytes; ++i) { +d[i] |= ba[i] ^ bb[i]; + } +} + +static void +test_virtaddrmap(void *data) +{ + /* Let's start with a bunch of random addresses. */ + int ipv6, bits, iter, b; + virtual_addr_conf_t cfg[2]; + uint8_t bytes[16]; + + (void)data; + + tor_addr_parse(&cfg[0].addr, "64.65.0.0"); + tor_addr_parse(&cfg[1].addr, "3491:c0c0::"); + + for (ipv6 = 0; ipv6 <= 1; ++ipv6) { +for (bits = 0; bits < 18; ++bits) { + tor_addr_t last_a; + cfg[ipv6].bits = bits; + memset(bytes, 0, sizeof(bytes)); + tor_addr_copy(&last_a, &cfg[ipv6].addr); + /* Generate 128 addresses with each addr/bits combination. */ + for (iter = 0; iter < 128; ++iter) { +tor_addr_t a; + +get_random_virtual_addr(&cfg[ipv6], &a); +//printf("%s\n", fmt_addr(&a)); +/* Make sure that the first b bits match the configured network */ +tt_int_op(0, ==, tor_addr_compare_masked(&a, &cfg[ipv6].addr, + bits, CMP_EXACT)); + +/* And track which bits have been different between pairs of + * addresses */ +update_difference(ipv6, bytes, &last_a, &a); + } + + /* Now make sure all but the first 'bits' bits of bytes are true */ + for (b = bits+1; b < (ipv6?128:32); ++b) { +tt_assert(1 & (bytes[b/8] >> (7-(b&7; + } +} + } + + done: + ; +} + + static void + test_addr_is_loopback(void *data) + { + static const struct loopback_item { + const char *name; + int is_loopback; + } loopback_items[] = { + { "::1", 1 }, + { "127.0.0.1", 1 }, + { "127.99.100.101", 1 }, + { "128.99.100.101", 0 }, + { "8.8.8.8", 0 }, + { "0.0.0.0", 0 }, + { "::2", 0 }, + { "::", 0 }, + { "::1.0.0.0", 0 }, + { NULL, 0 } + }; + + int i; + tor_addr_t addr; + (void)data; + + for (i=0; loopback_items[i].name; ++i) { + tt_int_op(tor_addr_parse(&addr, loopback_items[i].name), >=, 0); + tt_int_op(tor_addr_is_loopback(&addr), ==, loopback_items[i].is_loopback); + } + + tor_addr_make_unspec(&addr); + tt_int_op(tor_addr_is_loopback(&addr), ==, 0); + + done: + ; + } + #define ADDR_LEGACY(name) \ { #name, legacy_test_helper, 0, &legacy_setup, test_addr_ ## name } struct testcase_t addr_tests[] = { ADDR_LEGACY(basic), ADDR_LEGACY(ip6_helpers), + ADDR_LEGACY(parse), + { "virtaddr", test
[tor-commits] [tor/maint-0.2.4] Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
commit ef4db3169344567f30fb72e3e9a66154b976d889 Merge: 0196647 c6ca199 Author: Nick Mathewson Date: Mon Mar 11 13:32:16 2013 -0400 Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 changes/geoip-mar2013 |3 + src/config/geoip |92875 + 2 files changed, 85446 insertions(+), 7432 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits