aboutsummaryrefslogtreecommitdiff
path: root/src/or/or.h
Commit message (Collapse)AuthorAge
* Merge branch 'bug8746_v2_squashed'Nick Mathewson2014-06-14
|\ | | | | | | | | Conflicts: src/common/include.am
| * 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.
* | Merge remote-tracking branch 'public/ticket6799_024_v2_squashed'Nick Mathewson2014-06-11
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/or/channel.c src/or/circuitlist.c src/or/connection.c Conflicts involved removal of next_circ_id and addition of unusable-circid tracking.
| * | Replace last_added_nonpadding with last_had_circuitsNick Mathewson2014-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The point of the "idle timeout" for connections is to kill the connection a while after it has no more circuits. But using "last added a non-padding cell" as a proxy for that is wrong, since if the last circuit is closed from the other side of the connection, we will not have sent anything on that connection since well before the last circuit closed. This is part of fixing 6799. When applied to 0.2.5, it is also a fix for 12023.
| * | Give each or_connection_t a slightly randomized idle_timeoutNick Mathewson2014-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of killing an or_connection_t that has had no circuits for the last 3 minutes, give every or_connection_t a randomized timeout, so that an observer can't so easily infer from the connection close time the time at which its last circuit closed. Also, increase the base timeout for canonical connections from 3 minutes to 15 minutes. Fix for ticket 6799.
* | | Merge remote-tracking branch 'public/bug10849_025'Nick Mathewson2014-05-01
|\ \ \ | |_|/ |/| | | | | | | | Conflicts: src/or/config.c
| * | Remove TunnelDirConns and PreferTunnelledDirConnsNick Mathewson2014-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These options were added back in 0.1.2.5-alpha, but no longer make any sense now that all directories support tunneled connections and BEGIN_DIR cells. These options were on by default; now they are always-on. This is a fix for 10849, where TunnelDirConns 0 would break hidden services -- and that bug arrived, I think, in 0.2.0.10-alpha.
* | | 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.