summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2012-10-08Use channel_t in cmd.cAndrea Shepard
2012-10-08Use channel_t rather than or_connection_t for circuitsAndrea Shepard
2012-10-08Initial channeltls.c/channeltls.h for bug 6465Andrea Shepard
2012-10-08Fix make check-spaces in circuitbuild.c and router.hAndrea Shepard
2012-10-08Add channel.c/channel.h for bug 6465Andrea Shepard
Note: this is a squashed commit; see branch bug6465_rebased_v2 of user/andrea/tor.git for full history of the following 90 commits: Add channel.c/channel.h for bug 6465 Fix make check-spaces in new channel.c/channel.h Make sure new channel.h is in nodist_HEADERS and Makefile.nmake is up to date too Add channel_state_t and state utility functions Add channel_change_state() Better comments in channel.h Add CHANNEL_STATE_LISTENING for channel_t Fix wide line in channel.c Add structures/prototypes for incoming cell handling Implement channel_queue_cell() and channel_queue_var_cell() Implement channel_process_cells() Fix asserts in channel_queue_cell() and channel_queue_var_cell() Add descriptive comments for channel_queue_cell() and channel_queue_var_cell() Implement channel cell handler getters/setters Queue outgoing writes when not in writeable state Drain queues and test assertions when changing channel_t state Add log_debug() messages for channel_t stuff Add log_debug() messages for channel_t stuff Add some channel_t metadata Add time_t client_used to channel_t Add channel_touched_by_client() Declare a few channel_t metadata queries we'll have to implement later for use by circuitbuild.c Add next_circ_id/circ_id_type to channel_t for use by circuitbuild.c Count n_circuits in channel_t Channel timestamp calls Add create timestamp for channel.h Declare some new metadata queries on channel_t Add get_real_remote_descr() prototype Move active_circuits stuff to channel_t, some other or.h and channel.h changes Make channel_t refcounted and use global lists of active channels Update channel_request_close() and channel_change_state() for channel_t registration mechanism Handle closing channels sensibly Add global_identifier for channels, channel_init() internal use function Add timestamp_last_added_nonpadding to channel_t Better comments in channel_init() Correctly handle next_circ_id in channel_init() Correctly handle next_circ_id in channel_init() and even compile this time Appease make check-spaces Update timestamps when writing cells to channel_t Add channel_flush_some_cells() to call channel_flush_from_first_active_circuit() Add registered channel lookup functions Get rid of client_used in or_connection_t; it's in channel_t now Get rid of circ_id_type in or_connection_t; implement channel_set_circ_id_type() Eliminate is_bad_for_new_circs in or_connection_t; implement getter/setter for it in channel_t Eliminate next_circ_id in or_connection_t in favor of channel_t Handle packed cells in channel_t for relay.c Add channel_identity_map and related functions Handle add/remove from channel identity map on state transitions Implement channel_is_local() and channel_mark_local() Implement channel_is_client() and channel_mark_client() Implement channel_is_outgoing() and channel_mark_outgoing() Eliminate declaration for redundant channel_nonopen_was_started_here() Add channel timestamps Add channel timestamps, fix some make-check-spaces complaints Remove redundant channel_was_started_here() function and initiated_remotely bit Rename channel_get_remote_descr()/channel_get_real_remote_descr() to something clearer in channel.h Replace channel_get_write_queue_len() with sufficient and easier to implement channel_has_queued_writes() in channel.h Change return type of channel_is_bad_for_new_circs() to int for consistency Implement channel_has_queued_writes() Rename channel_touched_by_client() and client_used field for consistency with other timestamps in channel.{c,h} Implement channel_get_actual_remote_descr() and channel_get_canonical_remote_descr() in channel.{c,h} Implement channel_matches_extend_info() in channel.{c,h} Implement channel_get_for_extend() and channel_is_better() in channel.{c,h} Make channel_is_better() public in channel.{c,h} Implement channel_matches_target_addr_for_extend() in channel.{c,h} Implement channel_is_canonical_is_reliable() in channel.{c,h} Demoronize get_remote_descr() method prototype - what the hell was I thinking there? Timestamp channels in the right places in channel.c Add missing tor_assert() in channel.c Check if the lower layer accepted a cell in channel_write_cell() et al. of channel.c Implement channel_flush_cells() in channel.c (w00t, it builds at last) Call channel_timestamp_drained() at the right places in channel.c Implement channel_run_cleanup() Support optional channel_get_remote_addr() method and use it for GeoIP in channel_do_open_actions() Get rid of channel refcounting; it'll be too complicated to handle it properly with all the pointers from circuits to channels, and closing from channel_run_cleanup() will work okay just like with connections Doxygenate channel.c Appease make check-spaces in channel.c Fix superfluous semicolons in channel.c Add/remove channels from identity digest map in all the right places in channel.c The cell queues on channel_t must be empty when going to a CLOSED or ERROR state Appease make check-spaces in channel.c Add channel_clear/set_identity_digest() and some better logging to channel.{c,h} Fix better logging to channel.c Avoid SIGSEGV testing for queue emptiness in channel_flush_some_cells_from_outgoing_queue() Remove TODO about checking cell queue in channel_free(); no need for it Appease make check-spaces in channel.c Add channel_free_all() and support functions Check nullness of active_circuit_pqueue in channel_free() Fix SMARTLIST_FOREACH_END usage in channel_process_cells() Rearrange channel_t struct to use a union distinguishing listener from cell-bearing channels in channel.{c,h}
2012-10-04Merge remote-tracking branch 'public/openssl_1_is_best'Nick Mathewson
2012-10-04Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson
2012-10-04Merge remote-tracking branch 'arma/bug7037' into maint-0.2.3Nick Mathewson
2012-10-04Fix tabs in config.cNick Mathewson
2012-10-04Merge remote-tracking branch 'linus/bug6757'Nick Mathewson
2012-10-04Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson
2012-10-03pass the reason from the truncated cell to the controllerRoger Dingledine
(rather than just always declaring that the reason is END_CIRC_REASON_OR_CONN_CLOSED) resolves bug 7039.
2012-10-03Refuse extra create cells with reason "resource limit"Roger Dingledine
In the past we had used reason "internal", which is more vague than it needs to be. Resolves bug 7037.
2012-10-03properly free the return values of rate_limit_log()Roger Dingledine
resolves bug 7022.
2012-10-03actually use the rate-limiting stringRoger Dingledine
previously we just allocated the string and then freed it.
2012-10-02reformat; no actual changesRoger Dingledine
2012-10-02and make the last commit compileRoger Dingledine
2012-10-02Fix compilation error left over from 1cbf45bed1. (Bug 7021)Nick Mathewson
2012-10-02more consistently use [gs]et_uint8Roger Dingledine
2012-10-01The --version option should imply --quiet.Nick Mathewson
Patch from 'maker'.
2012-09-28Add missing declaration so 6876 compilesNick Mathewson
2012-09-28Merge remote-tracking branch 'linus/enh6876_2'Nick Mathewson
2012-09-25Merge remote-tracking branch 'rransom/warn-about-hses-without-guards'Nick Mathewson
2012-09-22Merge branch 'maint-0.2.3'Roger Dingledine
2012-09-22add faravahar as our ninth v3 dir authRoger Dingledine
2012-09-22bump to 0.2.4.3-alpha-devRoger Dingledine
2012-09-22bump to 0.2.4.3-alphator-0.2.4.3-alphaRoger Dingledine
2012-09-224aff97cfc didn't update the 'last modified' timestampRoger Dingledine
2012-09-21Remove the testing_since* fieldsNick Mathewson
They weren't actually used since 7a35dad00 Bug 5809
2012-09-21Fix comment in crypto.h; bug 6830Nick Mathewson
2012-09-21add changes file and whitespace fixes for bug 4020Nick Mathewson
2012-09-21Reinstate address in warning message when binding non-locallyTom Fitzhenry
bug4020 Signed-off-by: Tom Fitzhenry <tom@tom-fitzhenry.me.uk>
2012-09-20Don't leak msg when parse_virtual_addr_network() fails.Linus Nordberg
2012-09-20Make option OutboundBindAddress accept IPv6 addresses too.Linus Nordberg
Implements ticket 6786.
2012-09-19Have node_get_pref_orport() return an IPv6 OR port when UseBridges is set.Linus Nordberg
We used to never return an IPv6 address unless ClientUseIPv6 was set. We should allow clients running with bridges use IPv6 OR ports even without setting ClientUseIPv6. Configuring an IPv6 address in a Bridge line should imply that. Fixes th second part of #6757.
2012-09-19Set (and reset) node_t.ipv6_preferred for bridges based on Bridge lines.Linus Nordberg
We used to set it only when ClientPreferIPv6ORPort was set which seems wrong. Fixes one part of #6757.
2012-09-18Fix comment typoRobert Ransom
2012-09-18Warn if HSes are configured on a client with UseEntryGuards disabledRobert Ransom
2012-09-18Correct comment explaining why tor2web mode should disable entry guardsRobert Ransom
2012-09-18Disable Guard usage for Tor2webMode.Mike Perry
Tor2webMode is fingerprintable by hidden services through repeated usage of the same three guard nodes for its rend and intro points.
2012-09-18Bump bug 6866 log messages back up to notice for 0.2.4Nick Mathewson
2012-09-18Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson
2012-09-18Whitespace fixesNick Mathewson
2012-09-18Print the correct address family in log printout.Linus Nordberg
Look at the address family of the preferred OR port rather than the node.ipv6_preferred flag since the logic has changed with new ClientUseIPv6 config option. Fixes ticket 6884.
2012-09-17Bug 6866: Convert pathbias asserts into log messages.Mike Perry
Asserts were hit by Tor2Web mode.
2012-09-17Merge remote-tracking branch 'linus/bug6880'Nick Mathewson
2012-09-17Don't do reachability testing over IPv6 unless AuthDirPublishIPv6 is set.Linus Nordberg
This affects both directory authorities and bridge authoritites.
2012-09-17Fix comment typo in tor_memeqRobert Ransom
2012-09-17Add unit test for crypto_pk_cmp_keys and NULLNick Mathewson
2012-09-17Fix documentation for crypto_pk_cmp_keysRobert Ransom
Now that crypto_pk_cmp_keys might return the result of tor_memcmp, there is no guarantee that it will only return -1, 0, or 1. (It currently does only return -1, 0, or 1, but that's a lucky accident due to details of the current implementation of tor_memcmp and the particular input given to it.) Fortunately, none of crypto_pk_cmp_keys's callers rely on this behaviour, so changing its documentation is sufficient.