{ "comments": [ { "unresolved": false, "key": { "uuid": "7cde62f4_23cc3170", "filename": "/PATCHSET_LEVEL", "patchSetId": 9 }, "lineNbr": 0, "author": { "id": 1000028 }, "writtenOn": "2026-03-06T12:32:33Z", "side": 1, "message": "I think this patch looks ok. I would recommend to double check the code paths so that we can be sure that the luhn checksum of the ICCID is always correct.", "revId": "c9c5bd24701b3d880530775ee3a9c6b45ac57a94", "serverId": "035e6965-6537-41bd-912c-053f3cf69326" }, { "unresolved": true, "key": { "uuid": "96a9a801_96a414a3", "filename": "pySim/esim/saip/personalization.py", "patchSetId": 9 }, "lineNbr": 362, "author": { "id": 1000028 }, "writtenOn": "2026-03-06T12:32:33Z", "side": 1, "message": "The ICCID has a luhn checksum at the end. A wrong checksum may cause the eUICC to just refuse the profile installation. As far as I know, the IncDigitSource just increments, it does not add a checksum or anything.\n\nAs far as I can see you are using enc_iccid to encode the value in apply_val. This function only does the nibble swap. sanitize_iccid would calculate the luhn if it is not yet present, but its only called in validate_val...\n\nMaybe you calculate the luhn somewehere and everything is fine. I am just writing this to make sure you are aware of this.", "revId": "c9c5bd24701b3d880530775ee3a9c6b45ac57a94", "serverId": "035e6965-6537-41bd-912c-053f3cf69326" }, { "unresolved": false, "key": { "uuid": "5017d927_a08d38f5", "filename": "pySim/esim/saip/personalization.py", "patchSetId": 9 }, "lineNbr": 362, "author": { "id": 1000005 }, "writtenOn": "2026-03-15T22:44:56Z", "side": 1, "message": "the luhn is added implicitly, the editable part is without the luhn.\nI know this because we\u0027ve already published ICCID on production SM-DP+ with this code.", "parentUuid": "96a9a801_96a414a3", "revId": "c9c5bd24701b3d880530775ee3a9c6b45ac57a94", "serverId": "035e6965-6537-41bd-912c-053f3cf69326" } ] }