tree 887e2bf333adb39e1cf86cb923376455df4fc106
parent ddc06d45295eacc0ee43dcae49b21bd94b7f11d3
author Karsten Sperling <113487422+ksperling-apple@users.noreply.github.com> 1714695232 +1200
committer GitHub <noreply@github.com> 1714695232 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmNCxACRC1aQ7uu5UhlAAATRoQADGktdaHmMcsopqOr6pmWOn4
 DvMIUJpmsFpMNAofxf4v4SGySgkTO0lBAtft9e+4VMUFhXCw3JtAvLru3M8juDmw
 iUY6z4kcKRJSqhizP6UgO9VO5gxc8Zqh3VtkTRv5o8LqGrJj1CGpxTlfjuXrT2cf
 vSyQh8KvCMx3QSQMVoKmd2r6gr19SOhyibnKxQga+CB7ypX2fizavPKuAuoXz6he
 0tfH2mtJxQYXhrZDatsD66QaRS5wCepDqx6ea129xtoTEKADgVYsGiy9LsMuPKAI
 4hcLtbcB51bCIP2h2iv/M7paytqJzc7KbLNuaw+EraMsorIgIS0kmwNFHvfLhCNg
 jZ8ZjPv15iOOg6IeC5y8jDBMRDECLy+Pqsejx7mt7S/ObgSwafQ7IkYlrJukCxHo
 cHipzIoMUGST0ixavO+Y24WMPXkYzu1eUK+QwdYBgILDqj0Z0+6HYqSvHX1LQ4sA
 3B3tHwgvcEHjfgFtSQD74djQySZdaUcFMk3tLy+qiRqIPLS+LbiIGTM3dkvmi03L
 vPa9lRGcrW5+TebsDLfBXAupU/FIA7BkI7Owtot+9CyhxCzfPYiR14ldseeWDunF
 vhnQxXGHIM4qhGnpLbVP3EObBbxHSXGi7syIcqCy5mDq2hcgCK3emncuKZzNY7WB
 vl2hgUskd4nshqQ4BvQD
 =lHpJ
 -----END PGP SIGNATURE-----
 

Fix handling of short discriminator in QRCodeSetupPayloadGenerator (#33250)

* Fix handling of short discriminator in QRCodeSetupPayloadGenerator

If a SetupPayload contains a short discriminator then
- isValidQRCodePayload() should return false
- trying to generate a QR Code should return INVALID_ARGUMENT
- generating with SetAllowInvalidPayload(true) should work (not die)

* SetupPayload tweaks

Make IsCommonTag, IsVendorTag, and getOptionalVendorData(tag, &info) public.

The first two are just encoding spec rules that are useful for clients, and the
latter allows clients to read vendor data by tag instead of having to read the
whole list.

Also use default values instead of explicit constructors for OptionalQRCodeInfo
and fix up some doc comments to correctly reference the vendor tag range.

* Address review comments

Elaborate on the use case for AllowInvalidPayload in the comments, and encode a
missing long discriminator as 0, to avoid a client encoding invalid payloads
from relying on round-tripping a short discriminator through a QR code.

* Handle rendezvousInformation and discriminator the same way

* Address review comment: use ValueOr