Skip to content

Changes

Started by timer
Started 22 hr ago
Queued 5 ms
Took 7 min 51 sec on simtester

Summary

  1. pySim-trace: pySim.apdu_source.stdin_hex (details)
  2. Print SMSC in pySim-read.py (details)
  3. pySim/card_key_provider: fix typo in keys (details)
  4. contrib/csv-to-pgsql: add missing copyright header (details)
  5. es9p_client: Fix type conversion in installation result notification (details)
  6. es9p_client: MAke install notification code execute at all (details)
  7. http_json_api: Only require Content-Type if response body is non-empty (details)
Commit 429b12c8b5064f3abc7ca4c1d748cd5544d15b29 by laforge
pySim-trace: pySim.apdu_source.stdin_hex

This introduces an "APDU source" for pySim-trace which enables the
decoding of APDUs that are copy+pasted from elsewhere, for example
APDU logs in text form created by proprietary tools, or to decode
personalization scripts or the like.

Change-Id: I5aacf13b7c27cea9efd42f01dacca61068c3aa33
The file was addedpySim/apdu_source/stdin_hex.py
The file was modifiedpySim-trace.py
Commit ae912455822dce0bea3e0c98abc4c827653c6fe8 by laforge
Print SMSC in pySim-read.py

Change-Id: I17067b68086316d51fd71ba77049874605594e3f
The file was modifiedtests/pySim-prog_test/fakemagicsim.ok
The file was modifiedpySim-read.py
The file was modifiedtests/pySim-prog_test/sysmoISIM-SJA5.ok
The file was modifiedtests/pySim-prog_test/Wavemobile-SIM.ok
The file was modifiedtests/pySim-prog_test/sysmoUSIM-SJS1.ok
The file was modifiedtests/pySim-prog_test/sysmosim-gr1.ok
The file was modifiedtests/pySim-prog_test/Fairwaves-SIM.ok
The file was modifiedtests/pySim-prog_test/sysmoISIM-SJA2.ok
Commit 1f2db11d31d28b796dfe44adad74e36c4cb75b48 by laforge
pySim/card_key_provider: fix typo in keys

Change-Id: Ie76f351ae221da2a0aab65c311fafe8ae6d63663
The file was modifiedpySim/card_key_provider.py
Commit e62f160775f8fa99e83a0b20acaf04054172a912 by laforge
contrib/csv-to-pgsql: add missing copyright header

Change-Id: Iad8b2c1abb6a80764d05c823fbd03a9eae0ec0ab
The file was modifiedcontrib/csv-to-pgsql.py
Commit 4e35e2c357f3a959ba04aff3990816d01f5a3b08 by laforge
es9p_client: Fix type conversion in installation result notification

The asn.1 encoder expects bytes-like objects, we cannot simply pass
hex-strings to it without conversion

Change-Id: I83ad047e043dc6b3462b188ce6dd0b2cc0e52e87
The file was modifiedcontrib/es9p_client.py
Commit 22c3797a89bc3e93c82194dab1af7ffa18f2b977 by laforge
es9p_client: MAke install notification code execute at all

The caller specified 'install' but the do_notification() function
compared with 'download' :(

Change-Id: I2d441cfbc1457688eb163301d3d91a1f1fdc7a8c
The file was modifiedcontrib/es9p_client.py
Commit e0a9e73267f18fed1d81874938f5e2831afd12e6 by laforge
http_json_api: Only require Content-Type if response body is non-empty

If there is an empty body returned, such as in the case of the response
to an es9p notification, then it is of course also legal to not set the
content-type header.

This patch fixes an exception when talking to certain SM-DP+ with
es9p_client.py:

DEBUG:pySim.esim.http_json_api:HTTP RSP-STS: [204] hdr: {'X-Admin-Protocol': 'gsma/rsp/v2.5.0', 'Date': 'Wed, 28 Jan 2026 18:26:39 GMT', 'Server': 'REDACTED'}
DEBUG:pySim.esim.http_json_api:HTTP RSP: b''
{'X-Admin-Protocol': 'gsma/rsp/v2.5.0', 'Date': 'Wed, 28 Jan 2026 18:26:39 GMT', 'Server': 'REDACTED'}
<Response [204]>
Traceback (most recent call last):
  File "gprojects/git/pysim/es9p/../contrib/es9p_client.py", line 315, in <module>
    c.do_notification()
    ~~~~~~~~~~~~~~~~~^^
  File "projects/git/pysim/es9p/../contrib/es9p_client.py", line 159, in do_notification
    res = self.peer.call_handleNotification(data)
  File "projects/git/pysim/contrib/pySim/esim/es9p.py", line 174, in call_handleNotification
    return self.handleNotification.call(data)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "projects/git/pysim/contrib/pySim/esim/http_json_api.py", line 335, in call
    if not response.headers.get('Content-Type').startswith(req_headers['Content-Type']):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'startswith'

Change-Id: I99e8f167b7bb869c5ff6d908ba673dac87fef71a
The file was modifiedpySim/esim/http_json_api.py