Qt: Warn users about invalid-BIP21 URI bitcoin://
This commit is contained in:
parent
00d1680498
commit
b7fbcc53d0
3 changed files with 7 additions and 10 deletions
|
@ -209,14 +209,6 @@ bool parseBitcoinURI(const QUrl &uri, SendCoinsRecipient *out)
|
||||||
|
|
||||||
bool parseBitcoinURI(QString uri, SendCoinsRecipient *out)
|
bool parseBitcoinURI(QString uri, SendCoinsRecipient *out)
|
||||||
{
|
{
|
||||||
// Convert bitcoin:// to bitcoin:
|
|
||||||
//
|
|
||||||
// Cannot handle this later, because bitcoin:// will cause Qt to see the part after // as host,
|
|
||||||
// which will lower-case it (and thus invalidate the address).
|
|
||||||
if(uri.startsWith("bitcoin://", Qt::CaseInsensitive))
|
|
||||||
{
|
|
||||||
uri.replace(0, 10, "bitcoin:");
|
|
||||||
}
|
|
||||||
QUrl uriInstance(uri);
|
QUrl uriInstance(uri);
|
||||||
return parseBitcoinURI(uriInstance, out);
|
return parseBitcoinURI(uriInstance, out);
|
||||||
}
|
}
|
||||||
|
|
|
@ -404,7 +404,12 @@ void PaymentServer::handleURIOrFile(const QString& s)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s.startsWith(BITCOIN_IPC_PREFIX, Qt::CaseInsensitive)) // bitcoin: URI
|
if (s.startsWith("bitcoin://", Qt::CaseInsensitive))
|
||||||
|
{
|
||||||
|
Q_EMIT message(tr("URI handling"), tr("'bitcoin://' is not a valid URI. Use 'bitcoin:' instead."),
|
||||||
|
CClientUIInterface::MSG_ERROR);
|
||||||
|
}
|
||||||
|
else if (s.startsWith(BITCOIN_IPC_PREFIX, Qt::CaseInsensitive)) // bitcoin: URI
|
||||||
{
|
{
|
||||||
#if QT_VERSION < 0x050000
|
#if QT_VERSION < 0x050000
|
||||||
QUrl uri(s);
|
QUrl uri(s);
|
||||||
|
|
|
@ -51,7 +51,7 @@ void URITests::uriTests()
|
||||||
QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
|
QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
|
||||||
QVERIFY(rv.label == QString());
|
QVERIFY(rv.label == QString());
|
||||||
|
|
||||||
QVERIFY(GUIUtil::parseBitcoinURI("bitcoin://175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?message=Wikipedia Example Address", &rv));
|
QVERIFY(GUIUtil::parseBitcoinURI("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?message=Wikipedia Example Address", &rv));
|
||||||
QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
|
QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
|
||||||
QVERIFY(rv.label == QString());
|
QVERIFY(rv.label == QString());
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue