eu-digital-identity-wallet / eudi-web-verifier

Apache License 2.0
8 stars 11 forks source link

Avoid code length overflow error in QRcode generation #90

Closed mfragkoulis closed 1 week ago

mfragkoulis commented 3 weeks ago

Hello team!

I bumped into the following small bug that I wanted to share with you. Strings of length between ~192--225 characters cause a code length overflow error in the QR code generation step.

You can reproduce the bug with this string: "eudi-openid4vp://?client_id=Verifier&request_uri=https%3A%2F%2Fsnf-111111.vm.okeanos.grnet.gr%2Fwallet%2Frequest.jwt%2FPUIAKaaLa2JnERh8sKUT18AUHMCIeh_GRgTpdcZ936tCGCDwrYcjITGa8k97Vw6g7N5_Bs_rYL-xJVs1T7TiFA"

This is a reported bug of the underlying QRcode library.

This PR proposes a workaround that pads the string used to generate a QRcode such that its length overcomes the range where the bug manifests.

A more appropriate solution could be to consider a fork of the original library that fixes the bug.

Kind regards, Marios

vafeini commented 1 week ago

Hi @mfragkoulis, Thanks a lot for the PR. Looks like the qrcode library is not activly maintained, I am evaluating the fork you mentioned and other options for QR code generation more actively maintained and supported.

Regards

vafeini commented 1 week ago

@mfragkoulis I have replaced the qr code library with angularx-qrcode component. I tested it with the code lengths that you mentioned and seems to work fine.

So I am closing this PR, thanks again for the effort!