Comments (7)
Hi @spaetz ! Thank you for reporting the issue!
Yes, if fine with you, please send me the pkpass and I will fix it ([email protected])
from passes.
At least I can reproduce this problem using zint
on the contents of the pkpass (extracted using jq).
from passes.
I took the aztec data from a ticket page and the .pkpass data package from the same page.
./ZXingReader -format Aztec -bytes ticket.png > ticket-decoded.raw
jq -r '.barcodes[0].message' < ticket.pkpass.extracted/pass.json > ticket-barcode.raw
both files have the same trailing 11 bytes (the last 8 bytes seem to be the VDV pubkey identifier). the byte before that differs (the version from the json file has an additional 0xc2
byte inserted there)
from passes.
maybe take a look at the unpack&validate stuff in https://github.com/KDE/kitinerary/blob/9473c03be6c650d1137d43b47a1220a452c8e7f5/src/lib/vdv/vdvticketparser.cpp
from passes.
ok, no it's worse actually (the above code already works on the properly decoded data, recognizable because the tag at the front matches what's expected)
decoded: 9e 81 80 07
vs.
from-json: c2 9e c2 81 c2 80 07
the whole "from-json" thing is interspersed with c2
and c3
values, although I don't know yet where they came from...
from passes.
I suppose jq -r '.barcodes[0].message' < pass.json | iconv -f 'UTF-8' -t 'LATIN1'
(notice the conversion to LATIN1, as specified in the associated json)
% jq -r '.barcodes[0].messageEncoding' < pass.json
iso-8859-1
Maybe I've spent way too many hours to debug this, but I guess this mostly solves this, conditional transcoding now "just" needs to be integrated into the barcode evaluation code.
from passes.
I have taken a look at this issue and I think I found the problem.
Passes is mostly written in Python, with the exception of the logic used to generate the barcodes (C language).
The problem seems to be in the way I am converting Python types into C types.
from passes.
Related Issues (20)
- QR code button in dark mode is not visible
- File handlers / mime-type-support
- unable to deal with fake-PNG (jpeg with .png extension) HOT 2
- Add Support for esPass
- Icon by GNOME HIG HOT 5
- [Feature request] Add to GNOME Circle HOT 2
- Build fails due to appstream metadata validation failure HOT 2
- Support other format HOT 2
- Use nonet for appstream-util test
- 'File is not a pass' on Pinephone (arm64) HOT 8
- [Feature request] Add ability to rename passes
- Info symbolic image broken on Librem 5 HOT 4
- How to add rewards cards or coupons? HOT 3
- libzint isn't found even when installed HOT 2
- macOS Support HOT 8
- SyntaxWarning: invalid escape sequence on Python 3.12
- QR code tiny HOT 7
- passes closes itself when deleting 2nd pass HOT 3
- Verify on Flathub HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from passes.