HomePhabricator

Merge #14451: Allow building GUI without BIP70 support

Description

Merge #14451: Allow building GUI without BIP70 support

Summary:
48439b3c10391e5f5555c7d98e1a99706b77eaf7 Don't link SSL_LIBS with GUI unless BIP70 is enabled (James Hilliard)
9dcf6c0dfec51f2a49edef537f377422d6dbdceb build: Add --disable-bip70 configure option (Wladimir J. van der Laan)

Pull request description:

This is based off of #11622 and adds a deprecation warning when a BIP70 URL is used.

Rational:

- BIP70 increases attack surface in multiple ways and is difficult for third party wallets to implement in a secure manner
- Very few merchants use the standard BIP70 variant supported by Bitcoin Core
- The one major payment processor that doesn't support BIP21 and currently uses a customized non-standard version of BIP70 has indicated that "Unfortunately the original BIP70 is not useful for us."

Tree-SHA512: 1e16ee8d2cdac9499f751ee7b50d058278150f9e38a87a47ddb5105dd0353cdedabe462903f54ead6209b249b249fe5e6a10d29631531be27400f2f69c25b9b9

Backport of Core PR14451, but without the deprecation message commit
https://github.com/bitcoin/bitcoin/pull/14451/files
Completes T700
Depends on D4668

Test Plan:

cmake -GNinja -DENABLE_BIP70=ON ..
ninja check

cmake -GNinja -DENABLE_BIP70=OFF ..
ninja check

cmake -GNinja -DBUILD_BITCOIN_WALLET=OFF ..
ninja check

../configure
make check

../configure --disable-bip70
make check

../configure --disable-wallet
make check

Sanity check to make sure bitcoin-qt runs without errors.

Reviewers: #bitcoin_abc, deadalnix, Fabien

Reviewed By: #bitcoin_abc, deadalnix, Fabien

Subscribers: Fabien, zquestz

Differential Revision: https://reviews.bitcoinabc.org/D4619

Details

Provenance
Wladimir J. van der Laan <laanwj@gmail.com>Authored on Dec 10 2019, 17:23
jasonbcoxCommitted on Dec 22 2019, 17:21
jasonbcoxPushed on Dec 22 2019, 17:47
Reviewer
Restricted Project
Differential Revision
D4619: Merge #14451: Allow building GUI without BIP70 support
Parents
rSTAGING31e8c49e22ca: Fix heap-use-after-free in activation_tests
Branches
Unknown
Tags
Unknown