aboutsummaryrefslogtreecommitdiff
path: root/src/or/or.h
Commit message (Collapse)AuthorAge
* New waitpid-handler functions to run callbacks when a child exits.Nick Mathewson2014-06-14
| | | | Also, move 'procmon' into libor_event library, since it uses libevent.
* Quench gcc's complaints about discarding constness in TO_ORIGIN_CIRCUIT.dana koch2014-04-29
| | | | | | | This was previously satisfied by using a temporary variable, but there are three other instances in circuitlist.c that gcc is now bothered by, so now introduce a CONST_TO_ORIGIN_CIRCUIT that takes a const circuit_t instead.
* Merge branch 'bug11396_v2_squashed'Nick Mathewson2014-04-24
|\ | | | | | | | | Conflicts: src/or/main.c
| * Change the logic for the default for MaxMemInQueuesNick Mathewson2014-04-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If we can't detect the physical memory, the new default is 8 GB on 64-bit architectures, and 1 GB on 32-bit architectures. If we *can* detect the physical memory, the new default is CLAMP(256 MB, phys_mem * 0.75, MAX_DFLT) where MAX_DFLT is 8 GB on 64-bit architectures and 2 GB on 32-bit architectures. You can still override the default by hand. The logic here is simply trying to choose a lower default value on systems with less than 12 GB of physical RAM.
* | Merge branch '10267_plus_10896_rebased_twice'Nick Mathewson2014-04-16
|\ \
| * | Educate tor on OpenBSD's use of divert-to rules with the pf firewall.dana koch2014-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This means that tor can run without needing to communicate with ioctls to the firewall, and therefore doesn't need to run with privileges to open the /dev/pf device node. A new TransProxyType is added for this purpose, "pf-divert"; if the user specifies this TransProxyType in their torrc, then the pf device node is never opened and the connection destination is determined with getsockname (as per pf(4)). The default behaviour (ie., when TransProxyType is "default" when using the pf firewall) is still to assume that pf is configured with rdr-to rules.
| * | ipfw TransPort support on FreeBSD (10267)Nick Mathewson2014-04-16
| |/ | | | | | | | | | | This isn't on by default; to get it, you need to set "TransProxyType ipfw". (The original patch had automatic detection for whether /dev/pf is present and openable, but that seems marginally fragile.)
* | Merge remote-tracking branch 'public/bug10431'Nick Mathewson2014-04-09
|\ \
| * | Report only the first bootstrap failure from an orconnNick Mathewson2014-03-27
| |/ | | | | | | | | | | | | Otherwise, when we report "identity mismatch", we then later report DONE when the connection gets closed. Fixes bug 10431; bugfix on 0.2.1.1-alpha.
* | Merge remote-tracking branch 'public/bug9841_025'Nick Mathewson2014-04-08
|\ \
| * \ Merge remote-tracking branch 'public/bug9841_024_v2' into bug9841_025Nick Mathewson2014-02-13
| |\ \ | | | | | | | | | | | | | | | | Conflicts: src/or/circuitlist.c
| | * | Faster circuit_get_by_rend_token_and_purpose()Nick Mathewson2014-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On busy servers, this function takes up something like 3-7% in different profiles, and gets invoked every time we need to participate as the midpoint in a hidden service. So maybe walking through a linked list of all the circuits here wasn't a good idea.
* | | | For missing transport, say "PT_MISSING" not "NO_ROUTE"Nick Mathewson2014-04-07
| |_|/ |/| |
* | | Fix warnings from doxygenNick Mathewson2014-03-25
| | | | | | | | | | | | | | | | | | Most of these are simple. The only nontrivial part is that our pattern for using ENUM_BF was confusing doxygen by making declarations that didn't look like declarations.
* | | Take out remaining V1 directory code.Karsten Loesing2014-03-18
| | |
* | | Rename PredictedCircsRelevanceTime->PredictedPortsRelevanceTimeNick Mathewson2014-03-05
| | | | | | | | | | | | All circuits are predictive; it's the ports that are expiring here.
* | | Merge branch 'ticket9176_squashed'Nick Mathewson2014-03-05
|\ \ \ | | | | | | | | | | | | | | | | Conflicts: doc/tor.1.txt
| * | | Fix wide lines.Nick Mathewson2014-03-05
| | | |
| * | | Added max value to PredictedCircsRelevanceTime.unixninja922014-03-05
| | | |
| * | | PredictedCircsRelevanceTime: limit how long we predict a port will be usedunixninja922014-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, after you've made a connection to port XYZ, we assume you might still want to have an exit ready to connect to XYZ for one hour. This patch lets you lower that interval. Implements ticket 91
* | | | Merge remote-tracking branch 'arma/ticket5528'Nick Mathewson2014-03-05
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/or/router.c src/test/test_dir.c
| * | | | stop setting, or using, router->addressRoger Dingledine2013-02-09
| | | | | | | | | | | | | | | | | | | | resolves ticket 5528.
* | | | | Include v3 in documented 'protocols' in rend_service_descriptor_tNick Mathewson2014-03-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also make it unsigned and document that it's for INTRODUCE cell versions. Fixes 9099; bugfix on 0.2.1.5-alpha, which introduced the v3 protocol.
* | | | | Merge branch 'bug10169_025_v2'Nick Mathewson2014-03-04
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/test/test.c
| * \ \ \ \ Merge remote-tracking branch 'public/bug10169_024' into bug10169_025_v2Nick Mathewson2014-02-12
| |\ \ \ \ \ | | |_|_|/ / | |/| | | | | | | | | | | | | | | | Conflicts: src/or/circuitlist.c
| | * | | | Merge remote-tracking branch 'public/bug10169_023' into bug10169_024Nick Mathewson2014-01-03
| | |\ \ \ \ | | | |_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/tor.1.txt src/or/config.c src/or/or.h The conflicts were all pretty trivial.
| | | * | | Rename MaxMemInCellQueues to MaxMemInQueuesNick Mathewson2013-11-20
| | | | | |
| | | * | | Have the OOM handler also count the age the data in a stream bufferNick Mathewson2013-11-15
| | | | | |
* | | | | | Remove remaining v0 hidden service descriptor code.Karsten Loesing2014-02-12
|/ / / / / | | | | | | | | | | | | | | | | | | | | Fixes the rest of #10841 after #10881 already removed some hidden service authority code.
* | | | | Merge remote-tracking branch 'public/no_itime_queue_025'Nick Mathewson2014-02-11
|\ \ \ \ \
| * \ \ \ \ Merge remote-tracking branch 'public/no_itime_queue'Nick Mathewson2014-02-10
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The conflicts here were tricky, and required me to eliminate the command-queue as well. That wasn't so hard. Conflicts: src/or/or.h src/or/relay.c
| | * | | | | Excise the insertion_time_elem_t logicNick Mathewson2014-02-10
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's now redundant with the inserted_time field in packed_cell_t Fixes bug 10870.
* | / / / / Remove options for configuring HS authorities.Nick Mathewson2014-02-10
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (There is no longer meaningfully any such thing as a HS authority, since we stopped uploading or downloading v0 hs descriptors in 0.2.2.1-alpha.) Implements #10881, and part of #10841.
* | | | | TransProxyType replaces TransTPROXY optionNick Mathewson2014-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm making this change now since ipfw will want its own option too, and proliferating options here isn't sensible. (See #10582 and #10267)
* | | | | More fixes to rip out all of the v2 directory code.Karsten Loesing2014-02-03
| | | | | | | | | | | | | | | | | | | | (This was a squash commit, but I forgot to squash it. Sorry! --Nick)
* | | | | Merge remote-tracking branch 'public/bug10758'Nick Mathewson2014-02-03
|\ \ \ \ \
| * | | | | Rip out all of the v2 directory code.Nick Mathewson2014-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The remaining vestige is that we continue to publish the V2dir flag, and that, for the controller, we continue to emit v2 directory formats when requested.
* | | | | | Add support for TPROXY via new TransTPRoxy optionNick Mathewson2014-01-31
|/ / / / / | | | | | | | | | | | | | | | Based on patch from "thomo" at #10582.
* | | | | Merge branch 'finish_prop157'Nick Mathewson2013-11-18
|\ \ \ \ \
| * | | | | Make the dir-key-crosscert element requiredNick Mathewson2013-11-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In proposal 157, we added a cross-certification element for directory authority certificates. We implemented it in 0.2.1.9-alpha. All Tor directory authorities now generate it. Here, as planned, make it required, so that we can finally close proposal 157. The biggest change in the code is in the unit test data, where some old hardcoded certs that we made long ago have become no longer valid and now need to be replaced.
* | | | | | Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson2013-11-15
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/or/relay.c Conflict changes were easy; compilation fixes required were using using TOR_SIMPLEQ_FIRST to get head of cell queue.
| * | | | | Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4Nick Mathewson2013-11-15
| |\ \ \ \ \ | | |/ / / / | |/| / / / | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/or/or.h src/or/relay.c Conflicts were simple to resolve. More fixes were needed for compilation, including: reinstating the tv_to_msec function, and renaming *_conn_cells to *_chan_cells.
| | * | | Improved circuit queue out-of-memory handlerNick Mathewson2013-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, when we ran low on memory, we'd close whichever circuits had the most queued cells. Now, we close those that have the *oldest* queued cells, on the theory that those are most responsible for us running low on memory, and that those are the least likely to actually drain on their own if we wait a little longer. Based on analysis from a forthcoming paper by Jansen, Tschorsch, Johnson, and Scheuermann. Fixes bug 9093.
| | * | | Send NETINFO on receiving a NETINFO if we have not yet sent one.Nick Mathewson2013-08-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Backport to Tor 0.2.3) Relays previously, when initiating a connection, would only send a NETINFO after sending an AUTHENTICATE. But bridges, when receiving a connection, would never send AUTH_CHALLENGE. So relays wouldn't AUTHENTICATE, and wouldn't NETINFO, and then bridges would be surprised to be receiving CREATE cells on a non-open circuit. Fixes bug 9546.
* | | | | Merge branch 'prop221_squashed_024'Nick Mathewson2013-11-01
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/or/or.h
| * | | | | circuit_build_failed: distinguish "got DESTROY" caseNick Mathewson2013-11-01
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Roger spotted this on tor-dev in his comments on proposal 221. We etect DESTROY vs everything else, since arma likes network timeout indicating failure but not overload indicating failure.
* | | | | Merge branch 'morestats4' into morestats5Karsten Loesing2013-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
| * | | | | Tweak CIRC_BW event based on comments by nickm.Karsten Loesing2013-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Rename n_read and n_written in origin_circuit_t to make it clear that these are only used for CIRC_BW events. - Extract new code in control_update_global_event_mask to new clear_circ_bw_fields function.
| * | | | | Tweak TB_EMPTY event based on comments by nickm.Karsten Loesing2013-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Avoid control_event_refill_global function with 13 arguments and increase code reuse factor by moving more code from control.c to connection.c. - Avoid an unsafe uint32_t -> int cast. - Add TestingEnableTbEmptyEvent option. - Prepare functions for testing. - Rename a few functions and improve documentation.
| * | | | | Tweak CELL_STATS event based on comments by nickm.Karsten Loesing2013-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Move cell_command_to_string from control.c to command.c. - Use accessor for global_circuitlist instead of extern. - Add a struct for cell statistics by command instead of six arrays. - Split up control_event_circuit_cell_stats by using two helper functions. - Add TestingEnableCellStatsEvent option. - Prepare functions for testing. - Rename a few variables and document a few things better.