14890 Commits

Author SHA1 Message Date
Matt Corallo
4c82cea99b Use a sensible default for blockmaxweight
No sensible user will ever keep the default settings here, so not
having sensible defaults only serves to screw users who are
paying less attention, which makes for terrible defaults.

Github-Pull: #11100
Rebased-From: 3dc263c9b9068ee9793b6c7a0023eff16d70fb8f
2017-11-02 15:18:56 -04:00
Matt Corallo
7871a7d3be Deprecate confusing blockmaxsize, fix getmininginfo output
* This removes block-size-limiting code in favor of GBT clients
  doing the limiting themselves (if at all).
* -blockmaxsize is deprecated and only used to calculate an implied
  blockmaxweight, addressing confusion from multiple users.
* getmininginfo's currentblocksize return value was returning
  garbage values, and has been removed, also removing a
  GetSerializeSize call in some block generation inner loops and
  potentially addressing some performance edge cases.

Github-Pull: #11100
Rebased-From: ba206d2c63a8d3cbd4a8dd47e9ef126af1bb3bb9
2017-11-02 15:18:56 -04:00
Suhas Daftuar
6baa317b5f Fix minchainwork test for 0.15 backport 2017-11-02 15:02:48 -04:00
Matt Corallo
55b7abfa8a Make p2p-acceptablock not an extended test
Github-Pull: #11531
Rebased-From: f3d4adfa6ff5db180ec09d93f78cdc8bfda26f96
2017-11-02 13:22:25 -04:00
Matt Corallo
5bec7744d1 [qa] test that invalid blocks on an invalid chain get a disconnect
Github-Pull: #11531
Rebased-From: 00dcda60f6ee63d35bec640f27efe2338dd71270
2017-11-02 13:21:23 -04:00
Matt Corallo
92d6105c4e Reject headers building on invalid chains by tracking invalidity
This tracks the set of all known invalid-themselves blocks (ie
blocks which we attempted to connect but which were found to be
invalid). This is used to cheaply check if new headers build on an
invalid chain.

While we're at it we also resolve an edge-case in invalidateblock
on pruned nodes which results in them needing a reindex if they
fail to reorg.

Github-Pull: #11531
Rebased-From: 015a5258adffb0cf394f387a95ac9c8afc34cfc3
2017-11-02 13:21:07 -04:00
Matt Corallo
51001d684b Accept unrequested blocks with work equal to our tip
This is a simple change that makes our accept requirements the
same as our request requirements, (ever so slightly) further
decoupling our consensus logic from our FindNextBlocksToDownload
logic in net_processing.

Github-Pull: #11531
Rebased-From: 932f118e6a3779bb3d6c3cc83963cf34ac150e42
2017-11-02 13:20:53 -04:00
Matt Corallo
c6e4d0ce82 Stop always storing blocks from whitelisted peers
There is no reason to wish to store blocks on disk always just
because a peer is whitelisted. This appears to be a historical
quirk to avoid breaking things when the accept limits were added.

Github-Pull: #11531
Rebased-From: 3d9c70ca0fd5d42f31114b689714af1825f0ed30
2017-11-02 13:20:45 -04:00
Matt Corallo
e976c36ddf Rewrite p2p-acceptblock in preparation for slight behavior changes
Removes checking whitelisted behavior (which will be removed, the
difference in behavior here makes little sense) and no longer
requires that blocks at the same work as our tip be dropped if not
requested (in part because we *do* request those blocks).

Github-Pull: #11531
Rebased-From: 3b4ac43bc371561b5fa559bccb17dc0702bd4b69
2017-11-02 13:20:38 -04:00
practicalswift
ec8dedff46 net: Add missing lock in ProcessHeadersMessage(...)
Reading the variable mapBlockIndex requires holding the mutex cs_main.

The new "Disconnect outbound peers relaying invalid headers" code
added in commit 37886d5e2f9992678dea4b1bd893f4f10d61d3ad and merged
as part of #11568 two days ago did not lock cs_main prior to accessing
mapBlockIndex.

Github-Pull: #11578
Rebased-From: 2530bf27b72e53cc6ffec27de35f3b487984833d
2017-11-02 13:20:18 -04:00
Suhas Daftuar
59b210d9a7 Disconnect outbound peers relaying invalid headers
Github-Pull: #11568
Rebased-From: 37886d5e2f9992678dea4b1bd893f4f10d61d3ad
2017-11-02 13:19:57 -04:00
Suhas Daftuar
fc966bbd2b moveonly: factor out headers processing into separate function
ProcessMessages will now return earlier when processing headers
messages, rather than continuing on (and do nothing).

