Support transferring bridge addresses in QR codes
At some point (maybe in days, maybe in weeks), we will start distributing bridge addresses which contain multiple 80-bit-or-longer base32-encoded ‘cryptovariables’ (I don't know any other appropriate general term for them). Orbot users will want to not retype them into their puny phone keyboards.
See the ‘
libzbar’ package for a QR-code decoder under the LGPL. See ‘
libqrencode’ for a QR-code encoder under the LGPL. Neither of these can currently handle binary strings containing NULs (you don't want to be parsing/repacking bridge lines anyway, but you need to know about that bug before you use the QR-code hammer to pound e.g. OTR/GPG fingerprints, BitTorrent info hashes, or Curve25519/Ed25519 public keys).
Also, if you interact with a QR-code decoder through e.g. XML, don't get bobbytabled. (P.S. ‘
zbarimg --xml’ sucks.)