Add BIP70 deprecation warning and allow building GUI without BIP70 support #14451

pull jameshilliard wants to merge 4 commits into bitcoin:master from jameshilliard:deprecate-bip70 changing 19 files +329 −162
  1. jameshilliard commented at 9:32 pm on October 9, 2018: contributor

    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.”
  2. build: Add --disable-bip70 configure option
    This patch adds a --disable-bip70 configure option that disables BIP70
    payment request support. When disabled, this removes the dependency of
    the GUI on OpenSSL and Protobuf.
    9dcf6c0dfe
  3. fanquake added the label GUI on Oct 9, 2018
  4. fanquake added the label Wallet on Oct 9, 2018
  5. fanquake added the label Build system on Oct 9, 2018
  6. DrahtBot commented at 0:17 am on October 10, 2018: member
    • #11625 (Add BitcoinApplication & RPCConsole tests by ryanofsky)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  7. fanquake commented at 0:42 am on October 10, 2018: member
    Concept ACK
  8. TheBlueMatt commented at 0:43 am on October 10, 2018: member
    Concept ACK
  9. in src/qt/paymentserver.cpp:408 in 5280b29495 outdated
    403+    std::unique_ptr<X509_STORE, X509StoreDeleter> certStore;
    404+}
    405+
    406+static void ReportInvalidCertificate(const QSslCertificate& cert)
    407+{
    408+#if QT_VERSION < 0x050000
    


    fanquake commented at 0:48 am on October 10, 2018:
    Can drop the Qt 5 check here, master now requires > 5.0
  10. in src/qt/paymentserver.cpp:465 in 5280b29495 outdated
    460+        if (currentTime < cert.effectiveDate() || currentTime > cert.expiryDate()) {
    461+            ReportInvalidCertificate(cert);
    462+            continue;
    463+        }
    464+
    465+#if QT_VERSION >= 0x050000
    


    fanquake commented at 0:48 am on October 10, 2018:
    Can also remove the version check here
  11. meshcollider commented at 2:13 am on October 10, 2018: contributor
    Concept ACK
  12. MarcoFalke commented at 4:07 am on October 10, 2018: member
    I don’t know enough of automake if this is possible, but could you please not link with SSL_LIBS when this flag is set? This way we’d get linker errors when new usage of the ssl libs are introduced.
  13. jameshilliard commented at 4:59 am on October 10, 2018: contributor

    @MarcoFalke Something like this?

     0diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include
     1index dfc4903cf..1d70b79d4 100644
     2--- a/src/Makefile.qt.include
     3+++ b/src/Makefile.qt.include
     4@@ -419,8 +419,11 @@ endif
     5 if ENABLE_ZMQ
     6 qt_bitcoin_qt_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS)
     7 endif
     8+if ENABLE_BIP70
     9+qt_bitcoin_qt_LDADD += $(SSL_LIBS) $(CRYPTO_LIBS)
    10+endif
    11 qt_bitcoin_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) $(LIBLEVELDB_SSE42) $(LIBMEMENV) \
    12-  $(BOOST_LIBS) $(QT_LIBS) $(QT_DBUS_LIBS) $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) \
    13+  $(BOOST_LIBS) $(QT_LIBS) $(QT_DBUS_LIBS) $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) \
    14   $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS)
    15 qt_bitcoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
    16 qt_bitcoin_qt_LIBTOOLFLAGS = $(AM_LIBTOOLFLAGS) --tag CXX
    17diff --git a/src/Makefile.qttest.include b/src/Makefile.qttest.include
    18index db7873e8b..d8bbb2851 100644
    19--- a/src/Makefile.qttest.include
    20+++ b/src/Makefile.qttest.include
    21@@ -68,9 +68,12 @@ endif
    22 if ENABLE_ZMQ
    23 qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS)
    24 endif
    25+if ENABLE_BIP70
    26+qt_test_test_bitcoin_qt_LDADD += $(SSL_LIBS) $(CRYPTO_LIBS)
    27+endif
    28 qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) \
    29   $(LIBLEVELDB_SSE42) $(LIBMEMENV) $(BOOST_LIBS) $(QT_DBUS_LIBS) $(QT_TEST_LIBS) $(QT_LIBS) \
    30-  $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) \
    31+  $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) \
    32   $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS)
    33 qt_test_test_bitcoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
    34 qt_test_test_bitcoin_qt_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS)
    
  14. MarcoFalke commented at 5:06 am on October 10, 2018: member
    I think CRYPTO_LIBS is always needed for the rng. Otherwise ACK if it compiles and links.
  15. Sjors commented at 6:32 am on October 10, 2018: member

    Concept ACK, though if we can’t agree on deprecation (commit 3a093dd), let’s at least merge the other commits.

    I’m fine with deprecation, less fine with actually removing it until there’s a good alternative (e.g. w3c payment standard). If this deprecation goes into 0.18 then I assume it won’t get removed earlier than 0.19. That gives us some time to see if a better standard is proposed, and/or if merchants move away from payment processors that mandate BIP70.

    I don’t like the current situation where there is a lot of uncertainty around BIP70, we don’t use some of its features (like enforcing a fee, and submitting tx directly to merchant), where nobody is really maintaining this part of the code and it’s dependencies (e.g. ancient protobuf library), and it’s getting in the way of other goals like removing OpenSSL. Deprecation gives us flexibility here.

    Warning currently reads:

    You are using a BIP70 URL which will be unsupported in the future.

    That wording works for me. It’s important to make it clear that it’s just the Bitcoin Core wallet deprecating support for this feature, not some universal decision to kill BIP-70. Release notes should make that distinction extra clear.

    Can someone clarify in what way BitPay deviates from the BIP? I’ve used it multiple times with the Core wallet. Other than an error message at the end (and broken Tor support), it composes and broadcasts the transaction just fine.

    Lightly tested 3a093dd on macOS.

    When running ./configure --disable-wallet it should probably disable BIP70 too, like it does for --disable-gui. The deprecation warning shouldn’t show when compiled without BIP70 support.

  16. jameshilliard commented at 6:55 am on October 10, 2018: contributor

    Can someone clarify in what way BitPay deviates from the BIP?

    Technically BitPay only requires BIP70 to decode the receiving address and amount for the transaction, you don’t actually have to use a BIP70 compatible wallet at all if you use an external decoder, they mostly use BIP70 as a way to try and block manual address and transaction amount entry, some of their non-standard BIP70 features are problematic in other ways(I can go over details in private if you want).

  17. jnewbery commented at 7:26 am on October 10, 2018: member

    Concept ACK

    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.”

    Do you have a source for this?

  18. jameshilliard commented at 7:37 am on October 10, 2018: contributor

    Do you have a source for this?

    Stephen Pair(BitPay CEO) in an email exchange.

  19. sipa commented at 9:39 am on October 11, 2018: member
    Concept ACK
  20. gmaxwell commented at 7:47 pm on October 12, 2018: contributor
    Concept ACK.
  21. fanquake added this to the milestone 0.18.0 on Oct 14, 2018
  22. jonasschnelli commented at 8:29 am on October 16, 2018: contributor
    Concept ACK
  23. gasteve commented at 8:55 pm on October 19, 2018: none

    Can someone clarify in what way BitPay deviates from the BIP?

    Technically BitPay only requires BIP70 to decode the receiving address and amount for the transaction, you don’t actually have to use a BIP70 compatible wallet at all if you use an external decoder, they mostly use BIP70 as a way to try and block manual address and transaction amount entry, some of their non-standard BIP70 features are problematic in other ways(I can go over details in private if you want).

    While we currently do allow a transaction to be sent only over p2p (and not posted back to the server), this is not something we want to support forever. We allow it for temporary backward compatibility (on the Bitcoin chain only) with a number of wallets that don’t fully implement BIP70. I agree that bitcoind should remove BIP70.

    Separately, I think consideration should be given to split out the wallet into a separate project and executable.

  24. luke-jr commented at 9:37 pm on October 19, 2018: member
    IMO BIP70 should be made optional before a separate PR deprecates it.
  25. jameshilliard commented at 11:06 pm on October 19, 2018: contributor
    @luke-jr this just adds a warning message and makes BIP70 optional via a configure flag it doesn’t remove it in default builds
  26. MarcoFalke commented at 8:14 am on October 20, 2018: member
    If the deprecation message is controversial, then maybe add it in a separate pull request?
  27. luke-jr commented at 1:07 pm on October 20, 2018: member
    I don’t think it’s controversial, just a logically separate change. My comment is NOT intended to be a “NACK” or anything like it.
  28. wtogami commented at 1:07 pm on October 20, 2018: contributor
    I asked Luke. He clarified that he does not feel deprecation would be controversial because nobody uses BIP70. He only thinks that message should be in a different PR from the build-time option. That is a reasonable statement.
  29. laanwj commented at 3:57 pm on October 20, 2018: member
    yes, kill it with fire, please — concept ACK
  30. MarcoFalke commented at 2:24 am on October 21, 2018: member
    Could squash the " Remove QT_VERSION checks " commit and the " Enable BIP70 deprecation warning only when BIP70 support is compiled in " commit into the corresponding earlier ones?
  31. qt: cleanup: Move BIP70 functions together in paymentserver
    Reduces the number of separate `#ifdefs` spans.
    38b98507cd
  32. jameshilliard force-pushed on Oct 22, 2018
  33. Add BIP70 deprecation warning fbb643d2a5
  34. Don't link SSL_LIBS with GUI unless BIP70 is enabled 48439b3c10
  35. jameshilliard force-pushed on Oct 22, 2018
  36. jameshilliard commented at 10:44 am on October 22, 2018: contributor
    @MarcoFalke squashed
  37. Sjors commented at 7:46 am on October 23, 2018: member

    @gasteve wrote:

    While we currently do allow a transaction to be sent only over p2p

    There’s no way to prevent a wallet from broadcasting a transaction over p2p, so I’m not sure what you mean by “allow”?

  38. jameshilliard commented at 7:54 am on October 23, 2018: contributor

    There’s no way to prevent a wallet from broadcasting a transaction over p2p, so I’m not sure what you mean by “allow”?

    That’s not the case with copay….

  39. Sjors commented at 10:21 am on October 23, 2018: member

    That’s not the case with copay….

    Individual wallets can do whatever they want, but the merchant has no way of knowing in advance that their customer is using any specific wallet, so I don’t see how it’s relevant to BIP 70.

  40. jnewbery commented at 1:59 pm on October 23, 2018: member

    @Sjors - I think there’s a miscommunication. The ‘we’ @gasteve is referring to is Bitpay. He’s saying that they’ll stop accepting payments broadcast on the Bitcoin p2p network.

    In any case, the only reason #11622 was closed was to maintain compatibility with BitPay: #11622 (comment). The CEO has now confirmed that he agrees BIP70 support should be removed, so I don’t think there’s any remaining reason to not deprecate BIP70.

  41. Sjors commented at 4:37 am on October 24, 2018: member

    @jnewbery “stop accepting” still doesn’t make any sense. Does BitPay expect the customer to pay twice?

    Deprecating (but not yet removing) BIP70 support is fine by me regardless. This level of confusion is one of the problems with the BIP70 standard I referred to above.

  42. MarcoFalke added the label Needs gitian build on Oct 24, 2018
  43. MarcoFalke commented at 11:11 am on October 24, 2018: member
    utACK 48439b3c10 (Confirmed that I can build when protobuf is not installed)
  44. fanquake commented at 2:30 pm on October 24, 2018: member

    After merging this on top of 2e15fa16cd3b5badefc00466a67611f0f06d81db I’m unable to build the gui without protobuf:

    0merge 14451
    1brew unlink protobuf
    2./autogen.sh && ./configure
    3...
    4checking for protobuf... no
    5configure: WARNING: libprotobuf not found; bitcoin-qt frontend will not be built
    
  45. laanwj commented at 2:30 pm on October 24, 2018: member
    utACK 48439b3c10391e5f5555c7d98e1a99706b77eaf7
  46. laanwj merged this on Oct 24, 2018
  47. laanwj closed this on Oct 24, 2018

  48. laanwj referenced this in commit 9886590116 on Oct 24, 2018
  49. MarcoFalke commented at 2:35 pm on October 24, 2018: member
    @fanquake The default is to build with bip70, so you’d have to do ./configure --disable-bip70 after unlink of protobuf.
  50. jnewbery commented at 6:35 pm on October 24, 2018: member
    Needs release notes for the new configure option
  51. jnewbery added the label Needs release notes on Oct 24, 2018
  52. DrahtBot commented at 9:36 pm on October 24, 2018: member

    Gitian builds for commit e895fdc9fc83a35fc279b770b46c89e137e11128 (master):

    Gitian builds for commit dd9eb3ae9c27467cf06259fb401510f6d9f06fd7 (master and this pull):

  53. DrahtBot removed the label Needs gitian build on Oct 24, 2018
  54. jameshilliard deleted the branch on Oct 24, 2018
  55. MarcoFalke commented at 0:44 am on October 25, 2018: member

    Windows cross build fails with:

     0  OBJCXXLD qt/bitcoin-qt.exe
     1/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x4e1): undefined reference to `SSL_accept'
     2/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x4f1): undefined reference to `SSL_clear'
     3/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x501): undefined reference to `SSL_CIPHER_description'
     4/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x511): undefined reference to `SSL_CIPHER_get_bits'
     5/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x521): undefined reference to `SSL_connect'
     6/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x531): undefined reference to `SSL_CTX_check_private_key'
     7/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x541): undefined reference to `SSL_CTX_ctrl'
     8/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x551): undefined reference to `SSL_CTX_free'
     9/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x561): undefined reference to `SSL_CTX_new'
    10/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x571): undefined reference to `SSL_CTX_set_cipher_list'
    11/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x581): undefined reference to `SSL_CTX_set_default_verify_paths'
    12/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x591): undefined reference to `SSL_CTX_set_verify'
    13/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x5a1): undefined reference to `SSL_CTX_set_verify_depth'
    14/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x5b1): undefined reference to `SSL_CTX_use_certificate'
    15/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x5c1): undefined reference to `SSL_CTX_use_certificate_file'
    16/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x5d1): undefined reference to `SSL_CTX_use_PrivateKey'
    17/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x5e1): undefined reference to `SSL_CTX_use_RSAPrivateKey'
    18/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x5f1): undefined reference to `SSL_CTX_use_PrivateKey_file'
    19/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x601): undefined reference to `SSL_CTX_get_cert_store'
    20/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x611): undefined reference to `SSL_free'
    21/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x621): undefined reference to `SSL_get_ciphers'
    22/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x631): undefined reference to `SSL_get_current_cipher'
    23/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x641): undefined reference to `SSL_version'
    24/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x651): undefined reference to `SSL_get_error'
    25/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x661): undefined reference to `SSL_get_peer_cert_chain'
    26/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x671): undefined reference to `SSL_get_peer_certificate'
    27/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x681): undefined reference to `SSL_get_verify_result'
    28/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x691): undefined reference to `SSL_library_init'
    29/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x6a1): undefined reference to `SSL_load_error_strings'
    30/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x6b1): undefined reference to `SSL_new'
    31/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x6c1): undefined reference to `SSL_ctrl'
    32/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x6d1): undefined reference to `SSL_read'
    33/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x6e1): undefined reference to `SSL_set_bio'
    34/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x6f1): undefined reference to `SSL_set_accept_state'
    35/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x701): undefined reference to `SSL_set_connect_state'
    36/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x711): undefined reference to `SSL_shutdown'
    37/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x721): undefined reference to `SSL_set_session'
    38/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x731): undefined reference to `SSL_SESSION_free'
    39/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x741): undefined reference to `SSL_get1_session'
    40/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x751): undefined reference to `SSL_get_session'
    41/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x761): undefined reference to `SSL_get_ex_new_index'
    42/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x771): undefined reference to `SSL_set_ex_data'
    43/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x781): undefined reference to `SSL_get_ex_data'
    44/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x791): undefined reference to `SSL_set_psk_client_callback'
    45/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x7a1): undefined reference to `SSL_set_psk_server_callback'
    46/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x7b1): undefined reference to `SSL_CTX_use_psk_identity_hint'
    47/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x7c1): undefined reference to `SSLv3_client_method'
    48/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x7d1): undefined reference to `SSLv23_client_method'
    49/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x7e1): undefined reference to `TLSv1_client_method'
    50/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x7f1): undefined reference to `TLSv1_1_client_method'
    51/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x801): undefined reference to `TLSv1_2_client_method'
    52/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x811): undefined reference to `SSLv3_server_method'
    53/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x821): undefined reference to `SSLv23_server_method'
    54/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x831): undefined reference to `TLSv1_server_method'
    55/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x841): undefined reference to `TLSv1_1_server_method'
    56/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x851): undefined reference to `TLSv1_2_server_method'
    57/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x861): undefined reference to `SSL_write'
    58/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0xac1): undefined reference to `SSL_CTX_load_verify_locations'
    59/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0xaf1): undefined reference to `i2d_SSL_SESSION'
    60/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0xb01): undefined reference to `d2i_SSL_SESSION'
    61/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0xb11): undefined reference to `SSL_select_next_proto'
    62/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0xb21): undefined reference to `SSL_CTX_set_next_proto_select_cb'
    63/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0xb31): undefined reference to `SSL_get0_next_proto_negotiated'
    64collect2: error: ld returned 1 exit status
    65Makefile:3927: recipe for target 'qt/bitcoin-qt.exe' failed
    66make[2]: *** [qt/bitcoin-qt.exe] Error 1
    67make[2]: Leaving directory '/home/ubuntu/build/bitcoin/distsrc-i686-w64-mingw32/src'
    68Makefile:10249: recipe for target 'all-recursive' failed
    69make[1]: *** [all-recursive] Error 1
    70make[1]: Leaving directory '/home/ubuntu/build/bitcoin/distsrc-i686-w64-mingw32/src'
    71Makefile:774: recipe for target 'all-recursive' failed
    72make: *** [all-recursive] Error 1
    
  56. jameshilliard commented at 0:53 am on October 25, 2018: contributor
    I’ve made a follow up PR #14564 which disables BIP70 instead of the GUI when protobuf is missing. @MarcoFalke Is that with bip70 enabled or disabled?
  57. MarcoFalke commented at 0:54 am on October 25, 2018: member
    This is the gitian build, so the default option is used (enabled)
  58. jameshilliard commented at 2:10 am on October 25, 2018: contributor
    Weird, I see no obvious cause of that error, is it possible there’s a bad cached version of qt?
  59. MarcoFalke commented at 2:15 am on October 25, 2018: member
    Indeed weird, travis should have failed because it mimics the gitian cross build with its out of tree build…
  60. ken2812221 commented at 11:40 am on October 25, 2018: contributor
    @MarcoFalke travis-ci does not build qt binaries for Windows. #13515 enable it, but it’s a little bit complicate.
  61. MarcoFalke referenced this in commit ae85c8d28b on Oct 26, 2018
  62. NicolasDorier commented at 3:27 am on December 10, 2018: contributor
    Post ACK on that, I also deprecated BIP70 in NBitcoin and removed support from BTCPay after I found out that even Bitpay broke the standard. (My BIP70 compliant parser was crashing on Bitpay’s payment request)
  63. fanquake removed the label Needs release note on Mar 20, 2019
  64. jasonbcox referenced this in commit 54f4273e8a on Jan 3, 2020
  65. dzutto referenced this in commit c5d418fe80 on Aug 18, 2021
  66. dzutto referenced this in commit 167994195f on Aug 19, 2021
  67. dzutto referenced this in commit 866d73c328 on Aug 19, 2021
  68. dzutto referenced this in commit 5b0f24ef5d on Aug 19, 2021
  69. dzutto referenced this in commit 6b7b7d37de on Aug 19, 2021
  70. dzutto referenced this in commit c832661efe on Aug 23, 2021
  71. dzutto referenced this in commit 2c94189459 on Aug 23, 2021
  72. dzutto referenced this in commit 419f99cc0d on Aug 26, 2021
  73. dzutto referenced this in commit d0b7b14ad4 on Aug 26, 2021
  74. dzutto referenced this in commit 8be510ad3c on Aug 26, 2021
  75. dzutto referenced this in commit b73497114a on Aug 26, 2021
  76. dzutto referenced this in commit 315e92d645 on Aug 27, 2021
  77. dzutto referenced this in commit 62535a0383 on Aug 27, 2021
  78. PastaPastaPasta referenced this in commit b9df9815ba on Aug 29, 2021
  79. DrahtBot locked this on Feb 15, 2022

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-18 21:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me