summaryrefslogtreecommitdiff
path: root/src/or/hs_cell.c
AgeCommit message (Collapse)Author
2017-08-24prop224: Add a function to clear INTRO dataDavid Goulet
New function named hs_cell_introduce1_data_clear() is introduced to clear off an hs_cell_introduce1_data_t object. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-24prop224: Parse RENDEZVOUS2 cellDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-24prop224: Handle INTRODUCE_ACK cellDavid Goulet
The client is now able to handle an INTRODUCE_ACK cell and do the appropriate actions. An intro point failure cache is missing and a way to close all intro point that were launched in parallel. Some notes are in the comment for that. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-24prop224: Parse INTRODUCE_ACK cellDavid Goulet
Add a function to parse an INTRODUCE_ACK cell in hs_cell.c. Furthermore, add an enum that lists all possible expected status code. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-24prop224: Build ESTABLISH_RENDEZVOUS cell and logicDavid Goulet
Add a function to build the cell. Add a the logic to send the cell when the rendezvous circuit opens. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-24prop224: Build INTRODUCE1 cell and send logicDavid Goulet
Add a function in hs_cell.{c|h} for a client to build an INTRODUCE1 cell using an object that contains all the needed keys to do so. Add an entry point in hs_client.c that allows a tor client to send an INTRODUCE1 cell on a given introduction circuit. It includes the building of the cell, sending it and the setup of the rendezvous circuit with the circuit identifier. The entry point function is still unused at this commit. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-11Make Windows happy for time_t printf formatDavid Goulet
Our Windows compiler treats "time_t" as long long int but Linux likes it long int so cast those to make Windows happy. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08Add note about handling INTRODUCE2 cells.George Kadianakis
Also fix a check-spaces instance.
2017-08-08Fix small easy bugs all aroundGeorge Kadianakis
- Fix log message format string. - Do extra circuit purpose check. - wipe memory in a clear function - Make sure we don't double add intro points in our list - Make sure we don't double close intro circuits. - s/tt_u64_op/tt_i64_op/
2017-08-08memwipe interesting unused memoryGeorge Kadianakis
2017-08-08prop224: Remove INTRODUCE2 legacy handlingDavid Goulet
Turns out that introduction points don't care about the INTRODUCE2 cell format as long as the top field is LEGACY_KEY_ID as expected. So let's use a single INTRODUCE format regardless of the introduction point being legacy or not. This also removes the polymorphic void* situation. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Support INTRODUCE2 cell replay cacheDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Support legacy INTRODUCE2 cellDavid Goulet
Also rename some function to follow a bit more the naming convention in that file. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Handle service RENDEZVOUS1 cellDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Establish rendezvous circuit for serviceDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Handle service INTRODUCE2 cellDavid Goulet
At this commit, launching rendezvous circuit is not implemented, only a placeholder. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Handle service INTRO_ESTABLISHED cellDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Circuit has opened and ESTABLISH_INTRO cellDavid Goulet
Add the entry point from the circuit subsystem of "circuit has opened" which is for all type of hidden service circuits. For the introduction point, this commit actually adds the support for handling those circuits when opened and sending ESTABLISH_INTRO on a circuit. Rendevzou point circuit aren't supported yet at this commit. Signed-off-by: David Goulet <dgoulet@torproject.org>