Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:mnhauke:osmocom:nightly
python-pysim
python-pysim.changes
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File python-pysim.changes of Package python-pysim
------------------------------------------------------------------- Thu Jun 13 20:04:57 UTC 2024 - mardnh@gmx.de - Update to version 1.0.923: * saip-tool: Add 'extract-apps' to dump all applications from eSIM profile * saip-tool: Add new 'info' action to print general information ------------------------------------------------------------------- Mon Jun 10 20:05:11 UTC 2024 - mardnh@gmx.de - Update to version 1.0.921: * esim.saip: Remove debug print() * es9p_client: Use a plausible TAC (copy from lpac) * contrib/jenkins.sh: Execute pylint also on all contrib python scripts * unber.py: work-around pylint reporting (possibly-used-before-assignment) * osmo-smdpp: use NIST-P256 by default * tests/ota_test.py: Allow stand-alone execution * pySim.ota.OtaDialectSms: Implement command decoding * pySim.ota.OtaDialectSms: Move SMS header construct up to class level * pySim/ota: Don't modify input argument in OtaDialectSms.encode_cmd * pySim.cat: Add more alredy-defined IEs to ProactiveCmd classes * add contrib/saip-tool.py * jenkins.sh: Include es9p_client in pylint * pySim.tlv.COMPR_TLV_IE: Patch comprehension bit if derived class misses it * pySim.cat: Make sure to always set comprehension bit in COMPR_TLV_IE * pySim.tlv: Correctly parse COMPREHENSION-TLV without comprehension bit * esim.saip: Add ProfileElementSequence.remove_naas_of_type ------------------------------------------------------------------- Sun Jun 09 20:04:52 UTC 2024 - mardnh@gmx.de - Update to version 1.0.905: * esim.saip: Introduce ProfileElement.identification property * esim.es9p: Suppress sending requestHeader on ES9+ * add contrib/es9p_client: Perform ES9+ client functions like LPA+eUICC * http_json_api / es9p: Add User-Agent header * add pySim.esim.es9p with definitions of the ES9+ HTTP Interface * esim.es2p: Split generic part of HTTP/REST API from ES2+ * pySim/cat: Fix "Decode the "Type of Comand" from numeric value to a string" ------------------------------------------------------------------- Sat Jun 08 20:04:49 UTC 2024 - mardnh@gmx.de - Update to version 1.0.898: * pySim/cat: Decode the "Type of Comand" from numeric value to a string * pySim.apdu.ts_102_221: Decode FETCH and TERMINAL RESPONSE body * pySim.apdu.ts_102_221: Decode the ENVELOPE command body using pySim.cat TLV * pySim.cat: More TLV Definitions for Event Download * pySim.apdu: Allow TLV based decoders for APDU command and response body * pySim-trace: Add support for the TCA Loader log file format ------------------------------------------------------------------- Wed Jun 05 20:05:22 UTC 2024 - mardnh@gmx.de - Update to version 1.0.892: * global_platform/euicc: Implement obtaining SCP keys from CardKeyProvider * CardKeyProvider: Implement support for column-based transport key encryption * document the CardKeyProvider * pySim.esim.saip: Meaningful constructors for [I]SD + SSD * esim.saip: Implement ProfileElement.header_name for more PE types * pySim.esim.saip.validation: Ensure unique PE identification value * esim.saip: Implement SecurityDomainSD.{add,has,remove}_key() methods * esim.saip: Introduce ProfileElement derived classes ------------------------------------------------------------------- Mon Jun 03 20:04:53 UTC 2024 - mardnh@gmx.de - Update to version 1.0.884: * esim.bsp: Fix a bug in demac_only_one() * utils: Introduce BER-TLV parsers that return raw tag or even raw TLV ------------------------------------------------------------------- Sun Jun 02 20:09:18 UTC 2024 - mardnh@gmx.de - Update to version 1.0.882: * [cosmetic] fix typos in comments ------------------------------------------------------------------- Sat Jun 01 20:04:52 UTC 2024 - mardnh@gmx.de - Update to version 1.0.881: * add globalplatform.uicc * osmo-smdpp: Make error message more descriptive * osmo-smdpp: Don't re-encode euiccSigned1/euiccSigned2 ------------------------------------------------------------------- Fri May 31 20:04:53 UTC 2024 - mardnh@gmx.de - Update to version 1.0.878: * docs/shell: Mention GlobalPlatform and eUICC commands in overview ------------------------------------------------------------------- Thu May 30 20:05:00 UTC 2024 - mardnh@gmx.de - Update to version 1.0.877: * pySim.app: Attempt to retrieve the EID of a SGP.22 / SGP.32 eUICC * pySim-shell: Migrate PySimApp.iccid to RuntimeState.identity['ICCID'] * runtime: Introduce an 'identity' dict for things like ATR, ICCID, EID ------------------------------------------------------------------- Sun May 26 20:04:46 UTC 2024 - mardnh@gmx.de - Update to version 1.0.874: * pysim/euicc: Remove duplicated code * pySim/commands: STATUS: Use indeterminate length Le/P3 == '00' * pySim/global_platform: Fix install_for_personalization command ------------------------------------------------------------------- Sat May 25 20:04:50 UTC 2024 - mardnh@gmx.de - Update to version 1.0.871: * contrib/sim-rest-client: don't crash without args * pcsc: don't assume opts.pcsc_shared is present ------------------------------------------------------------------- Thu May 23 20:04:55 UTC 2024 - mardnh@gmx.de - Update to version 1.0.869: * pySim/cat: Fix contruct for Address class/IE * sysmocom_sjs2: Make sure 'Const' is imported * euicc: clarify which eUICCs are supported * pySim-trace.py: Resolve possible variable use before assignment * pySim-prog.py: Resolve possible variable use before assignment * osmo-smdpp.py: Resolve possible variable use before assignment * euicc.py: Resolve possible variable use before assignment * commands.py: Resolve possible variable use before assignment * commands.py: Resolve possible variable use before assignment ------------------------------------------------------------------- Mon May 13 13:29:35 UTC 2024 - mardnh@gmx.de - Update to version 1.0.860: * pySim-trace: Support decoding of eUICC traces * pySim.global_platform: Fix key encryption with DEK * euicc: Fix shell command for SGP.31 get_certs * filesystem: Enforce lower-case hex AID * esim.esp2: Allow HTTP methods other than POST * esim.es2p: Permit ApiParamInteger to be an actual integer * Add funding link to github mirror * README.md: Add link to issue tracker * README.md: Link to discourse forum * README.md: Point to simtrace mailing list * contrib/jenkins.sh: add 'distcheck' job to check package integrity * add missing modules to setup.py * pcsc: open reader/card in EXCLUSIVE mode by default * pySim-prog: convert from optparse to argparse * osmo-smdpp: fix generation of transactionId * sysmocom_sja2: Add test vectors for EF_USIM_AUTH_KEY * docs/shell: Give users some hints on what to do if encoding/decoding fails * tests: assertEquals() is deprecated, use assertEqual() * saip.personalization: Fix encoding of ICCID in ProfileHeader * saip.personalization: automatically compute class 'name' attribute * saip.personalization: differentiate input_value from value * saip.personalization: Add support for SCP80/81/02/03 keys * saip.personalization: include encode/decode of value; add validation method * osmo-smdpp: Add TS.48 profiles modified for unique ICCIDs * osmo-smdpp: Get rid of hard-coded ICCID * saip: improve docstrings * pylint: esim/saip/validation.py * pylint: esim/saip/__init__.py * saip: profile processing; merging with templates * asn1/saip: Fix typo in original ASN.1: Compontents -> Components * utils: Add function to verify Luhn check digits and to sanitize ICCIDs * Dynamically determine maximum CMD data length depending on SCP * Add terminal_capability command to send TERMINAL CAPABILITY * ts_31_102: Add support for "USIM supporting non-IMSI SUPI Type" * Introduce code for ES2+ API client functionality ------------------------------------------------------------------- Wed Feb 07 19:46:55 UTC 2024 - mardnh@gmx.de - Update to version 0.0.0.git1707248192.e1c0b62: * global_platform: Add --suppress-key-check option to put_key command * pySim-shell: Fix regression in 'apdu' command on cards without profile * global_platform: Fix INSTALL [for personalization] * pylint: global_platform/__init__.py * pylint: construct.py * pylint: tlv.py * pylint: utils.py * pylint: ts_102_222.py * pylint: filesystem.py * pylint: commands.py ------------------------------------------------------------------- Thu Nov 16 21:06:48 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1699967916.40ef226: * ts_31_102: correct name of EF_ePDGId ------------------------------------------------------------------- Thu Nov 09 21:08:11 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1699540988.578cf12: * runtime: fix tracking of selected_adf * pySim-shell: Move init_card() function to new pySim.app module ------------------------------------------------------------------- Sat Nov 04 21:05:31 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1699112935.2d44f03: * transport: Log it explicitly if user doesn't specify a reader * Use construct 'Flag' instead of 'Bit' for type descriptions ------------------------------------------------------------------- Fri Nov 03 21:07:35 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1698968597.7be68b2: * sysmocom_sja2: Add some de/encode test vectors * pySim-shell: Reject any non-decimal PIN values * pySim-shell: permit string with spaces for 'echo' command * pySim-shell: Validate that argument to 'apdu' command is proper hexstr * pySim-shell: Improved argument validation for verify_adm argument * pySim-shell: Use argparser for verify_adm to support --help * pySim-shell: Add copyright statement and link to online manual to banner * docs: shell: Various documentation updates/extensions * docs: shell: update output in examples * docs: Fix docstring syntax to avoid warnings * docs: shell: Re-order the command sections/classes * docs: shell: link to cmd2 documentation * docs: shell: By now we have encoders/decoders for most files * docs: shell: Clarify various different card support ------------------------------------------------------------------- Wed Nov 01 21:06:55 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1698769555.a24755e: * filesystem: fix method build_select_path_to * runtime: cosmetic: fix formatting of comment ------------------------------------------------------------------- Thu Oct 26 20:12:35 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1698333427.4af63dc: * transport: print reader device/number on init * euicc: add some first IoT eUICC commands (GSMA SGP.32) * euicc: Add get_profiles_info command * Initial support for eUICC ------------------------------------------------------------------- Tue Oct 24 20:14:33 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1698175714.8c82378: * transport: move argument parser setup into concrete classes * transport: move init message into concrete classes * utils: Fix bertlv_encode_tag() for multi-byte tags * pySim-shell: Include current logical channel in prompt * pySim-shell: Add 'switch_channel' command * prevent SimCardCommands.select_adf_by_aid bypassing lchan * pySim-shell: Create + use per-RuntimeLchan SimCardCommands * commands.py: Add support for multiple logical channels. * docs: Fix command reference for 'apdu' command ------------------------------------------------------------------- Sun Oct 22 20:08:12 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1697917624.49acc06: * RuntimeState: Add type annotation for 'card' argument * pySim-shell: Create/delete RuntimeLchan objects on open/close of channel * cards.py: Fix type annotation ------------------------------------------------------------------- Sat Oct 21 20:05:27 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1697835084.7c0cd0a: * pySim-shell: do not fail when EF.ICCID does not exist * Use keyword argument for file description argument * ts_31_102: Fix initialization of file size ------------------------------------------------------------------- Wed Oct 18 20:05:29 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1697459762.af4e5bb: * transport: do not catch exceptions in init_reader ------------------------------------------------------------------- Mon Oct 16 20:05:18 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1696932417.58e89eb: * transport: add return type annotation to method __str__ ------------------------------------------------------------------- Tue Oct 10 20:05:11 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1696931468.6bfa8a8: * pySim-shell: print device info in case an exception occurs * pySim-shell: do not pass failed card object to PysimApp * pySim-prog, pySim-shell do not use global variables ------------------------------------------------------------------- Sat Sep 16 11:34:48 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1694089166.37e57e0: * filesystem: add attribute "leftpad" to class LinFixedEF * commands: make method verify_binary and verify_record private * pySim-shell: fix commandline option -a (verify_adm) * sim-reset-server: fix error printing sw_match_error * sim-rest-server: fix REST method info * sim-rest-server: use UiccCardBase instead of UsimCard * sim-rest-server: do not select ADF.USIM in connect_to_card * cards: get rid of method read_iccid * README.md: sort dependencies, document smpp.pdu * setup.py: fix package name * pySim-shell: check presence of runtime state before accessing it * pySim-prog_test: fix typo * pySim-trace_test: verify output of pySim-trace.py * pySim-trace_test: fix shebang line * runtime: make sure applications are always listed in the same order * README.md: Add note about pySim-trace.py dependencies * pysim-test: rename pysim-test.sh to pySim-prog_test.sh * tests: add test script for pySim-trace * Fix the remaining functions using the broken Card.update_ust() call * ARA-M: fix encoding of the PkgRefDO when using aram_store_ref_ar_do * utils.py: remove superfluous import from itself * Reimplement ust_service_activate and ust_service_deactivate for USIM/EF.UST * pySim-trace: catch StopIteration exception on trace file end * pySim-trace: mark card reset in the trace * utils: tolerate uninitialized fields in dec_addr_tlv * pySim-trace: remove stray debug print * pySim-trace: add commandline option --show-raw-apdu * construct: add adapter Utf8Adapter to safely interpret utf8 text * Fixed `mnc` encoding * runtime: fix lchan deletion in method reset * apdu/ts_102_221: extract channel number from dict before calling del_lchan * pySim-shell: fix verify_adm command * cards: fix swapped PIN mapping number * pySim-shell: Add a mode where a pySim-shell cmd can be passed by shell * move Runtime{State,Lchan} from pySim.filesystem to new pySim.runtime * pySim/filesystem.py: remove unused class FileData * pySim-shell: Iterate over CardApplication sub-classes * ts_102_221: Remove CardProfileUICCSIM * Introduce concept of CardProfileAddon * cdma_ruim: Fix unit tests and actually enable them * cards: all UICC should use sel_ctrl="0400" and SIM "0000" * cards: cosmetic rename, argument name should be scc, not ssc * cards: All derived of SimCardBase use CLA=A0; all UiccCardBase use CLA=00 * ts_31_102, ts_31_103: Move legacy-only code to pySim.legacy * create pySim.legacy.ts_51_011.py and move legacy code there * pySim/cards: Add type annotations * split pySim/legacy/{cards,utils} from pySim/{cards,utils} * pySim/cards: Split legacy classes away from core SIM + UICC * filesystem: Support selecting MF from MF * pySim-prog: Also accept 18-digit ICCIDs * GlobalPlatform ADF.SD: Add command line reference + error message * ts_102_222: Remove unneeded imports * pySim/transport: Use newly-defined ResTuple type * pySim/commands.py: Better type annotations * pySim/transport: More type annotations * pySim/utils: define 'Hexstr' using NewType * pySim/tlv.py: Fix TLV_IE_Collection from_dict with nested collections * pySim/tlv.py: Don't create an exception from within raise * TLV_IE_Collection: use snake-style names during from_dict() * pySim-shell: Unregister profile commands during equip * pySim-shell: Support USIM specific methods/commands on unknown UICC * ts_31_103: enable encode tests for files containing single TLV IE * tlv: Fix IE.from_dict() method * cosmetic: Implement cmd2.Settable backwards-compat via wrapper class * work-around what appears to be a pylint bug * Fix run-editor bug with cmd2 >= 2.0.0 compatibility * tests: Add new, data-driven OTA tests * Add support for encoding/decoding SMS in TPDU and SMPP format * docs: Add section on pySim-trace to user manual * pySim-shell: fix reset command * Add ".py" suffix to sphinx-argparse generated docs * 31.102: Fix EF.Routing_Indicator for odd number of digits * README: remove redundancy 'Manual' and 'Documentation * README: rephrase initial section; add HPSIM; programmable vs. standard * test_ota: Add one first OTA SMS AES128 unit test * SJA5: EF.USIM_AUTH_KEY: Display / enforce proper length TUAK K * ts_31_102: Add shell command for GET IDENTITY * serial: return a return code in reset_card() * utils: Remove format_xplmn leading zeros in MNC * Add FPLMN read and program * pySim/apdu/ts_31_102.py: Add Rel17 5G NSWO context for GET IDENTITY * ts_102221: Add "resume_uicc" command * Move "suspend_uicc" command from pySim-shell to ts_102_221.py * ts_31_102: fix typo * Fix result parsing of "suspend_uicc" * pySim-shell: Unregister TS 102 222 commands during 'equip' * HPSIM application support * Switch from pycryptodome to pycryptodomex * OTA: Fix padding of AES CMAC * SJA5: Proper encode/decode of TUAK data in EF.USIM_AUTH_KEY * SJA5: Add TUAK + XOR-2G algorithm definitions for EF_[U]SIM_AUTH_KEY * SJA2: Implement DF.SYSTEM/EF.0348_KEY using construct * ts_31_102: EF_SUPI_NAI: Decode/Encode GLI+GCI as UTF-8 strings * ts_31_102: Add decoder/encoder for DF.5GS/EF.Routing_Indicator * modem_atcmd: raise ProtocolError instead of ReaderError on CME ERROR * setup.py: fix syntax errors (missing commas) * cards: Add support for Gialer SIM cards * docs: add SUPI/SUCI usage example * cards.py: support ATR-based detection of sysmoISIM-SJA5 * ts_31_102: Add DF.SAIP support * ts_31_102: Fix FID + SFI of EF.MCHPPLMN * ts_31_102: Fix FID of EF.OPL5G (it's 4F08 instead of 6F08) * ts_31_102: Fix EF.NIA FID * ts_51_011: Fix EF.Phase FID (it's 6FAE, not 6FA3) * ts_51_011: Fix FID of EF.BCCH * ts_31_102: Extend from Rel16 to Rel17 * ts_51_011: Add sst_service_[de]{activate,allocate} shell commands * setup.py: add missing packages for pySim-trace.py * contrib/jenkins.sh: print pylint version before running it * Fix pylint errors * README.md: add missing pycryptodome to dependency list * setup: add missing pyyaml to setup.py and README.md * requirements.txt: allow cmd2 versions greater than 1.5 * pySim-shell: fix compatibility problem with cmd2 >= 2.3.0 (bg) * pySim-shell: fix compatibility problem with cmd2 >= 2.0.0 (include_ipy) * pySim-shell: fix compatibility problem with cmd2 >= 2.0.0 (Settable) * Add very basic profile for R-UIM (CDMA) cards * ts_51_011: fix EF_ServiceTable: use self for static method * setup.py: add missing pySim-trace.py' to scripts[] * filesystem: define more convenient codec for EF.ACC * pySim-prog.py: fix SyntaxWarning: using is with a literal * pySim-shell: add cardinfo command * pySim-shell.py: add a command for RUN GSM ALGORITHM * SimCardCommands.run_gsm(): use send_apdu_checksw() * fix SimCardCommands.run_gsm(): always use CLA=0xa0 * gitignore: add manuals related files * docs/Makefile: don't forward shrink to sphinx * ts_102_222: Implement support for RESIZE FILE for an EF * docs: change upload path for html docs * docs: Document the file-specific commands for ADF.USIM/EF.EST * 31.102: EF.EST enables/disables services; name commands accordingly * docs: Add reference for various commands ------------------------------------------------------------------- Sat Feb 11 21:04:46 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1676050119.8490240: * cards: sysmo-isim-sja2: make sure an ADF is present in EF.DIR before selecting it ------------------------------------------------------------------- Wed Feb 01 21:04:50 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1675245143.865eea6: * filesystem: add unit tests for encoder/decoder methods ------------------------------------------------------------------- Tue Jan 31 21:05:01 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1675182369.d2edd41: * ts_51_011: Fix decoding/encoding of EF_LOCIGPRS * Assume first record number if caller specifies none * ts_31_102: Fix several bugs in EF_ECC encoder * ts_51_011: EF_SMSP: Use integer division in ValidityPeriodAdapter * gsm_r: EF_IC: Network String Table Index is 16bit, not 8bit ------------------------------------------------------------------- Sun Jan 29 21:04:49 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1674848768.5924ec4: * ts_51_011: Improve decoding of SELECT response for classic SIM * ts_51_011: Support EF.LND * ts_51_011, ts_31_102: point to proper EF_EXTn file * ts_51_011: Implement Extended BCD Coding ------------------------------------------------------------------- Sat Jan 28 21:05:41 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1674848768.9ba68df: * ts_51_011: Support EF.SDN * ts_51_011: Fix bit-order in EF.VGCSS and EF.VBSS * gsm_r: Fix byte/nibble ordering of predefined_value1 * gsm_r: EF_Predefined: Decode first record different from others * Prepare for decoding/encoding records differently based on record number * gsm_r: Fix decoding of EF.FN * gsm_r: Fix typo (it's EF.FN, not EF.EN) * pySim-trace: Also consider SW 91xx as successful * pySim-trace: Fix missing MANAGE CHANNEL decode * pySim-trace: Add support for reading GSMTAP from pcap files * cards: also program EF.AD under ADF.USIM ------------------------------------------------------------------- Tue Jan 03 21:04:57 UTC 2023 - mardnh@gmx.de - Update to version 0.0.0.git1672749002.de0cf16: * cards: fix typo ------------------------------------------------------------------- Fri Dec 23 21:05:06 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1671532383.4237ccf: * pySim-prog: add python docstring for read_params_csv * pySim-prog: rename write_parameters function. * pySim-prog: make dry-run more realistic * cards: check length of mnc more restrictively * pySim-prog: fix handling of mnclen parameter. * pySim-prog: clean up csv file reader function ------------------------------------------------------------------- Fri Dec 02 21:04:55 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1669981088.4f888a0: * sysmocom_sja2: simplify and fix op/opc decoder/encoder ------------------------------------------------------------------- Fri Nov 25 21:05:08 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1669345255.5d26311: * OTA: Adjust IV length for AES ------------------------------------------------------------------- Mon Nov 07 21:04:45 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1667563994.8e45b75: * contrib/jenkins.sh: split test/pylint/docs ------------------------------------------------------------------- Mon Oct 24 20:04:30 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1666362287.0529c19: * docs: allow overriding OSMO_GSM_MANUALS_DIR * contrib/jenkins.sh: set PYTHONUNBUFFERED=1 ------------------------------------------------------------------- Wed Sep 14 20:04:23 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1663131633.4e64e72: * Revert "contrib/jenkins.sh: pylint v2.15 is unstable, pin v2.14.5" ------------------------------------------------------------------- Thu Sep 08 20:04:43 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1662644755.75a58d1: * Add new pySim.ota library, implement SIM OTA crypto * README.md: update installation instructions for Debian ------------------------------------------------------------------- Mon Sep 05 20:04:50 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1662394511.98ea2a0: * README.md: update git URLs (git -> https; gitea) * README.md: list recent dependencies from requirements.txt * README.md: fix module name: s/serial/pyserial/ * README.md,requirements.txt: add missing construct version info * Bump minimum required construct version to v2.9.51 * construct: use Python's API for int<->bytes conversion * contrib/jenkins.sh: install dependencies from requirements.txt * contrib/jenkins.sh: execute this script with -x and -e * contrib/jenkins.sh: speed up pylint by running multiple processes * contrib/jenkins.sh: pylint v2.15 is unstable, pin v2.14.5 ------------------------------------------------------------------- Sun Aug 21 20:05:21 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1661082873.59f3b11: * proactive: Send a Terminal Response automatically after a Fetch * proactive: Avoid clobbering the output of the command that triggered the FETCH ------------------------------------------------------------------- Tue Aug 09 20:05:10 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1659805002.cab26c7: * pySim-shell: Use pySim.cat definitions to print decoded proactive cmds * pySim.transport: Add mechanism for handling for CAT/USAT proactive cmds * Add TLV definitions for *a lot more* CAT / USAT data objects ------------------------------------------------------------------- Sun Aug 07 20:05:06 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1659784756.7d8029e: * tlv: Use self._compute_tag() method rather than direct self.tag ------------------------------------------------------------------- Mon Aug 01 20:05:03 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1659191821.f56b6b2: * ts_31_102: Add missing imports for envelope_sms command * ts_31_102: Fix terminal_profile, envelope and envelope_sms commands * Fix printing of SwMatchError after introduction of logical channels ------------------------------------------------------------------- Tue Jul 26 20:05:00 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1658751911.93c34aa: * apdu/ts_102_221: SELECT: allow select of SELF * apdu/ts_102_221: SELECT: allow select of parent/ancestor DFs * filesystem: We can select not just immediate parent DF but all ancestors ------------------------------------------------------------------- Mon Jul 25 20:05:24 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1658656595.8e9c844: * apdu/ts_102_221: Fix SELECT of 3f00 * apdu/ts_102_221: Implement SELECT case "df_ef_or_mf_by_file_id" * filesystem.py: Make CardDF.get_selectables() respect the flags * pySim-trace: Don't print argparse object at start-up * pySim-trace: Fix --no-suppress-{select.status} command line arguments * pySim-trace: Support SELECT with empty response body * sim-rest-server: Report meaningful error message if PIN is blocked * sim-rest-server: Render error messages as JSON * pySim-shell: Add a "version" command to print the pySim package version * Introduce APDU/TPDU trace decoder * sysmocom_sja2: Prevent KeyError/None exception on encode * ts_31_102: Fix EF_EPSLOCI argument ordering * filesystem: Use Tuple for record length * filesystem: Use Tuple for transparent file size * introduce fully_qualified_path_str() method * Never use Bytes without any 'Adapter' * EF.AD: Avoid NotImplementedErrror regarding network names * tlv: Make NotImplementedError more verbose * README: Mention the manual can also be built from the source * ts_31_102: Add support for obsolete EF.RPLMNAcT * ts_31_102: Add support for DF.GSM-ACCESS * ts_31_102: Support for files of DF.V2X (Vehicle 2 X) * ts_31_102: Support for DF_MCS (Mission Critical Services) * move EF_UServiceTable from ts_31_102 to ts_31_102_telecom * minimalistic support for DF.MULTIMEDIA * filesystem: Introduce the basic notion of 'logical channels' * Add very simplistic DF_PHONEBOOK support * ts_31_103: Fix typos related to IMSConfigData + MudMidConfigData * ts_31_102: Fix FID in DF.HNB * fileystem: Use human-readable ADF name if available. * pySim-shell: Remove unused imports * filesystem: keep track of currently selected ADF * filesystem: raise exception only when applicable ------------------------------------------------------------------- Thu Jul 14 20:04:15 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1657800741.c655518: * pySim/ts_102_222.py: remove ununsed imports from 'cmd2' * pySim-shell.py: remove unused imports of 'bg' from 'cmd2' ------------------------------------------------------------------- Sat Jul 09 20:04:19 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1657306066.6f8cf9b: * sim-rest-server: Set Content-Type: application/json on response * scripts/deactivate-5g.script: Also disable service 126 ------------------------------------------------------------------- Thu Jul 07 20:04:17 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1657137930.04b5d9d: * Py2 -> Py3: do not inherit classes from object ------------------------------------------------------------------- Tue Jun 21 20:04:22 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1655798209.bda5283: * cards: populate ADM1 key reference member ------------------------------------------------------------------- Tue Jun 14 20:04:18 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1655216559.2403125: * pySim-shell: set default ADM key reference ------------------------------------------------------------------- Sat Jun 11 20:04:15 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1654871214.541a915: * ts_102_221: The BTLV IEs FILE SIZE and TOTAL FILE SIZE have a min length ------------------------------------------------------------------- Fri Jun 10 20:04:19 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1654244818.40ea4a4: * commands: add ".." notation to expand hexstrings ------------------------------------------------------------------- Fri Jun 03 20:04:01 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1654244289.f16ac6a: * pySim-shell: catch exceptions from walk() while exporting * pySim-shell: extend walk() so that we can also have an action of ADF or DF * pySim-shell: match SW in apdu command * pySim-shell: make APDU command available on the lowest level ------------------------------------------------------------------- Thu Jun 02 20:04:02 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1654159434.373b23c: * ts_102_221: fix SFI generation * filesystem: also return the encoded FCP from probe_file ------------------------------------------------------------------- Tue May 31 20:03:58 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1653904402.9a4091d: * pySim-shell: more generic export options ------------------------------------------------------------------- Thu May 19 20:04:02 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1652948084.ea81f75: * pySim-shell: explain why we insist on a DF or ADF ------------------------------------------------------------------- Fri May 06 20:04:19 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1651835091.e17e277: * ts_102_222: Set number of records when creating linear files ------------------------------------------------------------------- Mon Apr 25 20:04:24 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1650900281.e6b8687: * transport/pcsc: throw ReaderError with a message * SimCard.reset(): fix SyntaxWarning: 'is' with a literal ------------------------------------------------------------------- Tue Apr 05 20:04:18 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1649162718.c30bed2: * ts_102_221: Add encode/write support of EF.ARR records * utils: Add DataObjectSequence.encode_multi() * utils: Fix bugs in DataObject encoders ------------------------------------------------------------------- Sun Mar 27 20:04:12 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1648377818.b7f35ac: * ts_31_103: Correct file-id of EF.DOMAIN in ADF.ISIM * ts_31_102: Avoid pylint false positive ------------------------------------------------------------------- Tue Mar 01 21:04:16 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1646153302.aefd064: * pySim-shell: Add 'decode_hex' command for transparent + linear EF * Initial support for GlobalPlatform ------------------------------------------------------------------- Fri Feb 25 21:04:24 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1645800309.a037762: * ts_31_102: Further decode TAI in EF.OPL5G * ts_31_102: Further decode LAI in EF_LOCI * ts_51_011: Better decode of EF_OPL LAI * ts_51_011: Properly decode EF.OPL * ts_31_102: Fix decoding of UServiceTable * ts_102_221: Fix decoding the 'num_of_rec' field * ts_102_221: properly decode short file identifier ------------------------------------------------------------------- Mon Feb 21 21:04:17 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1645433829.fa578bd: * add scripts/deactivate-ims.script to deactivate IMS related services ------------------------------------------------------------------- Fri Feb 18 21:05:18 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1645098134.c89a1a9: * Add scripts/deacivate-5g.script * doc: Improve documentation in various places * docs: Document missing 'status' command in 7816 section * shell: Proper argparser (for help + manual) activate_file * pySim-shell: export: Add FCP template to export * docs/legcay.txt: Point to pySim-shell as replacement * pySim-shell: support TS 102 222 administrative commands * ts_102_221: Implement File Descriptor using construct ------------------------------------------------------------------- Thu Feb 17 21:04:20 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1644935736.ee670bc: * pySim-shell: Allow selecting of deep paths like DF.GSM/EF.IMSI * ts_31_103: TLV definitions for IMS, XCAP and MudMid configuration * ts_51_011: EF_CMI: Decoder the alpha_id string * ts_51_011: Convert EF_ADN and EF_ACC to Construct * ts_51_011: Proper decode of EF.SMSP * Improve IST/UST check documentation (for the user manual) * ust_service_check: proper treatment of files in sub-directories * ts_31_102: service annotations for DF.{5GS,WLAN,HNB} * ts_31_102: Use perror() instead of poutput() for errors * ts_31_102: Add more EF.UST checks to 'ust_service_check' command * filesystem: Fix CardMF.get_app_names() * Split EF.UST handling from EF.IST and EF.SST * ts_31_102: Add "ust_service_check" command. ------------------------------------------------------------------- Tue Feb 15 21:04:33 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1644935735.d16d904: * README.md: Remove old usage examples, refer to user manual instead ------------------------------------------------------------------- Mon Feb 14 21:04:23 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1644796287.3729c47: * commands: Add method to select parent DF ("cd ..") * cosmetic: Remove extraneous empty lines between spec-section-comment and class * USIM + ISIM: Specify the services associated with each file * filesystem: Maintain a 'service' attribute for all files on a card * pySim-shell: introduce 'apdu' command for sending raw APDU to card * pySim-shell: export: allow export as JSON instead of hex * ts_102_221: Proper parsing of FCP using pySim.tlv instead of pytlv * tlv: Don't raise exception if somebody passes empty data to TLV decoder * filesystem: Don't pass empty string to parse_select_response() * Extend unit test coverage for construct, add [some] tests for TLV * construct: Add Construct for variable-length int 'GreedyInteger' ------------------------------------------------------------------- Sat Feb 12 21:04:21 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1644654817.e8d177d: * tlv: Convert CamelCase class name to snake_case in json * tlv: Function for flattening the list-of-dict output of TLV decoder ------------------------------------------------------------------- Fri Feb 11 21:04:33 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1644582778.425038f: * utils: Fix missing Optional[] in type annotations * cosmetic: Switch to consistent four-spaces indent; run autopep8 * ts_102_221: Implement proper parsing of EF.DIR * filesystem.py: Accept both a class or an instance as TLV._tlv member ------------------------------------------------------------------- Thu Feb 10 21:04:15 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1644511991.6551627: * ts_31_102: TLV._tlv must point to the class, not an instance * filesystem: Fix TLV decode/encode * Better decode of EF.UST, EF.EST and EF.IST * utils.py: Fix some tuple type annotations * utils.py: type annotations for DataObject related methods * ts_102_221: Handle nested security condition data objects * ts_51_011: Fix type annotation for Tuple[int, int] ------------------------------------------------------------------- Wed Feb 09 21:04:22 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1644438207.6113fe9: * ts_51_011: Fix typo in EF_MMSUP * ts_31_102: EF.PNN encoding is identical to that of DF.GSM * publish also the HTML manual for pySim * contrib/jenkins.sh: Fix PUBLISH * contrib/jenkins.sh: first upload manuals, then execute physical tests * avoid pylint E0611: No name 'strxor' in module 'Crypto.Util.strxor' * update pyyaml dependency to >= 5.1 ------------------------------------------------------------------- Mon Jan 31 21:04:29 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1643630112.e91405e: * implement shell command to update PLMN in IMSI ------------------------------------------------------------------- Tue Jan 25 21:04:25 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1643069684.9c93cec: * transport/serial: fix for Python 3 ------------------------------------------------------------------- Sat Jan 22 21:04:24 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1642856342.0c840f0: * ts_102_221: decode/encode EF.PL * pySim-shell: alphabetically sort name of files in 'dir' command * cosmetic: Use EF.FDN instead of EF_FDN in ts_51_011.py * ts_31_102: Add support for EF.ECC (emergency call codes) * add missing bit definition for NG-RAN in xAcT ------------------------------------------------------------------- Fri Jan 21 21:04:28 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1642714292.da57ef1: * catch and ignore SwMatchError on probing for AID's ------------------------------------------------------------------- Thu Jan 13 21:04:28 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1642088174.3e33cc7: * Add pyyaml to requirements.txt ------------------------------------------------------------------- Wed Jan 05 21:04:39 UTC 2022 - mardnh@gmx.de - Update to version 0.0.0.git1641315985.0e4515f: * filesystem: use correct AID for applications found by probing ------------------------------------------------------------------- Sat Dec 04 21:03:49 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1638355967.8d8bdef: * filesystem: actively probe applications ------------------------------------------------------------------- Fri Nov 26 21:03:52 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1637855874.e903a40: * fix invalid dependency * fix: Decoder may raise KeyError ------------------------------------------------------------------- Wed Nov 24 21:03:55 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1637688934.931bc66: * cards: Make select_adf_by_aid() use prefix AID selection * pySim-read: put try/catch block around select_adf_by_aid() ------------------------------------------------------------------- Mon Nov 22 21:03:48 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1637602620.47833bc: * cards: make _get_aid case insensitive * profile: decode_select_response use object instead 'Any' * profile: decode_select_response can be a static method * pySim-shell: export command: guess number of records when not specified * commands: use send_apdu_checksw() in method read_record * ts_51_011: move _decode_select_response into profile class * pySim-shell: add method to match card profile to card ------------------------------------------------------------------- Thu Nov 18 21:03:51 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1637228162.055b80a: * pySim-read: do not select ADF.ISIM again * cards: select_adf_by_aid: split off aid completion ------------------------------------------------------------------- Thu Nov 11 21:04:05 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1636621677.95ce6b1: * ARA-M related command support * ts_51_011: add status word definition * filesystem: CardProfile: initialize empty sw table as empty dict ------------------------------------------------------------------- Wed Nov 10 21:04:05 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1636549811.51cad0d: * filesystem: define class byte and select control bytes in profile * filesystem: make sure the card is in a defined state * filesystem: do not read AIDs when no apps are defined * filesystem: fix decode_select_response * pySim-shell: print newline on exit with CTRL+D ------------------------------------------------------------------- Fri Nov 05 21:04:00 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1636131348.e087f90: * commands: return none, when offset exceeds file length * commands: complete documentation strings * utils: cosmetic: remove stray comment * commands: do not check SW manually, use send_apdu_checksw() * contrib/jenkins.sh: make pylint warn about unnecessary semicolon * Python is not C: get rid of unnecessary semicolons ------------------------------------------------------------------- Wed Nov 03 21:04:16 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1635940215.23198c4: * sim-rest-server: Add example systemd service/unit file * sim-rest-client: Add support for 'info' command to get IMSI+ICCID * sim-rest-server: Add capability to obtain IMSI + ICCID of card * sim-rest-client: Errors are plain text, not JSON ------------------------------------------------------------------- Sun Oct 31 21:04:05 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1635526288.c8387dc: * ts_51_011: implement CardProfileSIM as a class * filesystem: fix reset mechanism * cards: add method to modify APDU parameters (cla, sel_ctrl) * commands: use python style commends to describe methods * cards: use python style commends to describe methods ------------------------------------------------------------------- Sun Oct 24 20:03:49 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1634820103.bd02f84: * pySim-shell: Improve documentation * utils: Fix BER-TLV tag decode for multi-byte tags * tlv: Fix recursive initialization from_dict() * tlv: Don't require encoder/decoder methods for TLV without value * pySim-shell: Use iteration when unregistering command sets * pySim-shell: Add suspend_uicc command * pySim-shell: Add support for GSM-R SIM Cards with DF.EIRENE ------------------------------------------------------------------- Wed Oct 20 20:03:45 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1634719724.7666764: * pySim-shell: add bulk provisioning support * ts_31_10x: add a class for CardApplicationXSIM ------------------------------------------------------------------- Sat Oct 16 20:03:42 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1634373965.9b227de: * pySim-shell: add example script to dump authentication config * sysmocom_sja2: Properly decode EF.USIM_SQN freshness ------------------------------------------------------------------- Fri Oct 15 20:03:51 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1634322268.7a8aa86: * ts_51_011: Add encoder for EF.SST * commands: Fix read_binary() for non-zero offset * pySim-shell: add echo command * pySim-shell: allow card insertion at runtime * ts_51_011: fix select response decoder ------------------------------------------------------------------- Thu Oct 14 20:04:26 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1634231588.80901d6: * commands: fix update_binary() with non-zero offset * CardModel: Document how this 'magic' works in some comments. * 51.011: Fix EF_SST decoder for services > table description * filsystem: Make NotImplementedError more verbose. * USIM: Add ENVELOPE and ENVELOPE-SMS shell commands * Add API + shell command for sending TERMINAL PROFILE to card * pysim-Shell: Add sysmocom SJA2 card specific bits * cat: Fix SMS/ENVELOPE related IE tag definitions * cat: Add more terminal profile bitmask definitions * cards: remove "auto_once" from possible ctype options ------------------------------------------------------------------- Tue Oct 12 20:03:54 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1633942604.913e616: * card_handler: clean-up ------------------------------------------------------------------- Fri Oct 08 20:03:57 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1633685596.2bc2131: * cards: remove unused function card_autodetect() * pySim-shell: refactor __main__ section ------------------------------------------------------------------- Tue Oct 05 20:03:47 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1633435105.64b2837: * cards: FairwavesSIM: force SIM APDUs during programming ------------------------------------------------------------------- Fri Oct 01 20:04:20 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1633104689.c5501af: * pySim-prog: fix typo * pySim-shell: verify_adm: turn error messages into exceptions * card_handler: make reader (sl) operations optional. ------------------------------------------------------------------- Thu Sep 23 20:03:46 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1632320476.8bf2125: * transport/pcsc: make sure reader is disconnected * transport/init: print exception type if the execption has no string * pySim-prog: rename card_handler option to card_handler_config ------------------------------------------------------------------- Wed Sep 22 20:03:51 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1632319893.a8c9ea9: * pySim-shell: move command desc and verify_adm to PySimCommands ------------------------------------------------------------------- Mon Sep 20 20:03:50 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1632124929.b18eed0: * pySim-prog: rename card_handler to CardHandler * pySim-prog: rename variable card_handler ------------------------------------------------------------------- Tue Aug 31 20:03:48 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1630077292.c3927ec: * update readme detail about cmd2 - make sure people get 1.5 from pip instead of some old debian-pkg ------------------------------------------------------------------- Fri Aug 06 20:09:17 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1628005135.465ad32: * Use README.md as long description in package metadata ------------------------------------------------------------------- Tue Aug 03 20:03:40 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1627795763.2e6dc03: * Allow update_binary function to write more than 255 bytes ------------------------------------------------------------------- Sun Jul 04 20:03:43 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1625041032.bb73e51: * cards: rename class "Card" to "SimCard" * pySim/commands: Add envelope() method for ENVELOPE command ------------------------------------------------------------------- Mon Jun 14 20:03:40 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1623616265.14105dc: * implement more files with TLV + construct * ts_31_102: Fully support USIM EF.AD * ts_31_102: Start using pySim.tlv to implement more DF.5GS files ------------------------------------------------------------------- Sat Jun 12 20:03:40 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1623448046.1a4e9fd: * cmd2: Constrain version to >= 1.3.0 but < 2.0.0 ------------------------------------------------------------------- Sat Jun 05 20:03:41 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1622882837.fb50621: * filesystem: Introduce support for TLV parser * Introduce new object-oriented TLV parser/decoder/encoder * ts_102_221: Add construct for contents of EF.UMPC * construct: Recursive normalization of construct parse result * utils: Make filter_dict() transparently pass non-dict ------------------------------------------------------------------- Mon May 31 20:03:41 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1622395657.f0885b1: * utils: Add bertlv_encode_tag() * utils: Add 'raw' version of TLV tag decoders * utils: COMPREHENSION-TLV support ------------------------------------------------------------------- Wed May 26 20:03:38 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1621974180.485692b: * shell: Fix activate_file + deactivate_file commands * shell: Add 'status' command to issue STATUS APDU * transport: Add support for SW 6Cxx ------------------------------------------------------------------- Tue May 25 20:03:43 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1621928593.e750603: * Introduce unit test for bertlv_parse_one() * bertlv_parse_one: Also return remainder after end of TLV * add unit tests for BER-TLV encoder/decoder functions * contrib: Add sim-rest-{server,client}.py ------------------------------------------------------------------- Sun May 23 20:03:49 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1621773329.0f96c02: * commands: remove superfluous getter/setter for cla_byte property * commands: resolve inconsistency on sel_ctrl * pySim-read: adjust meaning of HPLMN/OPLMN flags in EF_SPN * ts_31_103: finish decoder and fix encoder for EF.PCSCF * utils: split string formatting from dec_addr_tlv * commands: pad short data input in update_record() * commands: check for status word in USIM authenticate command * transport/pcsc: Raise exception if reader number is out of range ------------------------------------------------------------------- Fri May 21 20:05:53 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1621608360.fc5f28d: * cards: populate name property in Card, UsimCard and IsimCard * pySim_prog: remove unused import for dec_addr_tlv ------------------------------------------------------------------- Tue May 18 20:03:43 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1621267725.f658c55: * Update README ------------------------------------------------------------------- Thu May 13 20:03:53 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1620620139.b07a3e9: * Add codecs for EF_SPN and GSM strings via construct ------------------------------------------------------------------- Sat May 08 20:03:39 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1620424350.c957ce8: * ts_51_011: fix encoder of EF_SPN: * ts_102_221: add missing TLV key '9B'/'target_ef' for sysmoUSIM-SJS1 * ModemATCommandLink: improve response time for "+CME ERROR" * ModemATCommandLink: add/adjust some logging ------------------------------------------------------------------- Thu May 06 20:03:41 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1620287489.e5a5ffb: * ModemATCommandLink: return lower case hexstring ------------------------------------------------------------------- Wed May 05 20:03:33 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1620217343.4210a70: * pySim-read: fix wrong comment ------------------------------------------------------------------- Tue May 04 20:03:35 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1620127447.7743c20: * docs/shell.rst: Document verify_adm and tree commands * transport: Mark more methods as abstractmethod * shell: Add 'reset' command to reset the card * BER-TLV EF support (command, filesystem, shell) * ts_31_103: Use EF_ARR decoder from TS 102 221 * Implement EF.ARR (Access Rule Reference) decoding * utils: Introduce CommandSet abstraction * utils: Introduce DataObject representation ------------------------------------------------------------------- Mon May 03 20:03:34 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1620054517.f39a4cb: * utils: specify type of parameter name in enc_spn * ts_51_011, utils: fix Access Technology Identifier coding * utils: fix dec_xplmn_w_act() and format_xplmn_w_act() * utils: fix mcc/mnc encoding in dec_plmn (EF_PLMNsel) * utils: specify paremeters of enc_plmn() as Hexstr * ModemATCommandLink: fix AttributeError exception in __del__() * Speed up AT command interface (~130 times faster) * contrib/jenkins.sh: run pylint to find potential errors * [pylint] Fix referencing undefined variable 'shutil' * [pylint] Declare abstract LinkBase._send_apdu_raw() method as such * [pylint] Fix float vs integer division in cards.py * [pylint] Fix reference to undefined variable 'in_hex' * [pylint] Mark abstract MagicSimBase class as such * [pylint] Fix calling non-existing iteritems() of dict * [pylint] Declare some fields in _MagicSimBase class * [pylint] Mark abstract CardKeyProvider.get() method as such * [pylint] fix non-existing 'res' in EF_CNL._encode_record_hex() * transport/AT: Make sure PDU has upper case hex digits ------------------------------------------------------------------- Fri Apr 30 20:03:49 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1619795092.f9cbe09: * ts_51_011: fix encoding of EF.MSISDN * setup: set minimum required versions for contruct and cmd2 ------------------------------------------------------------------- Sun Apr 25 10:40:31 UTC 2021 - mardnh@gmx.de - Convert to singlespec - Update to version 0.0.0.git1619257384.2788162: * filesystem.py: Introduce place-holder for BER-TLV files * ts_31_102, ts_31_103: Add EF.FromPreferred * ts_31_103: Add Rel 16.6 enhancements (MuDMiDConfigData) * ts_31_103: Use EF_SMS, EF_SMSS, EF_SMSR, EF_SMSP from ts_51_011 * ts_31_102: Define DF_WLAN, DF_ProSe and DF_HNB with their EFs * ts_31_102: Extend DF_5GS to 3GPP 31.102 R16.6 * utils: fix encoding of EF.MSISDN * filsystem.py: Add more information to exceptions * pySim-read: Migrate over to use shared argparse from transport * Move reader related argument parser to transport module ------------------------------------------------------------------- Sat Apr 24 20:03:34 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1619257384.2788162: * filesystem.py: Introduce place-holder for BER-TLV files * ts_31_102, ts_31_103: Add EF.FromPreferred * ts_31_103: Add Rel 16.6 enhancements (MuDMiDConfigData) * ts_31_103: Use EF_SMS, EF_SMSS, EF_SMSR, EF_SMSP from ts_51_011 * ts_31_102: Define DF_WLAN, DF_ProSe and DF_HNB with their EFs * ts_31_102: Extend DF_5GS to 3GPP 31.102 R16.6 * utils: fix encoding of EF.MSISDN ------------------------------------------------------------------- Thu Apr 22 20:03:51 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1619075515.977035c: * filsystem.py: Add more information to exceptions * pySim-read: Migrate over to use shared argparse from transport * Move reader related argument parser to transport module ------------------------------------------------------------------- Wed Apr 21 20:03:57 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1619010832.fe1fb03: * filesystem: fix wrong helpstring for update_record_decoded * filesystem: fix wrong comment * pySim-shell: separate export summary with a headline * pysim-testdata/sysmoISIM-SJA2: change card in test rig ------------------------------------------------------------------- Sun Apr 18 20:04:57 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1618569791.bba2bd4: * setup: add (nested) library pySim.transport ------------------------------------------------------------------- Tue Apr 13 20:03:54 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1618313257.9d16fbc: * Use construct for EF_AD in pySim-{shell, prog, read}.py, cards.py ------------------------------------------------------------------- Mon Apr 12 20:03:56 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1618137325.c8ff026: * pySim-shell: Introduce logical grouping of arguments * pySim-shell: Migrate from optparse to argparse for the main() * contrib/jenkins.sh: Build and publish PDF manual * rename manual to be consistent with osmo-gsm-manuals projects * fix various typos all over the code * lots of file definitions for classic SIM and USIM * ts_31_102.py: switch EF.Keys from imperative to declarative codec * filesystem: Introduce 'construct' support * pySim-shell: Add open_channel + close_channel commands * pySim-shell: Adds support for DEACTIVATE FILE + ACTIVATE FILE * pySim-shell: Authenticate (3g) support * integrate 'construct' python library ------------------------------------------------------------------- Sun Apr 11 20:04:21 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1618133736.d0505bd: * WIP: Add option to set UE operation mode in EF_AD (Administrative Data) * README.md: Mention user manual * README.md: We have switched to gerrit for review * README.md: Update dependencies * setup.py: add missing comma in list of dependencies * pySim-shell: Use poutput_json() whenever applicable * extend JSONEncoder to serialze 'bytes' style objects as hex strings * shell: Add 'apdu_trace' settable parameter for hex-dumping APDUs * transport: Pass arbitrary kwargs to base-class constructor * transport: Make all calls go through base class send_apdu_raw() * shell: add edit_{record,binary}_decoded shell commands * pySim/filesystem: Fix more Python 3.5 compatibility issues * Wavemobile: adjust test expectations about binary EF.AD content ------------------------------------------------------------------- Sat Apr 10 20:03:52 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1618048123.a004079: * pySim/filesystem.py: fix compatibility with Python 3.5 * pySim-shell: tree/export: catch errors during DF selection ------------------------------------------------------------------- Fri Apr 09 20:03:55 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1617983175.13e258d: * pySim-shell: be sure that startup script file exists ------------------------------------------------------------------- Thu Apr 08 20:03:48 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1617896252.1bd664d: * tests: remove .example files for simcard tests * pySim-shell: fix wrong reference to iccid. ------------------------------------------------------------------- Wed Apr 07 20:03:57 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1617813912.850b72a: * shell: New 'read_records' and 'read_records_decoded' commands * pySim-shell: JSONpath support for updating files/records * Use zero padding for EF['ACC'] field * ts_102_221.py: fix fixup_fcp_proprietary_tlv_map() * SysmoISIM-SJA2: Add option to set Service Provider Name (SPN) * utils.py: Add missing dec_plmn function. * pySim/filesystem: Remove left-over debug print statements ------------------------------------------------------------------- Tue Apr 06 20:03:45 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1617736576.9ae33c8: * docs: Documentation for classic pySim-{prog,read} tools * docs/shell.rst: Auto-generate shell command reference * pySim-shell: Add settable parameter on JSON pretty-printing * ts_51_011: Full encoder/decoder for EF.AD * pySim-shell: Add '--oneline' to read_{binary,record}_decoded * Introduce setuptools support * transport: Pass status word interpreter to exception handler * docs: Initial documentation for pySim-shell * shell: Move dir,tree,export from ISO7816 to pySim commands * utils.py: Add more type annotations * Move init_reader() from utils.py to transport/__init__.py * card_key_provider: Documentation with sphinx / autodoc * rename card_data to card_key_provider. * Add type annotations and more documentation to card_data.py ------------------------------------------------------------------- Sun Apr 04 20:03:50 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1617482077.2d4a64b: * filesystem.py: Fix type annotation of read_binary_dec() * cosmetic: fix typo in comment * docs: Update copyright statement * jenkins.sh: Build documentation as part of build verification ------------------------------------------------------------------- Sat Apr 03 20:03:43 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1617397710.86fbd39: * filesystem: Fix interpret_sw() fall-through * 51.011: Define some more files within DF_TELECOM * fix various file definitions * pySim-shell: Remove UsimCommands * Fix various mistakes around the CardADF <-> CardApplication dualism * filesystem: fix various issues found by mypy * filesystem: Avoid GPL header showing up in sphinx autodoc * Use sphinx for generating documentation * Add more documentation to the classes/methods ------------------------------------------------------------------- Fri Apr 02 20:04:02 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1617390099.082d4e0: * ts_31_102: Fix decode_select_response() for DF.5GS * pySim-shell: fix and improve file system exporter * pySim-shell: prevent inconsitancy when walking through the FS tree * pySim-shell: complete CHV/PIN management tools * pySim-shell: be more specific when finding no ADM-PIN * commands: conserve write cycles * pySim-shell: automatic ADM pin from CSV-File * fileystem: fix ADF selection * ts_31_102: do not add empty ShellCommands class. * filesystem: allow selection of arbitrary files * Add decoder/encoder for EF.SUCI_Calc_Info ------------------------------------------------------------------- Thu Apr 01 20:03:41 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1617204784.dd2091a: * ts_102_221: use keywords to avoid conflicts with positional args ------------------------------------------------------------------- Tue Mar 30 20:09:17 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1617098319.228c98e: * pySim-shell: use -a / -A commandline option to authenticate * filesystem: avoid outputting empty lines when there is no data ------------------------------------------------------------------- Sat Mar 27 21:04:32 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1616870259.2558aa6: * pySim-shell: add command to show file description * pySim/filesystem: fix mutable default list/dict arguments * pySim-shell: add filesystem exporter * pySim-shell: output currently selected file using select command * pySim-shell: add option to execute script on startup * pySim-shell: add ADF.ISIM / ADF.USIM dynamically * filesystem: fix typo in method call app()->append() ------------------------------------------------------------------- Tue Mar 23 21:04:43 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1616510722.9c1a4ec: * pysim-shell: select MF on startup to make commands accessible * utils: fix sw_match() * cards: remove unnecessary execptions. * commands: better exception string for authentication failures * filesystem: be more strict in method add_file() ------------------------------------------------------------------- Sat Mar 20 21:04:56 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1616172529.d51d8b5: * filesystem: drop __main__ from filesystem.py ------------------------------------------------------------------- Fri Mar 19 21:04:31 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1616172529.6606158: * filesystem: add comment to inform about checks in add_file() * filesystem: fix exception string (fid != name) * pySim-shell: add functionality to walk through the fs recursively * pySim-shell: add "dir" command. * filesystem: fix flag model used with get_selectable_names() * filesystem: allow dumping multiple records of a file ------------------------------------------------------------------- Fri Mar 12 21:04:25 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1615560344.b0f2433: * Check in requirements.txt to simplify installing dependencies * README.md: add notes about the new 'cmd2' dependency * filesystem: be case insensitive when selecting files by fid (HEX) * utils: add is_hex function to check hex strings * filesystem: add flags to filter selectables * pySim/exceptions.py: fix referencing an instance member * contrib/jenkins.sh: enable automatic execution of unit tests * tests/test_utils.py: update expectations for format_xplmn_w_act() * pySim/utils.py: fix 3-digit MNC encoding in enc_plmn() * Revert "utils.py: Fix for parsing MNC" * pySim/utils_test.py: prepare this to be executed on Jenkins * pySim/utils_test.py: use proper shebang for this executable * Get rid of Python 2 specific compatibility leftovers ------------------------------------------------------------------- Mon Mar 08 21:04:41 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1615150333.5452d64: * ts_51_011: fix bitmask compositing in EF_xPLMNwAcT.enc_act() ------------------------------------------------------------------- Sun Mar 07 21:04:39 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1615145626.79f5b60: * Python 2 is deprecated, remove backwards compatibility chunks * transport/pcsc: work around Python 3.5 bug: guard disconnect() ------------------------------------------------------------------- Sat Mar 06 21:04:16 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1614976758.ab34fa8: * pySim/utils.py: Attempt to support pycryptodpme * fix TypeError in derive_milenage_opc() ------------------------------------------------------------------- Wed Mar 03 21:04:49 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1614757418.b2edd14: * Add a new pySim-shell program * start using python3 bytearray for our b2h/h2b types * commands.py: Introduce a real select_file() method * commands.py: rename select_file() to select_path() * move SW matching to a generic utility function ------------------------------------------------------------------- Tue Mar 02 21:04:29 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1614668773.e79cc80: * introduce SwMatchError exception * utils.py: de-couple sanitize_pin_adm from argparse 'opts' * cards.py: SJS1 + SJA2: Implement + Expose verify_adm() method ------------------------------------------------------------------- Mon Mar 01 21:04:27 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1614616426.6d5e0c9: * Remove Python shebang from files where it's not needed ------------------------------------------------------------------- Fri Feb 26 21:04:43 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1614266828.289fd28: * serial: do not try to close non existing serial connection * serial: don't crash if the device does not exist * utils: catch exceptions during reader initalitation ------------------------------------------------------------------- Thu Feb 11 21:04:32 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1613023370.bdf3d35: * utils.py: Fix for parsing MNC ------------------------------------------------------------------- Wed Feb 03 21:04:31 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1611205983.cebf8b1: * pySim-read.py: Add support for reading USIM+ISIM data from third-party UICC ------------------------------------------------------------------- Wed Jan 20 21:04:20 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1611165881.06a1256: * Readme.md: update debian deps, add python3-yaml ------------------------------------------------------------------- Tue Jan 05 21:04:25 UTC 2021 - mardnh@gmx.de - Update to version 0.0.0.git1609858778.be3b641: * pySim-read.py: Enable reading of UICC IARI from ISIM * sysmoISIM-SJA2: Enable programming of EF.ACC * sysmoISIM-SJA2: Enable programming of EF.MSISDN * sysmoISIM-SJA2: Add support for programming IMS public user identity * sysmoISIM-SJA2: Add support for programming IMS private user identity * pySim-read.py: Enable reading of EF.IMPU from ISIM * pySim-read.py: Enable reading of EF.IMPI from ISIM * Update ISIM IST table as per the 3GPP TS 31.103 specification V15.6.0 * sysmoISIM-SJA2: Add support for programming IPv4 address for PCSCF * sysmoISIM-SJA2: Add support for programming IPv4 address for Home ePDG Identifier * utils.py: Support IPv4 decoding for Address TLV object present in EF.ePDGId and EF.ePDGIdEm * utils.py: Support IPv4 encoding for Address TLV object present in EF.ePDGId and EF.ePDGIdEm * sysmoISIM-SJA2: Fill unused bytes of Home ePDGId with 'f' * sysmoISIM-SJA2: Add support for programming IMS Home Network Domain Name * utils.py: Add helper method to get type of address (FQDN, IPv4, IPv6) * sysmoISIM-SJA2: Disable Service 95, 99, 115 in EF.UST in case ISIM is present * pySim-read.py: Enable reading of Home Network Domain Name from ISIM * sysmoISIM-SJA2: Add support for programming Proxy Call Session Control Function address * pySim-read.py: Enabled reading P-CSCF address from ISIM * ts_31_103.py: Add ADF map for files at ISIM ADF * sysmoISIM-SJA2: Inherit ISIM Card class as SysmoISIMSJA2 UICC contains an ISIM * cards: Define ISIM Card class * Re-purpose helper method to be used for parsing Address TLV Object in general * sysmoISIM-SJA2: Enable Service 106 and 107 after successfully programming EF.ePDGId and EF.ePDGSelection * sysmoISIM-SJA2: Add support for programming EF.ePDGSelection (ePDG Selection Information) * utils.py: Bugfix for parsing non-programmed EFePDGSelection ------------------------------------------------------------------- Fri Dec 18 21:04:07 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1607711071.5e67d5b: * Readme.md: update apt-get invocation for python3 dep. ------------------------------------------------------------------- Wed Oct 28 21:04:08 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1603734925.3b00dbf: * make random seed function python3 compatible ------------------------------------------------------------------- Fri Oct 23 20:04:07 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1603261977.95ec772: * utils.py: Add helper method to encode ePDGSelection info TLV * pySim-read.py: Enable parsing of EF.ePDGSelection in USIM * utils.py: Add helper method to parse ePDG Selection info TLV ------------------------------------------------------------------- Mon Oct 19 20:04:28 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1603098109.5d8cd9b: * Whitespace fixes * Lint fixes: false -> False, missing imports, Index list, not map iter * Remove unnecessary semicolon * Fix invocation python2 -> python3 ------------------------------------------------------------------- Sat Oct 03 20:04:00 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1601710626.4a3580b: * Move reading of USIM service table to generic USIM class * Move reading of ePDG Id to generic USIM class * Move programminig of ePDG Id to generic USIM class ------------------------------------------------------------------- Sun Sep 20 20:04:28 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1600595362.3409ae7: * Remove redundant hexstr_to_fivebytearr() and hexstr_to_threebytearr() functions * Use generic function hexstr_to_Nbytearr to convert hex string to 3/5 Bytes array * utils.py: Add helper method to convert a hex string into array of N bytes string elements * utils.py: Add helper method to encode Service Table * pySim-read.py: decode contents of EF.AD (Administrative data) ------------------------------------------------------------------- Fri Sep 18 20:04:43 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1600281088.a562ea0: * Add new line * Update UST table as per the latest 3GPP TS 31.102 specification * sysmoISIM-SJA2: Add support for programming Home ePDG Identifier ------------------------------------------------------------------- Wed Sep 16 20:04:36 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1600178191.71e3848: * Remove redundant function read_aid() * Use the function select_adf_by_aid for selecting an AID * cards.py: Populate AIDs present in SysmoISIMSJA2 UICC ------------------------------------------------------------------- Tue Sep 15 20:04:17 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1600177358.0f247f8: * sysmo-isim-sja2: fix test expectations ------------------------------------------------------------------- Mon Aug 31 20:04:16 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1598879114.1e42420: * fix 'TabError: inconsistent use of tabs and spaces in indentation' ------------------------------------------------------------------- Fri Aug 28 20:04:07 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1598603575.ca67394: * Add support for ADF_USIM/EF_EHPLMN ------------------------------------------------------------------- Sat Aug 01 08:08:32 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1592913261.3c0bd7a: * utils.py: Add helper method to encode ePDG Identifier ------------------------------------------------------------------- Fri Jun 26 20:04:08 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1592913260.b1634db: * pySim-read.py: Enable parsing of Home ePDG Identifier in USIM * utils.py: Handle parsing of ePDGId TLV with zero length ------------------------------------------------------------------- Sat Jun 13 20:04:18 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1591693828.e61170c: * utils.py add LOCI EFs decode functions ------------------------------------------------------------------- Fri Jun 05 20:04:33 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1591195002.0e9f93f: * commands.py: fix read_binary for lengths > 256 ------------------------------------------------------------------- Wed Jun 03 20:04:03 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1591165837.0dc8f69: * ts_31_102.py: add EF_ADF_map * Implement Generic SIM Access interface as per 3GPP TS 27.007 ------------------------------------------------------------------- Thu May 28 20:04:30 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1590659991.eb06b45: * utils: fix list comprehension in h2s(): ignore upper case padding ------------------------------------------------------------------- Sat May 23 20:03:43 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1590151395.d58c632: * cards: remove empty erase() methods. ------------------------------------------------------------------- Fri May 22 20:04:23 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1590151395.5c2cc66: * cards: add methods to help erasing of file contents * utils: do not crash when all bytes of EF.IMSI are 0xFF ------------------------------------------------------------------- Sun May 17 20:04:11 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1589701099.30eb8ca: * commands: add features to verify data written to files * commands: add method to determine size of a non record oriented file * pysim-prog: move ADM sanitation to utils.py * cards: reset uninitalized EF.AD ------------------------------------------------------------------- Wed May 13 20:04:03 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1589363053.7f1d3c4: * Treat MCC and MNC as strings, not integers ------------------------------------------------------------------- Tue May 12 20:04:28 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1589307098.ff84c23: * pySim-prog, pySim-read, do not echo reader id * cards: remove len calculation * Add option to specify MNC length in non-batch programming scnearios ------------------------------------------------------------------- Mon May 11 20:04:09 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1589187198.d572ede: * utils.py: Add helper method to parse ePDG Identifier from hex string * Introduce function for converting bytes list in (hex or int) to string * Import TLV parsing related function from https://github.com/mitshell/card ------------------------------------------------------------------- Sat May 09 20:04:06 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1589037972.32f0d41: * Fix writing of EF.HPLMNwAcT on sysmoISIM-SJA2 ------------------------------------------------------------------- Wed Apr 29 20:04:05 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1587983340.ee15c77: * Enable parsing of ISIM Service table (IST) * Extend parsing and printing of Service table to ISIM * Define mapping between ISIM Service Number and its description * Enable parsing of USIM Service table (UST) * Remove redundant functions * Use helper method to print available service in EF.SST * utils.py: Add helper method to parse and print Service Table ------------------------------------------------------------------- Mon Apr 27 20:03:58 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1587976909.3e6f16d: * pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 bytes ------------------------------------------------------------------- Sun Apr 19 20:04:10 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1587016515.f9f3e5e: * cards.py: Added method to select ADF by its full AID * Populate AIDs present on the UICC ------------------------------------------------------------------- Fri Apr 17 20:04:06 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1587015508.475dcaa: * Define mapping between USIM Service Number and its description * Add ability to parse SIM Service Table (EF.SST) ------------------------------------------------------------------- Wed Apr 01 20:04:34 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1585732019.441c4a7: * utils.py: Add helper method to parse Service Table * Define mapping between SIM Service Number and its description * Use the generic method read_binary of card class to read AD * Move parsing of MSISDN to generic Card class * Use the generic method read_binary of card class to read ACC * Move parsing of HPLMNAcT to generic Card class * Move parsing of OPLMNwAcT to generic Card class * Move parsing of PLMNwAcT to generic Card class * Use the generic method read_binary of card class to read PLMNsel * pySim-read.py: Use the method declared in cards.py to read SPN * Use the generic method read_record of card class to read SMSP * Use read_binary function of card class to read GID2 and reduce code duplication * cards.py: Add generic function to read EF record in card class * cards.py: Add generic function to read EF binary to card class * Move parsing of GID2 to generic Card class ------------------------------------------------------------------- Sat Mar 28 21:03:52 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1584868625.98a6927: * Move parsing of GID1 to generic Card class * pySim-read.py: Use the method declared in cards.py to read IMSI * pySim-read.py: Use the method declared in cards.py to read ICCID ------------------------------------------------------------------- Fri Mar 27 21:07:55 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1584868623.4c306ab: * pySim-read.py: Added a common card detection function for both pySim-prog.py and pySim-read.py * cards.py: Added parsing of all the AIDs in the UICC ------------------------------------------------------------------- Fri Mar 13 21:03:20 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1584085485.0e90e6c: * pySim-read.py: support for reading GID2 from SIM * pySim-read.py: support for reading GID1 from SIM ------------------------------------------------------------------- Wed Mar 11 21:04:29 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1583926520.d950786: * sysmoISIM-SJA2: Add suport for USIM-only and ISIM-only cards * sysmiISIM-SJA2: add support for new card model / os version ------------------------------------------------------------------- Sun Mar 01 21:03:22 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1582744847.9664b2e: * cards: Python 3 fix: use the floor division operator // * commands: Python 3 fix: properly distinguish str and list * transport/pcsc: explicitly specify T0 protocol * transport/pcsc: cosmetic: reuse the existing code of PcscSimLink * utils: fix dec_msisdn(): properly detect international numbers ------------------------------------------------------------------- Sat Feb 15 21:04:31 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1581793910.99affe1: * Py2 -> Py3: use the floor division operator // where possible * pySim-read.py: do not import json, it is not needed * pySim-prog.py: add support for MSISDN programming * pySim-read.py: fix reading and parsing of EF.MSISDN * Fix MCC and MCC representation in the output of pySim-read * cards/sysmoUSIM-SJS1: support programming of EF.HPLMNwAcT * cards/sysmoUSIM-SJS1: support programming of ACC bits * cards: fix reading of EF.HPLMNwAcT in Card.update_hplmn_act() * cards: cosmetic/indentation fix: use tabs, not spaces * pySim-prog.py: add presence/length checks for user-provided SPN * pySim-read.py: print meaningful message when SPN is not set ------------------------------------------------------------------- Fri Feb 14 21:13:20 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1581695198.a3bb334: * pySim-read.py: fix copy-paste: s/HPLMNAcT/PLMNsel/ * Fix compatibility with Python 3: print() is a function * testdata/sysmoUSIM-SJS1.ok: make it match the actual EF.HPLMNAcT ------------------------------------------------------------------- Fri Jan 31 21:23:33 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1579602726.e51643e: * Fix file permission * Added feature to program SPN into sysmoUSIM-SJS1 SIM cards ------------------------------------------------------------------- Tue Jan 21 21:10:36 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1579600838.f829945: * Added feature to read Service Provider Name (SPN) from the SIM card ------------------------------------------------------------------- Thu Jan 09 21:09:43 UTC 2020 - mardnh@gmx.de - Update to version 0.0.0.git1577811762.0ad5bcf: * cards: Add support for sysmo-isim-sja2 ------------------------------------------------------------------- Tue Dec 31 21:03:54 UTC 2019 - mardnh@gmx.de - Update to version 0.0.0.git1577811762.07cd481: * Fixup: Fix automated tests ------------------------------------------------------------------- Mon Dec 23 21:07:30 UTC 2019 - mardnh@gmx.de - Update to version 0.0.0.git1576845761.cdfdd41: * commands: fix __record_len() ------------------------------------------------------------------- Tue Dec 17 21:05:06 UTC 2019 - mardnh@gmx.de - Update to version 0.0.0.git1576505607.4e72439: * Fix automated tests ------------------------------------------------------------------- Tue Nov 12 21:10:10 UTC 2019 - mardnh@gmx.de - Update to version 0.0.0.git1573562182.76db7d7: * Fairwaves-SIM: Add test data ------------------------------------------------------------------- Mon Nov 11 21:06:51 UTC 2019 - mardnh@gmx.de - Update to version 0.0.0.git1573466599.5a87631: * cards.py: do not use spaces in card names ------------------------------------------------------------------- Mon Oct 07 20:12:33 UTC 2019 - mardnh@gmx.de - Update to version 0.0.0.git1569674731.8902bcd: * python3 conversion: Use python 2 and 3 compatible exceptions ------------------------------------------------------------------- Sat Sep 28 20:07:52 UTC 2019 - mardnh@gmx.de - Update to version 0.0.0.git1568555582.84d2cb3: * python3 conversion: fix tabs and spaces inconsistency ------------------------------------------------------------------- Sat Sep 14 20:02:35 UTC 2019 - mardnh@gmx.de - Update to version 0.0.0.git1568365453.7592eee: * pySim-prog: use functions to derive MCC/MNC from IMSI * cards: use string representation for MNC/MCC * pySim-prog: check if CSV file exists * pySim-prog: use case insensitive CSV headers. * pySim-prog.py: use more expressive error message on CSV read failure ------------------------------------------------------------------- Fri Sep 13 20:02:55 UTC 2019 - mardnh@gmx.de - Update to version 0.0.0.git1568280107.c5b422e: * Add support for automatic card handling * pySim-prog: generate a pin_adm from pin_adm_hex also for CSV files ------------------------------------------------------------------- Wed Sep 04 20:03:27 UTC 2019 - mardnh@gmx.de - Update to version 0.0.0.git1567534308.164b963: * Add an option to read the iccid and batch-program the new card data * pySim-prog: Add option for hex ADM keys * pySim-prog: Use CSV format with headers * pySim-prog: Print out hex-escaped pin_adm in card parameters ------------------------------------------------------------------- Tue Sep 03 20:09:08 UTC 2019 - mardnh@gmx.de - Update to version 0.0.0.git1567428163.9f9c609: * pysim-testdate: Add test data for Wavemobile-sim ------------------------------------------------------------------- Mon Sep 02 20:07:52 UTC 2019 - mardnh@gmx.de - Update to version 0.0.0.git1567027202.23888da: * make writing SMSP optional ------------------------------------------------------------------- Thu Aug 29 20:09:35 UTC 2019 - mardnh@gmx.de - Update to version 0.0.0.git1567027197.67acdbc: * Make programming OPC optional ------------------------------------------------------------------- Fri May 10 20:04:01 UTC 2019 - mardnh@gmx.de - Update to version 0.0.0.git1557501861.35a96ed: * pySim-*.py: print info about selected reader interface * Don't try to parse result if select_file() failed * Use reference array for reading ICCID * utils: add EF [H|O]PLMNwAcT decoding. * import pysim-testdata of automatic testing to this repository ------------------------------------------------------------------- Mon Apr 08 20:04:11 UTC 2019 - mardnh@gmx.de - Update to version 0.0.0.git1554129228.6e507a7: * wavemobile-sim: write mnc-length field ine EF.AD * cosmetic: fix sourecode formatting * sysmo-usim-sjs1: update EF.AD with correct MNC length ------------------------------------------------------------------- Mon Apr 01 20:03:49 UTC 2019 - mardnh@gmx.de - Update to version 0.0.0.git1553187866.2d15ea0: * cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT and EF.OPLMNwAcT ------------------------------------------------------------------- Tue Mar 26 21:03:43 UTC 2019 - mardnh@gmx.de - Update to version 0.0.0.git1553185458.91f26d7: * commands: correct case of a TLV tag (A5 => a5) ------------------------------------------------------------------- Mon Nov 12 21:03:03 UTC 2018 - mardnh@gmx.de - Update to version 0.0.0.git1540755954.9f9f5a6: * pySim-*.py: add command line option for Calypso reader * pySim-*.py: refactor card reader driver initialization * pySim/transport: introduce Calypso based reader interface ------------------------------------------------------------------- Fri Oct 05 20:02:56 UTC 2018 - mardnh@gmx.de - Update to version 0.0.0.git1538738357.4fa8f1c: * pySim-prog: Honor international '+' in SMSC number ------------------------------------------------------------------- Wed Sep 26 20:02:57 UTC 2018 - mardnh@gmx.de - Update to version 0.0.0.git1537978459.0ec1475: * utils: fix encoding/decoding of IMSI value ------------------------------------------------------------------- Thu Sep 20 20:02:49 UTC 2018 - mardnh@gmx.de - Update to version 0.0.0.git1536824606.c555e18: * tests: add example test data for Wavemobile-SIM ------------------------------------------------------------------- Thu Sep 13 20:03:18 UTC 2018 - mardnh@gmx.de - Update to version 0.0.0.git1536823113.c8ce82a: * cards: Add support for Wavemobile SIM ------------------------------------------------------------------- Fri Aug 24 12:16:00 UTC 2018 - mardnh@gmx.de - Update to version 0.0.0.git1535013891.11a2e3c: * tests: add example file for sysmosim-gr1 ------------------------------------------------------------------- Thu Aug 23 20:02:55 UTC 2018 - mardnh@gmx.de - Update to version 0.0.0.git1535013873.a3de5a3: * cards: do not feed ascii as adm for sysmosim-gr1 * cards: autodetect sysmosim-gr1 ------------------------------------------------------------------- Mon Aug 20 20:02:46 UTC 2018 - mardnh@gmx.de - Update to version 0.0.0.git1534794874.52f59ac: * readme: add 'serial' dep, cosmetically rearrange ------------------------------------------------------------------- Wed Jul 25 20:03:07 UTC 2018 - mardnh@gmx.de - Update to version 0.0.0.git1532544778.fb98dd6: * commands: depend on pytlv only when it is actually needed * readme: add info about dependencies ------------------------------------------------------------------- Fri Jul 20 20:02:52 UTC 2018 - mardnh@gmx.de - Update to version 0.0.0.git1532037060.73a0f04: * add .gitreview * contrib: add jenkins.sh ------------------------------------------------------------------- Thu Jul 19 20:02:58 UTC 2018 - mardnh@gmx.de - Update to version 0.0.0.git1531986942.7f34085: * tests: add test program to verify pysim-prog.py (and pysim-read.py) * cards: return SW in method update_plmnsel() of class Card * cosmetic: fix cut and paste error in comment ------------------------------------------------------------------- Fri Jul 13 20:02:54 UTC 2018 - mardnh@gmx.de - Update to version 0.0.0.git1531472240.a265049: * pySim-read: read contents of PLMN related files. * pySim-read: Print exception when reading of EF.MSISDN fails * cosmetic: fix excess space in log output (typo) * cards: add update method for EF:PLMNsel to Card class ------------------------------------------------------------------- Thu Jul 05 20:04:13 UTC 2018 - mardnh@gmx.de - Update to version 0.0.0.git1530705241.ac9dde6: * pysim-prog: add commandline option to probe cards * commands: get file/record length from FCP (USIM) ------------------------------------------------------------------- Tue Jul 03 19:06:22 UTC 2018 - mardnh@gmx.de - Update to version 0.0.0.git1530623824.859e0fd: * __init__: also fetch response bytes for USIMs automatically * csv: fix missing import (broken CSV support) ------------------------------------------------------------------- Mon Jun 18 18:30:29 UTC 2018 - mardnh@gmx.de - Update to version 0.0.0.git1529315036.d4ebb6f: * __init__: allow wildcards in expected SW for send_apdu_checksw() ------------------------------------------------------------------- Wed Jun 13 18:47:16 UTC 2018 - mardnh@gmx.de - Update to version 0.0.0.git1528875053.d982488: * pysim-prog: also allow raw hex adm pins besides numeric ascii * add support for open cells SIM cards ------------------------------------------------------------------- Mon Feb 19 16:29:17 UTC 2018 - mardnh@gmx.de - Update to version 0.0.0.git1518969890.6cbecaa: * transport/serial: Fix serial transport ------------------------------------------------------------------- Sat Feb 17 19:12:58 UTC 2018 - mardnh@gmx.de - Don't use .py suffix for binaries ------------------------------------------------------------------- Sat Feb 10 15:39:58 UTC 2018 - mardnh@gmx.de - Update to version 0.0.0.git1516721155.d9d2b94: * Revert "pySim-prog: ADM code can be longer 8 digits, it's implementation specific." * Make derive_milenage_opc and calculate_luhn publicly available through utils.py * cards: Add Fairwaves SIM implementation. * cards: Implement card type autodetection based on ATR. * pySim-prog: Replace magic numbers with a readable EF file name. * pySim-prog: ADM code can be longer 8 digits, it's implementation specific. * cards: Extend Card class with access functions for some of the standard EF files. * Add methods to get ATR for a card or a link. * utils: Fix documentation. 3+3=6 digits equals 3 bytes, not 6 * utils: Functions to encode/decode EF SPN. * ts_51_011: A file with MF/DF/EF constants from TS 51 011 * Fix comment: Ki -> OPC * utils.py: dec_imsi: Fix ValueError * pySim-prog.py: Fix trailing whitespace * pySim-*.py: Set shebang to use python v2 * Support writing SMSP for sysmoUSIM-SJS1 * fix writing of ICCID for sysmo-usim-sjs1 * Fix select control parameter * cosmetic: missing newlines on last line of 2 files * README.md: Cosmetic/Formatting fixes * Update README with general project information and convert to Markdown * Revert "Do not return the FCI information while selecting a file" * re-program: Instead of specifying the IMSI, read it from the card. - Specfile cleanup ------------------------------------------------------------------- Sun Jul 31 18:37:09 UTC 2016 - mardnh@gmx.de - Update to version 0.0.0.git1440070376.8c1b33c: * Do not return the FCI information while selecting a file ------------------------------------------------------------------- Mon Sep 21 09:17:58 UTC 2015 - mardnh@gmx.de - Update to version 0.0.0.git1440070376.3e84067: + split parameter writing for CSV and SQL into separate functions + pySim-prog: Add mode where it can re-generate a card from CSV + read_params_csv: Make sure we don't end up in endless loop + Introduce a '--dry-run' option to skip actual card access + Allow changing the class byte for pdu messages + Add PIN-ADM argument to the command line + Add provision support for sysmoUSIM-SJS1 cards ------------------------------------------------------------------- Sun Dec 7 16:24:08 UTC 2014 - mardnh@gmx.de - specfile cleanup ------------------------------------------------------------------- Sun Dec 07 16:22:55 UTC 2014 - mardnh@gmx.de - Update to version 0.0.0.git1387815776.2fc205c: + usim/opc: Add support to write completely random OPC + usim/opc: Derive OPC from KI and OP + cards: Fix comment position + cards: Fix spacing according to PEP + Implement setting of EF.ACC file in GrcardSim and _MagicSimBase + utils: Add functions to decode IMSI and ICCID from EF raw data. + Add an utility to read data from a SIM card. + Move encoder functions for ICCID, IMSI and PLMN to pySim.utils for consistency. + pySim-read: MISDN is not mandatory + cards: sysmocom SysmoSIM-GR2 support added to cards ------------------------------------------------------------------- Sat Nov 15 19:25:13 UTC 2014 - mardnh@gmx.de - run spec-cleaner - add python-pyscard to recommends ------------------------------------------------------------------- Sun Oct 6 12:50:43 UTC 2013 - mardnh@gmx.de - initial package
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor