wallet_rpc_server: reject standalone short payment id in address book

This commit is contained in:
moneromooo-monero 2019-04-30 17:30:38 +00:00
parent 581994b61c
commit ccc1e311dc
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3

View file

@ -2805,20 +2805,20 @@ namespace tools
}
crypto::hash long_payment_id;
crypto::hash8 short_payment_id;
if (!wallet2::parse_long_payment_id(req.payment_id, payment_id))
{
if (!wallet2::parse_short_payment_id(req.payment_id, info.payment_id))
{
er.code = WALLET_RPC_ERROR_CODE_WRONG_PAYMENT_ID;
er.message = "Payment id has invalid format: \"" + req.payment_id + "\", expected 16 or 64 character string";
er.message = "Payment id has invalid format: \"" + req.payment_id + "\", expected 64 character string";
return false;
}
else
{
memcpy(payment_id.data, info.payment_id.data, 8);
memset(payment_id.data + 8, 0, 24);
er.code = WALLET_RPC_ERROR_CODE_WRONG_PAYMENT_ID;
er.message = "Payment id has invalid format: standalone short payment IDs are forbidden, they must be part of an integrated address";
return false;
}
}
}