Github-Pull: #11568
Rebased-From: 4637f18522429473e68f6f512a03040e121a446d
2017-11-02 13:19:47 -04:00
Suhas Daftuar
e3272242e2 Add unit test for outbound peer eviction
Github-Pull: #11490
Rebased-From: e065249c014a070a8799b2ff947af5b8f012c5c1
2017-11-02 13:18:44 -04:00
Suhas Daftuar
9961abf9e4 Permit disconnection of outbound peers on bad/slow chains
Currently we have no rotation of outbound peers.  If an outbound peer
stops serving us blocks, or is on a consensus-incompatible chain with
less work than our tip (but otherwise valid headers), then we will never
disconnect that peer, even though that peer is using one of our 8
outbound connection slots.  Because we rely on our outbound peers to
find an honest node in order to reach consensus, allowing an
incompatible peer to occupy one of those slots is undesirable,
particularly if it is possible for all such slots to be occupied by such
peers.

Protect against this by always checking to see if a peer's best known
block has less work than our tip, and if so, set a 20 minute timeout --
if the peer is still not known to have caught up to a chain with as much
work as ours after 20 minutes, then send a single getheaders message,
wait 2 more minutes, and if a better header hasn't been received by then,
disconnect that peer.

Note:

- we do not require that our peer sync to the same tip as ours, just an
equal or greater work tip.  (Doing otherwise would risk partitioning the
network in the event of a chain split, and is also unnecessary.)

- we pick 4 of our outbound peers and do not subject them to this logic,
to be more conservative. We don't wish to permit temporary network
issues (or an attacker) to excessively disrupt network topology.

Github-Pull: #11490
Rebased-From: 5a6d00c6defc587e22c93e63029fdd538ce8858d
2017-11-02 13:18:34 -04:00
Suhas Daftuar
bf191a7183 Disconnecting from bad outbound peers in IBD
When in IBD, we'd like to use all our outbound peers to help us
sync the chain.  Disconnect any outbound peers whose headers have
insufficient work.

Github-Pull: #11490
Rebased-From: c60fd71a65e841efe187992f46c583a704cc37f5
2017-11-02 13:18:23 -04:00
MeshCollider
d570aa4290 Fix uninitialized g_connman crash in Shutdown()
Github-Pull: #11326
Rebased-From: 77939f27f7dc42640ebfb9fe52490a2ddacc3ad4
2017-11-02 13:17:58 -04:00
Cory Fields
0a5477c7e3 net: stop both net/net_processing before destroying them
This should avoid either attempting to use an invalid reference/pointer to the
other.

Github-Pull: #10756
Rebased-From: 2525b972af6645ca239ac1078cffb132b402bfbb
2017-11-02 13:16:57 -04:00
Cory Fields
b4136f21cf net: drop unused connman param
The copy in PeerLogicValidation can be used instead.

Github-Pull: #10756
Rebased-From: 80e2e9d0cec890c5d2f81360ebb81e81c07ccb8c
2017-11-02 13:16:50 -04:00
Cory Fields
dc897e53d8 net: use an interface class rather than signals for message processing
Drop boost signals in favor of a stateful class. This will allow the message
processing loop to actually move to net_processing in a future step.

Github-Pull: #10756
Rebased-From: 8ad663c1fa88d68843e45580deced56112343183
2017-11-02 13:16:28 -04:00
Cory Fields
8aee55af3d net: pass CConnman via pointer rather than reference
There are a few too many edge-cases here to make this a scripted diff.

The following commits will move a few functions into PeerLogicValidation, where
the local connman instance can be used. This change prepares for that usage.

