Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | scan-build: Be consistent with a needless check in circuitmux.c | Nick Mathewson | 2014-04-18 |
| | | | | | | | | | In circuitmux_detach_all_circuits, we check whether an HT iterator gives us NULL. That should be impossible for an HT iterator. But our checking it has confused scan-build (justly) into thinking that our later use of HT_NEXT_RMV might not be kosher. I'm taking the coward's route here and strengthening the check. Bugfix on fd31dd44. (Not a real bug though) | ||
* | Test code for implementation of faster circuit_unlink_all_from_channel | Nick Mathewson | 2014-03-14 |
| | | | | | | | | This contains the obvious implementation using the circuitmux data structure. It also runs the old (slow) algorithm and compares the results of the two to make sure that they're the same. Needs review and testing. | ||
* | Merge branch 'morestats4' into morestats5 | Karsten Loesing | 2013-10-28 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/tor.1.txt src/or/config.c src/or/connection.h src/or/control.c src/or/control.h src/or/or.h src/or/relay.c src/or/relay.h src/test/test.c | ||
* | | Initialize destroy_cell_queue. | Nick Mathewson | 2013-07-19 |
| | | | | | | | | | | Likely fix for the crash bug of #9296, which was introduced through a combination of #7912 and #8586. Bugfix not in any released Tor. | ||
* | | Use TOR_SIMPLEQ for packed_cell_t | Nick Mathewson | 2013-07-18 |
| | | |||
* | | Add some basic unit tests for the circuit map data structure. | Nick Mathewson | 2013-07-10 |
| | | | | | | | | | | These show off the new mocking code by mocking the circuitmux code so that we can test the circuit map code in isolation. | ||
* | | Fix bug 9082: avoid leak when freeing destroy cell queues | Nick Mathewson | 2013-06-17 |
| | | | | | | | | | | | | | | | | In my #7912 fix, there wasn't any code to remove entries from the (channel, circuit ID)->circuit map corresponding to queued but un-sent DESTROYs. Spotted by skruffy. Fixes bug 9082; bug not in any released Tor. | ||
* | | Fix compile warnings wrt printf formating of int64_t | Nick Mathewson | 2013-06-13 |
| | | |||
* | | Add destroy balance tracking and logging to circuitmux | Andrea Shepard | 2013-06-13 |
| | | |||
* | | Implementation of a fix for bug 7912 | Nick Mathewson | 2013-06-13 |
|/ | | | | | | | | | I added the code to pass a destroy cell to a queueing function rather than writing it immediately, and the code to remember that we shouldn't reuse the circuit id until the destroy is actually sent, and the code to release the circuit id once the destroy has been sent... and then I finished by hooking destroy_cell_queue into the rest of Tor. | ||
* | Fix 8447: use %u to format circid_t. | Nick Mathewson | 2013-03-10 |
| | | | | | | | | | Now that circid_t is 4 bytes long, the default integer promotions will leave it alone when sizeof(int) == 4, which will leave us formatting an unsigned as an int. That's technically undefined behavior. Fixes bug 8447 on bfffc1f0fc7616a25c32da2eb759dade4651659e. Bug not in any released Tor. | ||
* | Update the copyright date to 201. | Nick Mathewson | 2013-01-16 |
| | |||
* | Fix formatting in various places after 6465/6816 work | Andrea Shepard | 2012-10-10 |
| | |||
* | Don't remove circuitmux hash table entries in circuitmux_detach_circuit() ↵ | Andrea Shepard | 2012-10-10 |
| | | | | until after circuitmux_make_circuit_inactive() | ||
* | Fix 'warning: circuit was already inactive' and assert in ↵ | Andrea Shepard | 2012-10-10 |
| | | | | circuitmux_make_circuit_inactive() during circuitmux_detach_all_circuits() | ||
* | Bring summary comment block in circuitmux.c up to date | Andrea Shepard | 2012-10-10 |
| | |||
* | New and improved circuitmux_detach_all_circuits(), now without the stupid | Andrea Shepard | 2012-10-10 |
| | |||
* | Fix broken circuitmux_move_active_circ_to_tail(); don't assume n_chan is not ↵ | Andrea Shepard | 2012-10-10 |
| | | | | NULL in circuitmux_detach_circuit() | ||
* | Allow n_chan to be NULL in circuitmux_find_map_entry(); it can be but with ↵ | Andrea Shepard | 2012-10-10 |
| | | | | non-NULL p_chan when extending a circuit | ||
* | Use circuit_get_by_circid_channel_even_if_marked() and fix some asserts in ↵ | Andrea Shepard | 2012-10-10 |
| | | | | circuitmux.c | ||
* | Handle closing circuits correctly with circuitmux_t | Andrea Shepard | 2012-10-10 |
| | |||
* | Add a bunch of paranoid-mode expensive asserts incircuitmux.c | Andrea Shepard | 2012-10-10 |
| | |||
* | Adjust the circuitmux_t counter correctly in circuitmux_notify_xmit_cells() | Andrea Shepard | 2012-10-10 |
| | |||
* | Implement circuitmux_assert_okay() and helper functions in circuitmux.c | Andrea Shepard | 2012-10-10 |
| | |||
* | Implement circuitmux_get_first_active_circuit() in circuitmux.c; add ↵ | Andrea Shepard | 2012-10-10 |
| | | | | pick_active_circuit() to circuitmux_policy_t in circuitmux.h | ||
* | Add comment for circuitmux_notify_xmit_cells() in circuitmux.c | Andrea Shepard | 2012-10-10 |
| | |||
* | Add comment for circuitmux_move_active_circ_to_tail() in circuitmux.c | Andrea Shepard | 2012-10-10 |
| | |||
* | Implement circuitmux_notify_xmit_cells() and ↵ | Andrea Shepard | 2012-10-10 |
| | | | | circuitmux_move_active_circ_to_tail() helper in circuitmux.c | ||
* | Consistently allow policy alloc_cmux_data() and alloc_circ_data() functions ↵ | Andrea Shepard | 2012-10-10 |
| | | | | to return NULL if the policy does not use this in circuitmux.c | ||
* | Implement circuitmux_clear_policy(), circuitmux_get_policy() and ↵ | Andrea Shepard | 2012-10-10 |
| | | | | circuitmux_set_policy() in circuitmux.c | ||
* | Add cmux policy notify_set_n_cells() and notify_xmit_cells() callbacks | Andrea Shepard | 2012-10-10 |
| | |||
* | Allocate and free circuit-specific policy data in the right places | Andrea Shepard | 2012-10-10 |
| | |||
* | Implement circuitmux policy basic notifications mechanism | Andrea Shepard | 2012-10-10 |
| | |||
* | Implement circuitmux_make_circuit_inactive(), ↵ | Andrea Shepard | 2012-10-10 |
| | | | | circuitmux_make_circuit_active() and linked list helper functions in circuitmux.c | ||
* | Implement circuitmux_detach_all_circuits() in circuitmux.c | Andrea Shepard | 2012-10-10 |
| | |||
* | Implement circuitmux_is_circuit_active(), ↵ | Andrea Shepard | 2012-10-10 |
| | | | | circuitmux_num_cells_for_circuit(), circuitmux_num_cells(), circuitmux_num_active_circuits() and circuitmux_num_circuits() in circuitmux.c | ||
* | Implement circuitmux_clear_num_cells() and circuitmux_set_num_cells() in ↵ | Andrea Shepard | 2012-10-10 |
| | | | | circuitmux.c, remove unneeded circuitmux_add_to_num_cells() from circuitmux.h | ||
* | Handle n_mux/p_mux properly in circuitmux.c | Andrea Shepard | 2012-10-10 |
| | |||
* | Implement circuitmux_detach_circuit() in circuitmux.c | Andrea Shepard | 2012-10-10 |
| | |||
* | Implement circuitmux_attached_circuit_direction(), ↵ | Andrea Shepard | 2012-10-10 |
| | | | | circuitmux_find_map_entry() and circuitmux_is_circuit_attached() in circuitmux.c | ||
* | Implement circuitmux_attach_circuit() in circuitmux.c | Andrea Shepard | 2012-10-10 |
| | |||
* | Implement circuitmux_alloc()/circuitmux_free() and chanid/circid->muxinfo ↵ | Andrea Shepard | 2012-10-10 |
| | | | | hash table | ||
* | Add circuitmux.c, circuitmux.h | Andrea Shepard | 2012-10-10 |