aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Implement circuitmux_attach_circuit() in circuitmux.cAndrea Shepard2012-10-10
|
* Implement circuitmux_alloc()/circuitmux_free() and chanid/circid->muxinfo ↵Andrea Shepard2012-10-10
| | | | hash table
* Use circuitmux_t in channels and when relaying cellsAndrea Shepard2012-10-10
|
* Add circuitmux.c, circuitmux.hAndrea Shepard2012-10-10
|
* Add magic number for type-checking channel castsAndrea Shepard2012-10-09
|
* Improve comments on channel_write_*()Andrea Shepard2012-10-09
|
* Use cell_queue_entry_new/free() functions in channel.cAndrea Shepard2012-10-09
|
* Set reason_for_closing when erroring out of channel_tls_connect()Andrea Shepard2012-10-09
|
* Split channel_t into channel_t and channel_listener_t; get rid of that big unionAndrea Shepard2012-10-09
|
* Conform to existing Doxygen styleAndrea Shepard2012-10-08
|
* Refactor ↵Andrea Shepard2012-10-08
| | | | channel_write_cell()/channel_write_packed_cell()/channel_write_var_cell() to eliminate redundant code
* Use typedefs for function pointer return values and s/listener/listener_fn/ ↵Andrea Shepard2012-10-08
| | | | for distinctness
* s/cell_queue/incoming_queue/g in channel.c for consistency with outgoing_queueAndrea Shepard2012-10-08
|
* Fix typo in commentAndrea Shepard2012-10-08
|
* s/channel_request_close()/channel_mark_for_close()/g for consistencyAndrea Shepard2012-10-08
|
* Make channel_force_free() staticAndrea Shepard2012-10-08
|
* Simplify channel_next_with_digest() in channel.cAndrea Shepard2012-10-08
|
* Eliminate unnecessary channel_set_cell_handler(), ↵Andrea Shepard2012-10-08
| | | | channel_set_var_cell_handler() in channel.c
* Eliminate unnecessary SMARTLIST_DEL_CURRENT() invocations in channel.c, ↵Andrea Shepard2012-10-08
| | | | channeltls.c
* Remove orphaned comment in channel_flush_some_cells_from_outgoing_queue()Andrea Shepard2012-10-08
|
* Simplify channel_find_by_remote_digest()Andrea Shepard2012-10-08
|
* Abolish superfluous channel_find_by_remote_nickname()Andrea Shepard2012-10-08
|
* channel_free() should be a no-opAndrea Shepard2012-10-08
|
* Use U64_FORMAT/U64_PRINTF_ARG rather than %lu for channel_tAndrea Shepard2012-10-08
|
* Check return value from connection_or_connect() in channel_tls_connect()Andrea Shepard2012-10-08
| | | | | | It's possible for connection_or_connect() to fail and return NULL after it sets tlschan->conn, so not checking leaves a channel hanging around in CHANNEL_STATE_OPENING with a pointer to a freed or_connection_t forever.
* Add changes file for channels (ticket 6465)Andrea Shepard2012-10-08
|
* Keep better statistics about channels and dump them from dumpstats() on SIGUSR1Andrea Shepard2012-10-08
|
* Call channel_tls_free_all() and channel_free_all() from tor_free_all in main.cAndrea Shepard2012-10-08
|
* Call connection_or_close_normally() rather than using ↵Andrea Shepard2012-10-08
| | | | connection_mark_for_close()/connection_mark_and_flush() in run_connection_housekeeping() of main.c so that channels get sent to the CLOSING state correctly (avoids an assert otherwise)
* Call channel_run_cleanup() in main.c, and include a comment explaining how ↵Andrea Shepard2012-10-08
| | | | closing or_connections related to channels
* Add LD_CHANNEL log domain in log.cAndrea Shepard2012-10-08
|
* Use channel_is_bad_for_new_circs(), connection_or_get_num_circs() in main.cAndrea Shepard2012-10-08
|
* Use connection_or_get_num_circuits() in control.cAndrea Shepard2012-10-08
|
* Convert rendmid.c to channel_tAndrea Shepard2012-10-08
|
* Use dirreq_id from channel_t when appropriateAndrea Shepard2012-10-08
|
* Switch onion.c over to channel_tAndrea Shepard2012-10-08
|
* Use channel_t in cpuworker.cAndrea Shepard2012-10-08
| | | | | | | Note: this is a squashed commit; see branch bug6465_rebased_v2 of user/andrea/tor.git for full history of the following 2 commits: Use channel_t in cpuworker.c Fix bug in channel_t usage in cpuworker.c that was killing relaying on channel_t-ized Tor. The tags passed to the worker now have a channel ID, not a connection ID.
* Query circuit count from associated channel of or_conn in control.cAndrea Shepard2012-10-08
|
* Make reachabiity test in dirserv.c use channel_tAndrea Shepard2012-10-08
|
* Convert relay.c/relay.h to channel_tAndrea Shepard2012-10-08
| | | | | | | | | | | | | | | Note: this is a squashed commit; see branch bug6465_rebased_v2 of user/andrea/tor.git for full history of the following 10 commits: Convert relay.c/relay.h to channel_t Updating the timestamp if n_flushed > 0 at the end of channel_flush_from_first_active_circuit() was redundant since channel_write_cell() et al. do it themselves. Get rid of now-unnecessary time parameter in channel_flush_from_first_active_circuit() Get rid of now-unnecessary time parameter in channel_flush_from_first_active_circuit() in connection_or.c Add non-inlined external call for channeltls.c to free a packed_cell_t Appease make check-spaces in relay.c Replace channel_get_write_queue_len() with sufficient and easier to implement channel_has_queued_writes() in relay.c Rename channel_touched_by_client() and client_used field for consistency with other timestamps in relay.c Don't double-free packed cells in relay.c (channel_t Tor now bootstraps and works as a client) Rearrange channel_t struct to use a union distinguishing listener from cell-bearing channels in relay.c
* Support channel_t in connection_edge.cAndrea Shepard2012-10-08
|
* Use channel_t in cmd.cAndrea Shepard2012-10-08
|
* Use channel_t rather than or_connection_t for circuitsAndrea Shepard2012-10-08
|
* Initial channeltls.c/channeltls.h for bug 6465Andrea Shepard2012-10-08
|
* Fix make check-spaces in circuitbuild.c and router.hAndrea Shepard2012-10-08
|
* Add channel.c/channel.h for bug 6465Andrea Shepard2012-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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}
* Merge remote-tracking branch 'public/openssl_1_is_best'Nick Mathewson2012-10-04
|\
| * Log a notice if we're running with OpenSSL before 1.0.0.Nick Mathewson2012-09-12
| | | | | | | | | | These versions have some dubious, slow crypto implementations; 1.0.0 is a great improvement, and at this point is pretty mature.
| * Drop support for openssl 0.9.7Nick Mathewson2012-09-12
| | | | | | | | | | | | | | 097 hasn't seen a new version since 2007; we can drop support too. This lets us remove our built-in sha256 implementation, and some checks for old bugs.
* | Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson2012-10-04
|\ \