Github-Pull: #10756
Rebased-From: 28f11e9406b185dc87144f1f29af0d93eb115b4e
2017-11-02 13:15:02 -04:00
Matt Corallo
6f279652b0 Rename fAddnode to a more-descriptive "manual_connection"
Github-Pull: #11456
Rebased-From: 57edc0b0c86549020a39cd65f96496e9771c4769
2017-11-02 13:11:54 -04:00
Suhas Daftuar
ffb6ea4e5e Add comment explaining forced processing of compact blocks
Github-Pull: #11458
Rebased-From: 01b52cedd42f50a93b40981c91af7c12de6e45ce
2017-11-02 13:09:16 -04:00
Suhas Daftuar
2df65eeb98 qa: add test for minchainwork use in acceptblock
Github-Pull: #11458
Rebased-From: 08fd822771bf8dae1c21698811f57aa691b2f25d
2017-11-02 13:09:03 -04:00
Suhas Daftuar
3acec38781 Don't process unrequested, low-work blocks
A peer could try to waste our resources by sending us unrequested blocks with
low work, eg to fill up our disk.  Since
e2652002b6011f793185d473f87f1730c625593b we no longer request blocks until we
know we're on a chain with more than nMinimumChainWork (our anti-DoS
threshold), but we would still process unrequested blocks that had more work
than our tip.  This commit fixes that behavior.

Github-Pull: #11458
Rebased-From: ce8cd7a7da9174ab151172fc0ce97b5164637cf3
2017-11-02 13:09:00 -04:00
Suhas Daftuar
0e9d04bf0a [qa] Test nMinimumChainWork
Nodes don't consider themselves out of "initial block download" until
their active chain has more work than nMinimumChainWork.

While in initial block download, nodes won't relay blocks to their
peers, so test that this parameter functions as intended by verifying
that block relay only succeeds past a given node once its
nMinimumChainWork has been exceeded.

Github-Pull: #10357
Rebased-From: eac64bb7a3b6aba747403b23b3b1d3609843f8db
2017-11-02 13:08:50 -04:00
Suhas Daftuar
da4908c3a0 Allow setting nMinimumChainWork on command line
Github-Pull: #10357
Rebased-From: 0311836f6927aec4ba5687ea12af35df3c509682
2017-11-02 13:08:43 -04:00
MarcoFalke
41088795dd qa: Remove never used return value of sync_with_ping
Github-Pull: #11472
Rebased-From: fafa0039708e15d1067be091b2bfc10195afa480
2017-11-01 15:23:06 -04:00
MarcoFalke
f3457d0e83 qa: Make tmpdir option an absolute path
This should fix issues with the multiwallet test and symlinks
when the tmpdir is a relative path.

Rather than fixing os.symlink to work with paths relative to a
directory descriptor, which does not work on Windows, normalize
the path instead.

Github-Pull: #11472
Rebased-From: fa9de370b17297d6dd542da627c8dd2b31aec340
2017-11-01 15:23:06 -04:00
Russell Yanofsky
9c8006dc33 Avoid opening copied wallet databases simultaneously
Make sure wallet databases have unique fileids. If they don't, throw an error.
BDB caches do not work properly when more than one open database has the same
fileid, because values written to one database may show up in reads to other
databases.

Bitcoin will never create different databases with the same fileid, but users
can create them by manually copying database files.

BDB caching bug was reported by Chris Moore <dooglus@gmail.com>
https://github.com/bitcoin/bitcoin/issues/11429

Fixes #11429

Github-Pull: #11476
Rebased-From: 478a89c1ef79a75275d1b508122c06eee9386b2d
2017-11-01 15:23:06 -04:00
João Barbosa
de7053f114 [wallet] Fix leak in CDB constructor
Now using a std::unique_ptr, the Db instance is correctly released
when CDB initialization fails.
The internal CDB state and mapFileUseCount are only mutated when
the CDB initialization succeeds.

Github-Pull: #11492
Rebased-From: 7104de8b1f3a31d3a60009b5dc376adbedac6a9c
2017-11-01 15:23:06 -04:00
Tomas van der Wansem
fd79ed6b20 Ensure backupwallet fails when attempting to backup to source file
Previous behaviour was to destroy the wallet (to zero-length)

