From 4d5d2f5849b5769a0adc9104db81ca18f8356f78 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Wed, 29 May 2024 13:00:05 +0200 Subject: [PATCH] pySim.esim.saip.validation: Ensure unique PE identification value Change-Id: I37b9eb4cfb74de79b0493986d976c8a5f8ccd8ea --- pySim/esim/saip/validation.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pySim/esim/saip/validation.py b/pySim/esim/saip/validation.py index f9f57737..c253b7aa 100644 --- a/pySim/esim/saip/validation.py +++ b/pySim/esim/saip/validation.py @@ -95,6 +95,12 @@ class CheckBasicStructure(ProfileConstraintChecker): if 'profile-a-p256' in m_svcs and not ('usim' in m_svcs or 'isim' in m_svcs): raise ProfileError('profile-a-p256 mandatory, but no usim or isim') + def check_identification_unique(self, pes: ProfileElementSequence): + """Ensure that each PE has a unique identification value.""" + id_list = [pe.header['identification'] for pe in pes.pe_list if pe.header] + if len(id_list) != len(set(id_list)): + raise ProfileError('PE identification values are not unique') + FileChoiceList = List[Tuple] class FileError(ProfileError):