aboutsummaryrefslogtreecommitdiff
path: root/src/core/or/connection_edge.h
AgeCommit message (Collapse)Author
2020-08-03Merge remote-tracking branch 'tor-github/pr/1986/head'Nick Mathewson
2020-07-16Define new CONST_TO_*_CONN() functions for const-to-const castsNick Mathewson
These names are analogous to the CONST_TO_*_CIRC() functions we have for circuits. Part of #40046.
2020-07-08Send a control port event when a stream enters the ↵Neel Chauhan
AP_CONN_STATE_CONTROLLER_WAIT state
2020-02-18Move DNS TTL manipulation code to src/core/orNick Mathewson
This removes a dependency from the client code on feature/relay.
2020-01-08It's 2020. Update the copyright dates with "make update-copyright"Nick Mathewson
2019-11-18hs-v3: Set extended error if .onion is invalidDavid Goulet
In order to achieve this, the parse_extended_hostname() had to be refactored to return either success or failure and setting the hostname type in the given parameter. The reason for that is so it can detect invalid onion addresses that is having a ".onion", the right length but just not passing validation. That way, we can send back the prop304 ExtendedError "X'F1' Onion Service Descriptor Is Invalid" to notify the SOCKS connection of the invalid onion address. Part of #30382 Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-04-29sendme: Always close stream if deliver window is negativeDavid Goulet
Previously, we would only close the stream when our deliver window was negative at the circuit-level but _not_ at the stream-level when receiving a DATA cell. This commit adds an helper function connection_edge_end_close() which sends an END and then mark the stream for close for a given reason. That function is now used both in case the deliver window goes below zero for both circuit and stream level. Part of #26840 Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-01-16Bump copyright date to 2019Nick Mathewson
2018-12-04conn: Add an helper to mark a connection as waiting for an HS descriptorDavid Goulet
The transition for a connection to either become or go back in AP_CONN_STATE_RENDDESC_WAIT state must make sure that the entry connection is _not_ in the waiting for circuit list. This commit implements the helper function connection_ap_mark_as_waiting_for_renddesc() that removes the entry connection from the pending list and then change its state. This code pattern is used in many places in the code where next commit will remove this code duplication to use this new helper function. Part of #28669 Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-10-14Remove a double-newline and improve a commentNick Mathewson
2018-10-14Merge branch 'bug27772_squashed'Nick Mathewson
2018-10-14Use the correct function signatures in test_relaycell.cNick Mathewson
This is now officially an antipattern: please let's never copy a function declaration in two places again. That's what headers are for.
2018-09-21Merge remote-tracking branch 'ahf-github/asn/bugs4700_2'Nick Mathewson
2018-09-15Add proxy headers as early as possible.Alexander Færøy
This patch moves the logic that adds the proxy headers to an earlier point in the exit connection lifetime, which ensures that the application data cannot be written to the outbuf before the proxy header is added. See: https://bugs.torproject.org/4700
2018-09-15Change HiddenServiceExportCircuitID to take a string parameter: the protocol.Alexander Færøy
This patch changes HiddenServiceExportCircuitID so instead of being a boolean it takes a string, which is the protocol. Currently only the 'haproxy' protocol is defined. See: https://bugs.torproject.org/4700
2018-09-15Improve export_hs_client_circuit_id() function.George Kadianakis
- Change default values. - Beautify. - Documentation.
2018-09-14Fix compilation of 27686 on master.Nick Mathewson
2018-09-14Merge branch 'ticket27686_034' into xNick Mathewson
2018-08-29Merge branch 'ticket25573-034' into ticket25573-masterMike Perry
2018-07-05Move literally everything out of src/orNick Mathewson
This commit won't build yet -- it just puts everything in a slightly more logical place. The reasoning here is that "src/core" will hold the stuff that every (or nearly every) tor instance will need in order to do onion routing. Other features (including some necessary ones) will live in "src/feature". The "src/app" directory will hold the stuff needed to have Tor be an application you can actually run. This commit DOES NOT refactor the former contents of src/or into a logical set of acyclic libraries, or change any code at all. That will have to come in the future. We will continue to move things around and split them in the future, but I hope this lays a reasonable groundwork for doing so.