aboutsummaryrefslogtreecommitdiff
path: root/src/torcontrol.cpp
AgeCommit message (Collapse)Author
2017-04-03torcontrol: Use fs::path instead of std::string for private key pathWladimir J. van der Laan
2017-04-01Change LogAcceptCategory to use uint32_t rather than sets of strings.Gregory Maxwell
This changes the logging categories to boolean flags instead of strings. This simplifies the acceptance testing by avoiding accessing a scoped static thread local pointer to a thread local set of strings. It eliminates the only use of boost::thread_specific_ptr outside of lockorder debugging. This change allows log entries to be directed to multiple categories and makes it easy to change the logging flags at runtime (e.g. via an RPC, though that isn't done by this commit.) It also eliminates the fDebug global. Configuration of unknown logging categories now produces a warning.
2017-03-18Make some global variables less-global (static)Pavel Janík
2017-03-18Prevent -Wshadow warnings with gcc versions 4.8.5, 5.3.1 and 6.2.1.Pavel Janík
2017-01-27[trivial] Fix typos in commentspracticalswift
2016-12-31Increment MIT Licence copyright header year on files modified in 2016isle2983
Edited via: $ contrib/devtools/copyright_header.py update .
2016-12-09Refactor: Removed begin/end_ptr functions.Karl-Johan Alm
2016-11-28torcontrol: Explicitly request RSA1024 private keyWladimir J. van der Laan
When generating a new service key, explicitly request a RSA1024 one. The bitcoin P2P protocol has no support for the longer hidden service names that will come with ed25519 keys, until it does, we depend on the old hidden service type so make this explicit. See #9214.
2016-09-27Do not shadow variablesPavel Janík
2016-08-04net: Have LookupNumeric return a CService directlyCory Fields
Also fix up a few small issues: - Lookup with "badip:port" now sets the port to 0 - Don't allow assert to have side-effects
2016-07-31net: narrow include scope after moving to netaddressCory Fields
Net functionality is no longer needed for CAddress/CAddrman/etc. now that CNetAddr/CService/CSubNet are dumb storage classes.
2016-07-31net: Split resolving out of CServiceCory Fields
2016-06-08Merge #7703: tor: Change auth order to only use password auth if -torpasswordWladimir J. van der Laan
2e49448 tor: Change auth order to only use HASHEDPASSWORD if -torpassword (Wladimir J. van der Laan)
2016-06-06tor: Change auth order to only use HASHEDPASSWORD if -torpasswordWladimir J. van der Laan
Change authentication order to make it more clear (see #7700). - If the `-torpassword` option is provided, force use of `HASHEDPASSWORD` auth. - Give error message if `-torpassword` provided, but `HASHEDPASSWORD` auth is not available. - Give error message if only `HASHEDPASSWORD` available, but `-torpassword` not given.
2016-04-20net: disable resolving from storage structuresCory Fields
CNetAddr/CService/CSubnet can no longer resolve DNS.
2016-03-14Fix torcontrol.cpp unused private field warningJonas Schnelli
2016-03-11Merge #7553: Remove vfReachable and modify IsReachable to only use vfLimited.Wladimir J. van der Laan
110b62f Remove vfReachable and modify IsReachable to only use vfLimited. (Patrick Strateman)
2016-03-03Fix memleak in TorController [rework]Wladimir J. van der Laan
It looks like, TorController::disconnected_cb(TorControlConnection& conn) gets called multiple times which results in multiple event_new(). Avoid this by creating the event only once in the constructore, and deleting it only once in the destructor (thanks to Cory Fields for the idea). Replaces the fix by Jonas Schnelli in #7610, see discussion there.
2016-02-17Remove vfReachable and modify IsReachable to only use vfLimited.Patrick Strateman
We do not know that a class of Network is reachable, only that it is not.
2016-02-12fix spelling of advertise in src and docjloughry
2016-01-27Merge #7300: [trivial] Add missing copyright headersWladimir J. van der Laan
fabcee1 Remove copyright header from autogenerated chainparamsseeds.h (MarcoFalke) fa60d05 Add missing copyright headers (MarcoFalke) fa7e4c0 Bump copyright headers to 2014 (MarcoFalke)
2016-01-18Merge pull request #7313Wladimir J. van der Laan
0331aa3 Fixing typos on security-check.py and torcontrol.cpp (calebogden)
2016-01-17Typo fixes in commentsChris Wheeler
2016-01-08Fixing typos on security-check.py and torcontrol.cppcalebogden
2016-01-05Add missing copyright headersMarcoFalke
2015-12-16torcontrol debug: Change to a blanket message that covers both casesMarcoFalke
2015-11-30torcontrol: only output disconnect if -debug=torDaniel Cousens
2015-11-26Connect to Tor hidden services by defaultPeter Todd
Adds 127.0.0.1:9050 for the .onion proxy if we can succesfully connect to the control port. Natural followup to creating hidden services automatically.
2015-11-12torcontrol improvements and fixesWladimir J. van der Laan
- Force AUTHCOOKIE size to be 32 bytes: This provides protection against an attack where a process pretends to be Tor and uses the cookie authentication method to nab arbitrary files such as the wallet - torcontrol logging - fix cookie auth - add HASHEDPASSWORD auth, fix fd leak when fwrite() fails - better error reporting when cookie file is not ok - better init/shutdown flow - stop advertizing service when disconnected from tor control port - COOKIE->SAFECOOKIE auth
2015-11-10Better error message if Tor version too oldPeter Todd
2015-11-10net: Automatically create hidden service, listen on TorWladimir J. van der Laan
Starting with Tor version 0.2.7.1 it is possible, through Tor's control socket API, to create and destroy 'ephemeral' hidden services programmatically. https://stem.torproject.org/api/control.html#stem.control.Controller.create_ephemeral_hidden_service This means that if Tor is running (and proper authorization is available), bitcoin automatically creates a hidden service to listen on, without user manual configuration. This will positively affect the number of available .onion nodes. - When the node is started, connect to Tor through control socket - Send `ADD_ONION` command - First time: - Make it create a hidden service key - Save the key in the data directory for later usage - Make it redirect port 8333 to the local port 8333 (or whatever port we're listening on). - Keep control socket connection open for as long node is running. The hidden service will (by default) automatically go away when the connection is closed.