summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-12-14prop224: Introduce the new introduction point code.George Kadianakis
(pun not intended) Now our code supports both legacy and prop224 ESTABLISH_INTRO cells :) hs_intro_received_establish_intro() is the new entry point.
2016-12-14prop224: Add code that generates ESTABLISH_INTRO cells.George Kadianakis
Currently unused. It will only be used for creating ESTABLISH_INTRO cells in unittests :)
2016-12-14prop224 prepwork: Use of HS circuitmap in existing HS code.George Kadianakis
The new HS circuitmap API replaces old public functions as follows: circuit_clear_rend_token -> hs_circuitmap_remove_circuit circuit_get_rendezvous -> hs_circuitmap_get_rend_circ circuit_get_intro_point -> hs_circuitmap_get_intro_circ_v2 circuit_set_rendezvous_cookie -> hs_circuitmap_register_rend_circ circuit_set_intro_point_digest -> hs_circuitmap_register_intro_circ_v2 This commit also removes the old rendinfo code that is now unused. It also fixes the broken rendinfo unittests.
2016-12-14prop224 prepwork: Introduce HS circuitmap subsystem.George Kadianakis
The HS circuitmap is a hash table that maps introduction and rendezvous tokens to specific circuits such that given a token it's easy to find the corresponding circuit. It supports rend circuits and v2/v3 intro circuits. It will be used by the prop224 ESTABLISH_INTRO code to register and lookup v3 introduction circuits. The next commit after this removes the old code and fixes the unittests. Please consult both commits while reviewing functionality differences between the old and new code. Let me know if you want this rebased differently :) WRT architectural differences, this commit removes the rendinfo pointer from or_circuit_t. It then adds an hs_token_t pointer and a hashtable node for the HS circuitmap. IIUC, this adds another pointer to the weight of or_circuit_t. Let me know if you don't like this, or if you have suggestions on improving it.
2016-12-14prop224 prepwork: Finish decoupling old ESTABLISH_INTRO creation logic.George Kadianakis
2016-12-14prpo224 prepwork: Decouple legacy ESTABLISH_INTRO creation logic.George Kadianakis
This commit only moves code.
2016-12-14prop224 prepwork: Introduce HMAC-SHA3 function.George Kadianakis
2016-11-10Merge remote-tracking branch 'dgoulet/bug20570_030_01'Nick Mathewson
2016-11-10Merge remote-tracking branch 'dgoulet/bug20567_030_01'Nick Mathewson
2016-11-10Merge remote-tracking branch 'public/feature20552'Nick Mathewson
2016-11-10Merge remote-tracking branch 'dgoulet/ticket19642_030_01'Nick Mathewson
2016-11-10Add "TByte" and "TBytes" units; also add "TBits" to man pageMatt Nordhoff
2016-11-10Merge branch 'maint-0.2.9'Nick Mathewson
2016-11-10Merge remote-tracking branch 'teor/bug20613' into maint-0.2.9Nick Mathewson
2016-11-08Merge branch 'maint-0.2.9'Nick Mathewson
2016-11-09Stop logging single onion and Tor2web long-term one-hop circuitsteor
Single onion services and Tor2web deliberately create long-term one-hop circuits to their intro and rend points, respectively. These log messages are intended to diagnose issue 8387, which relates to circuits hanging around forever for no reason. Fixes bug 20613; bugfix on 0.2.9.1-alpha. Reported by "pastly".
2016-11-08In torrc.sample.in, note that bandwidth must be >=75 KB.Nick Mathewson
Queue a corresponding change for torrc.minimal.in. Closes ticket 20085.
2016-11-09Call get_options() once at the top of circuit_log_ancient_one_hop_circuits()teor
Refactoring, no behaviour change.
2016-11-08Merge branch 'maint-0.2.9'Nick Mathewson
2016-11-08Merge remote-tracking branch 'public/bug20306_029' into maint-0.2.9Nick Mathewson
2016-11-08Merge branch 'maint-0.2.9'Nick Mathewson
2016-11-08Use va_copy() in pure-windows version of tor_asprintf().Nick Mathewson
It's not okay to use the same varargs list twice, and apparently some windows build environments produce code here that would leave tor_asprintf() broken. Fix for bug 20560; bugfix on 0.2.2.11-alpha when tor_asprintf() was introduced.
2016-11-08hs: Add single-onion-service line to v3 descriptorDavid Goulet
This field indicates if the service is a Single Onion Service if present in the descriptor. Closes #19642 Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-11-08Bump version to 0.2.9.5-alpha-devNick Mathewson
2016-11-08Merge branch 'maint-0.2.9'Nick Mathewson
2016-11-08When using exponential backoff in test networks, use a lower exponentteor
Lower exponents mean that delays do not vary as much. This helps test networks bootstrap consistently. Bugfix on 20499.
2016-11-07bump version to 0.2.9.5-alphaNick Mathewson
2016-11-07Merge branch 'maint-0.2.9'Nick Mathewson
Conflicts: src/or/rendservice.c
2016-11-07Merge remote-tracking branch 'teor/bug20484_029_v2' into maint-0.2.9Nick Mathewson
2016-11-07Merge branch 'maint-0.2.9'Nick Mathewson
2016-11-07Fix another 20499-broken testNick Mathewson
2016-11-07Fix a unit test (broken by recent 20499 hacking)Nick Mathewson
2016-11-07hs: Document arguments of rend_data_*_create()David Goulet
Fixes #20567 Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-11-07Treat bacoff/schedule mismatch as a bug.Nick Mathewson
2016-11-07Merge branch 'maint-0.2.9'Nick Mathewson
2016-11-07Reduce multiplier to 3, per teor's recommendation on #20534Nick Mathewson
(Three _is_ a good number for anonymity!)
2016-11-07Always increment delays by at least 1.Nick Mathewson
2016-11-07Avoid integer overflow in delay calculation.Nick Mathewson
2016-11-07Count HTTP 503 as a download failure.Nick Mathewson
Because as Teor puts it: "[Resetting on 503] is exactly what we don't want when relays are busy - imagine clients doing an automatic reset every time they DoS a relay..." Fixes bug 20593.
2016-11-07Adjust download schedules per teor's #20534 recommendataionsNick Mathewson
2016-11-07test: Remove useless HS decode multiple intro pointsDavid Goulet
The test was broken and skipped because the hardcoded cross certificate didn't include the dynamically generated signing key generated by the test. The only way we could have fixed that is extracting the signing key from the hardcoded string and put it in the descriptor object or dynamically generate the cross certificate. In the end, all this was kind of pointless as we already test the decoding of multiple introduction points elsewhere and we don't gain anything with that specific test thus the removal. Fixes #20570 Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-11-07Merge branch 'maint-0.2.9'Nick Mathewson
2016-11-07Merge branch 'maint-0.2.8' into maint-0.2.9Nick Mathewson
2016-11-07Merge branch 'maint-0.2.7' into maint-0.2.8Nick Mathewson
2016-11-07Merge branch 'maint-0.2.6' into maint-0.2.7Nick Mathewson
2016-11-07Merge branch 'maint-0.2.5' into maint-0.2.6Nick Mathewson
2016-11-07Merge branch 'maint-0.2.4' into maint-0.2.5Nick Mathewson
2016-11-07Merge branch '20499_part1_029_squashed', remote-tracking branches ↵Nick Mathewson
'teor/bug20591_029' and 'teor/bug20533_029' into maint-0.2.9
2016-11-07Allow infinitely long delays in exponential-backoff downloadsNick Mathewson
It's only safe to remove the failure limit (per 20536) if we are in fact waiting a bit longer each time we try to download. Fixes bug 20534; bugfix on 0.2.9.1-alpha.
2016-11-07Merge branch 'maint-0.2.9'Nick Mathewson