Github-Pull: #11376
Rebased-From: 5d465e396249a0e2cc60b16984a2bdbe4c8993c3
2017-11-01 15:23:06 -04:00
John Newbery
d94fc336c4 scripted-diff: rename assert_raises_jsonrpc to assert_raises_rpc error
-BEGIN VERIFY SCRIPT-
sed -i 's/assert_raises_jsonrpc/assert_raises_rpc_error/g' test/functional/*py test/functional/test_framework/*py
-END VERIFY SCRIPT-

Github-Pull: #10853
Rebased-From: 47ba8cf71e9a3a6f7452488fc9ab3b350f0fae36
2017-11-01 10:42:30 -04:00
John Newbery
623de0acbb [tests] do not allow assert_raises_message to be called with JSONRPCException
Github-Pull: #10853
Rebased-From: 677d893ff758b61f66203730da224bd7ef8f0b43
2017-11-01 10:40:22 -04:00
John Newbery
5b728c8e98 [tests] remove direct testing on JSONRPCException from individual test cases
Github-Pull: #10853
Rebased-From: 5864e9c1611e6034a8d49b78231abe6bfade686d
2017-11-01 10:40:09 -04:00
Wladimir J. van der Laan
34833534b6
Merge #11550: [0.15.1] qa: Backports
01223a0 [verify-commits] Allow revoked keys to expire (Matt Corallo)
adbc9d1 qa: Fix race condition in sendheaders.py (Suhas Daftuar)
fdad04e qa: Fix replace-by-fee race condition failures (Suhas Daftuar)

Pull request description:

Tree-SHA512: e1532a02a84d9406cc78975a59201dbde78750217d504896e7e448aa86d6b4df98dc959fae440044c8f9aedebf296a9537b18e281976344ca8e4b705d7bd50b0
2017-11-01 14:21:39 +01:00
Russell Yanofsky
7d4546f17d
Make listsinceblock refuse unknown block hash
Change suggested by Cory Fields <cory-nospam-@coryfields.com> who noticed
listsinceblock would ignore invalid block hashes causing it to return a
completely unfiltered list of transactions.

Github-Pull: #11565
Rebased-From: 659b2061c4329472a45e913c5d45e6ab180600a3
Tree-SHA512: 2091a830b730421b49c806cb83a16c7da2ec0a7adac2bac0585324aad12a32bb99a840264c3d346937ea84786fac56e44befb6641511a417977803875efe5a21
2017-11-01 14:15:59 +01:00
fanquake
cf18f42899
[Docs] Update OpenBSD Build Instructions for OpenBSD 6.2
Github-Pull: #11442
Rebased-From: 9d30f54ef1c9412f2c71b89664952dd95b6ef959
Tree-SHA512: fc7ae48126ed9569bda7d444a2464c09ba3db2398d05933df7e1ca92a0d03c2bd3c370fea977d1a3ffe70c76e9caf45ee69d41c9dc24abcc0139e4146d8c1abd
2017-11-01 14:04:27 +01:00
MarcoFalke
265bb214ec
Add share/rpcuser to dist. source code archive
Github-Pull: #11530
Rebased-From: fa81534d068cb5479684ed9fb073dc51532b91ca
Tree-SHA512: 97bc91760a3284a9b60dcde04e789aed3c83539ec6621cb38dbc5bd852bfc0cdcaffceff7ca6de0c64f00149e6774d7dd651520b39876a674f1e82efba98945d
2017-10-26 17:28:32 +02:00
Matt Corallo
01223a0261 [verify-commits] Allow revoked keys to expire
Github-Pull: #11539
Rebased-From: d23be309c2c45f655d5f5405e031833fb4b6bbb4
2017-10-23 17:28:32 +02:00
Suhas Daftuar
adbc9d164a qa: Fix race condition in sendheaders.py
Github-Pull: #11538
Rebased-From: 6d51eaefe924bfaf2b0f4928dd6020023733480f
2017-10-23 17:23:14 +02:00
Suhas Daftuar
fdad04e617 qa: Fix replace-by-fee race condition failures
Github-Pull: #11538
Rebased-From: c96b2e4f096780c75e3fa8acba496d71322583a1
2017-10-23 17:23:07 +02:00
Andreas Schildbach
a2bd86a5ff
Remove my testnet DNS seed as I currently don't have the capacity to keep it up to date.
Github-Pull: #11527
Rebased-From: 132d3225f325b84afc282638c9e99623d249a52c
Tree-SHA512: 3738afd8070fa601b5039e268088b7f3827613dbc37fae192b96b13c91f56d41fa3209533a3cad876c4e673b19015aabfce331b0b5f46a0ac518d00816e912a4
2017-10-19 15:02:08 +02:00
Cory Fields
ca0f3f734c
Revert "travis: filter out pyenv"
This reverts commit aa2e0f09ec94dd0908f792ebc2249859ad174586.

Github-Pull: #11521
Rebased-From: 3d1c31126b8ac9fe18d151dc4e9cf8598dd77362
Tree-SHA512: 3c42bb2715853178f1fa950d7f0926a860a81b563606633cc58a67cf7218c80dd6545b9a89db387e6352b4caed38d7dd04d50c28547c340c032e2ba2f7c79173
2017-10-19 14:55:29 +02:00
Cory Fields
b28415baae
travis: move back to the minimal image
The most recent update replaced the minimal image with a large one for the
'generic' image. Switching back to 'minimal' should reduce dependencies and
maybe speed us up some.

It should also eliminiate the need for aa2e0f09e.

Github-Pull: #11521
Rebased-From: a86e81b78fc2a2ecc827a7890cba21ed229957f2
Tree-SHA512: 40f07304c60b11876a172b7ac75cb738b2da4209d54370714a6e731485643fbb33925a422accd3e065dcaa4fea84a1268f37ca0a8ee83b8cf70a71a25b59fb6b
2017-10-19 14:55:24 +02:00
Wladimir J. van der Laan
1646f9c760
Merge #11447: 0.15.1: Backports
20cdc2b Fix importmulti bug when importing an already imported key (Pedro Branco)
405e069 Update importprivkey named args documentation (Dusty Williams)
c94527a [Docs] Update Windows build instructions for using WSL and Ubuntu 17.04 (fanquake)
27e861a net: Improve and document SOCKS code (Wladimir J. van der Laan)
dea3b87 Add new step to clean $PATH var by removing /mnt specific Window's %PATH% paths that cause issues with the make system (Donal OConnor)
a43be5b rpc: Prevent `dumpwallet` from overwriting files (Wladimir J. van der Laan)
b6c0209 Fix validationinterface build on super old boost/clang (Matt Corallo)
6a62c74 qt: Backup former GUI settings on `-resetguisettings` (Wladimir J. van der Laan)
0fe2a9a when clearing addrman clear mapInfo and mapAddr (Gregory Sanders)
6b4d9f2 wallet: update stored witness in AddToWallet (Suhas Daftuar)
62d18cd doc: Prepare release notes for 0.15.1 (MarcoFalke)
8b61aee Put back inadvertently removed copyright notices (Paul Berg)
75997c3 Disallow uncompressed pubkeys in bitcoin-tx [multisig] output adds (Matt Corallo)
8d13b42 Replace save|restoreWindowGeometry with Qt functions (MeshCollider)
6642558 [Qt] Add delay before filtering transactions Fixes 3141 (Lucas Betschart)
19d63e8 Remove custom fee radio group (Andrew Chow)
b1a6c94 rpc: make estimatesmartfee argument naming consistent with documentation (Wladimir J. van der Laan)
921542e rpc: update cli for estimatefee argument rename (Wladimir J. van der Laan)
2e31b1d Fix division by zero in time remaining (MeshCollider)
47c02a8 qt: Use IsMine to validate custom change address (Chris Moore)
7310f1f [Qt] Fix display of package name on 'open config file' tooltip (Daniel Edgecumbe)
2cb720a Acquire cs_main lock before cs_wallet during wallet initialization (Russell Yanofsky)
b278a43 rpc: Write authcookie atomically (Wladimir J. van der Laan)
50bd3f6 Avoid returning a BIP9Stats object with uninitialized values (practicalswift)
9e8aae3 [wallet] Close DB on error. (Karl-Johan Alm)

Pull request description:

  This mostly backports various commits that fix(ed) bugs and issues.

  However, it also includes two patches for qt that only fix minor issues,
  as well as some doc patches.

Tree-SHA512: 5165e309faf6b4395fdf2f6662ccc0d58306971f3769e675504f17b2055efe29b2919f22d0dbf78c4c2dc7fd5c9d08a2c53345615e4a1df73914526687c9d571
2017-10-18 20:55:35 +02:00
Pedro Branco
20cdc2b36c Fix importmulti bug when importing an already imported key
Github-Pull: #11483
Rebased-From: a44a215177ab55b4a3b36a7980c313e908e2dd18
2017-10-17 21:44:23 +02:00
Wladimir J. van der Laan
51bad9195e
Merge #11445: [qa] 0.15.1 Backports
019c492 qa: Fix lcov for out-of-tree builds (MarcoFalke)
e169349 qa: Restore bitcoin-util-test py2 compatibility (MarcoFalke)
806c78f add functional test for mempoolreplacement command line arg (Gregory Sanders)
a825d4a Fix bip68-sequence rpc test (Johnson Lau)
a36f332 Verify DBWrapper iterators are taking snapshots (Matt Corallo)
8d2e51d qa: Fix bug introduced in p2p-segwit.py (Suhas Daftuar)
2f0b30a qa: Treat mininode p2p exceptions as fatal (Suhas Daftuar)
e4605d9 Tests for zmqpubrawtx and zmqpubrawblock (Andrew Chow)
2c4ff35 [script] Unit tests for IsMine (Jim Posen)
794a80e [script] Unit tests for script/standard functions (Jim Posen)
f9cf7b5 [tests] Check connectivity before sending in assumevalid.py (John Newbery)
f1ced0d [tests] Make p2p-leaktests.py more robust (John Newbery)
2e1ac70 [qa] zapwallettxes: Wait up to 3s for mempool reload (MarcoFalke)
b6468d3 Add listwallets RPC test to multiwallet.py (Cristian Mircea Messel)
d8dd8e7 [tests] fixup dbcrash interaction with add_nodes() (John Newbery)
2b97b36 [test] Replace check_output with low level version (João Barbosa)
e38211f [test] Add assert_raises_process_error to assert process errors (João Barbosa)
e0bfd28 [test] Add support for custom arguments to TestNodeCLI (João Barbosa)
812c870 [test] Improve assert_raises_jsonrpc docstring (João Barbosa)
eeb24a3 [qa] TestNode: Add wait_until_stopped helper method (MarcoFalke)
f3f7891 Stop test_bitcoin-qt touching ~/.bitcoin (MeshCollider)
f0b6795 Remove redundant testutil files (MeshCollider)
4424176 Improve signmessages functional test (Cristian Mircea Messel)
cef0319 [tests] fixups from set_test_params() (John Newbery)
82bf6fc [tests] Functional tests must explicitly set num_nodes (John Newbery)
801d2ae [tests] don't override __init__() in individual tests (John Newbery)
bb5e7cb [tests] Avoid passing around member variables in test_framework (John Newbery)
4d3ba18 [tests] TestNode: separate add_node from start_node (John Newbery)
11a5992 [tests] fix - use rpc_timeout as rpc timeout (John Newbery)
847c75e Add getmininginfo functional test (Cristian Mircea Messel)
2a5d099 RPC: gettxout: Slightly improve doc and tests (Jorge Timón)
716066d [tests] Add bitcoin_cli.py test script (John Newbery)
016b9ad [tests] add TestNodeCLI class for calling bitcoin-cli for a node (John Newbery)
5398f20 qa: Move wait_until to util (MarcoFalke)
1d80d1e [tests] fix timeout issues from TestNode (John Newbery)
c276c1e test: Increase initial RPC timeout to 60 seconds (Wladimir J. van der Laan)
fc2aa09 [tests] Introduce TestNode (John Newbery)

Pull request description:

  This includes test related backports for 0.15.1. The motivation is twofold:

  * Make backporting new tests written for current master easier
  * Fix the most common test issues that happen(ed) frequently on travis

  Even though this includes the new TestNode class, which comes with a lot
  of refactoring, I believe that the issues caused by refactoring are found
  and fixed by now.

Tree-SHA512: 6a0c4e5246da83ff0b3f7d2cb8df358d105ed548fb3857e5d882f26cc336553aa07b39e38c281879bf82f95078298b775334f9a60c0b23140f77c50174bd8347
2017-10-11 18:29:55 +02:00
Dusty Williams
405e069d3b Update importprivkey named args documentation
Fixes #11462. Updated documentation for importprivkey function to use the correct name for the first argument.
Also updates a call to importprivkey to use named args in functional test.

Github-Pull: #11465
Rebased-From: aa57590d7c5eab1df5443e8ac9ed53ad0db46c02
2017-10-09 22:31:41 +02:00
fanquake
c94527a973 [Docs] Update Windows build instructions for using WSL and Ubuntu 17.04
Github-Pull: #11437
Rebased-From: 696ce46306e40f48dc4b2d7010812d564a43289d
2017-10-09 22:31:41 +02:00
Wladimir J. van der Laan
27e861a9b3 net: Improve and document SOCKS code
Make the SOCKS code more consistent, and document the constants used.

Github-Pull: #11397
Rebased-From: 22f816ef4dd57785627d801c247714cace7fc5b5
2017-10-09 22:31:41 +02:00