Skip to content
Success

Changes

Summary

  1. esim.saip: Fix parsing/generating fillPattern + repeatPattern (details)
  2. pySim.esim.saip: Treat "Readable and Updateable when deactivated" flag (details)
  3. esim.saip: Compute number of records from efFileSize and record_len (details)
  4. esim.saip: Fix computation of file content (details)
  5. [cosmetic] esim.saip: Fix various typos in comments/docs/messages (details)
  6. [cosmetic] esim: Fix various typos in comments/messages/docs (details)
  7. esim.saip: New methods for inserting ProfileElement into sequence (details)
  8. esim.saip.File: Re-compute file_size when changing body (details)
  9. esim.saip.File: Proper ARR conversion of template (into) to file (bytes) (details)
  10. esim.saip.File: Suppress encoding attributes that are like template (details)
  11. esim.saip.FsProfileElement: Add create_file() method (details)
Commit 599845394ed48f8101bb25bf1c99ec5945049256 by laforge
esim.saip: Fix parsing/generating fillPattern + repeatPattern

So far we only thought of default filling coming from a template.
However, filling can happen from the Fcp, and we need to properly parse
and [re-]encode that information.

Change-Id: Iff339cbe841112a01c9c617f43b0e69df2521b51
Related: OS#6643
The file was modifiedpySim/esim/saip/__init__.py
Commit 118624d256f914553dae307e1ca760d3c5758687 by laforge
pySim.esim.saip: Treat "Readable and Updateable when deactivated" flag

There's a second flag hidden in the TS 102 222 "Special File
Information"; let's parse + re-encode it properly.

Change-Id: I7644d265f746c662b64f7156b3be08a01e3a97aa
Related: OS#6643
The file was modifiedpySim/esim/saip/__init__.py
Commit 6046102cbbc22d33dbaa29572a4d2d084013ebb9 by laforge
esim.saip: Compute number of records from efFileSize and record_len

If we know the efFileSize and record_len, but Fcp doesn't contain
the number of records, we can simply compute it.

Change-Id: I0cc8e7241e37ee23df00c2622422904e7ccdca77
The file was modifiedpySim/esim/saip/__init__.py
Commit 779092b0cd46b493faa6a40d2ecfb9d1df659750 by laforge
esim.saip: Fix computation of file content

When generating the file content (body), we need to proceed in the
following order:

1a) If FCP contains fillPattern/repeatPattern, compute file content from those

1b) If FCP doesn't contain fillPattern/repeatPattern but template
    exists, compute file content from template

2)  Apply any fillFileConten / fillFileOffset from the SAIP File on top
    of the above

Change-Id: I822bb5fbec11a3be35910a496af7168458fd949c
Closes: OS#6642
The file was modifiedpySim/esim/saip/__init__.py
The file was modifiedpySim/ts_102_222.py
Commit 93237f4407fc80e63ec1f6fafbfe374028a1b777 by laforge
[cosmetic] esim.saip: Fix various typos in comments/docs/messages

Change-Id: I4fc603634a0f2b53e432a77f05e811a38ba065c2
The file was modifiedpySim/esim/saip/__init__.py
Commit 5354fc22d0ff03672727916587836fa007c15aee by laforge
[cosmetic] esim: Fix various typos in comments/messages/docs

Change-Id: I806c7a37951e72027ab9346169a3f8fe241f2c46
The file was modifiedpySim/esim/x509_cert.py
The file was modifiedpySim/esim/http_json_api.py
The file was modifiedpySim/esim/bsp.py
The file was modifiedpySim/esim/saip/personalization.py
Commit 34423337608c56db3c83cda0b0c372e38aa1c01e by laforge
esim.saip: New methods for inserting ProfileElement into sequence

ProfileElements.insert_after_pe() is a convenience method to insert
a new PE after an existing one in the sequence.  This is a frequent
task as there are strict ordering requirements in the SAIP format.

Change-Id: I4424926127b4867931c2157e9340bacd2682ff0c
The file was modifiedpySim/esim/saip/__init__.py
Commit 0516e4c47ae07ad35dfad5eb5aed1fd26f43602b by laforge
esim.saip.File: Re-compute file_size when changing body

If the API user modifies the size of the body, we need to check if we
need to re-compute the file_size attribute which is later encoded into
the fileDescriptor.  The size obviously must be large enough to fit the
body.  Let's do this implicitly by introducing a setter for File.body

Change-Id: I1a908504b845b7c90f31294faf2a6e988bdd8049
The file was modifiedpySim/esim/saip/__init__.py
Commit 0f1ffd20efe9a3b34ed5288bd725ec83beeac555 by laforge
esim.saip.File: Proper ARR conversion of template (into) to file (bytes)

The encoding of the access rule reference is different in FileTemplate
vs File, let's make sure we properly convert it when instantiating a
File from a FileTemplate.

Change-Id: Ibb8afb85cc0006bc5c59230ebf28b2c0c1a8a8ed
The file was modifiedpySim/esim/saip/__init__.py
Commit 9ac4ff3229edb34e9956f4da84ece64a4a5d70ba by laforge
esim.saip.File: Suppress encoding attributes that are like template

The point of the SAIP template mechanism is to reduce the size of the
encoded profile.  Therefore, our encoder in the to_fileDescriptor()
method should suppress generating attributes if their value is identical
to that of the template (if any).

Change-Id: I337ee6c7e882ec711bece17b7a0def9da36b0ad7
The file was modifiedpySim/esim/saip/__init__.py
Commit 9d7caef810813ad4d747e71f6e85f75d5a06bfe0 by laforge
esim.saip.FsProfileElement: Add create_file() method

So far we mainly created File() instances when parsing existing
profiles.  However, sometimes we want to programmatically create Files
and we should offer a convenience helper to do so, rather than asking
API users to worry about low-level details.

Change-Id: I0817819af40f3d0dc0c3d2b91039c5748dd31ee2
The file was modifiedpySim/esim/saip/__init__.py