Projects
osmocom:latest
libosmocore
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 9
View file
libosmocore.spec
Changed
@@ -14,13 +14,13 @@ Name: libosmocore Requires: osmocom-latest -Version: 1.9.2 +Version: 1.9.3 Release: 0 Summary: The Open Source Mobile Communications Core Library License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND AGPL-3.0-or-later Group: Productivity/Telephony/Utilities Url: https://osmocom.org/projects/libosmocore/wiki/Libosmocore -Source: libosmocore_1.9.2.tar.xz +Source: libosmocore_1.9.3.tar.xz Source1: rpmlintrc BuildRequires: automake >= 1.6 BuildRequires: libtool >= 2
View file
libosmocore_1.9.2.dsc -> libosmocore_1.9.3.dsc
Changed
@@ -2,7 +2,7 @@ Source: libosmocore Binary: libosmocore, libosmocodec4, libosmocodec-doc, libosmocoding0, libosmocoding-doc, libosmocore21, libosmocore-doc, libosmogb14, libosmogb-doc, libosmogsm20, libosmogsm-doc, libosmoisdn0, libosmoisdn-doc, libosmovty13, libosmovty-doc, libosmoctrl0, libosmoctrl-doc, libosmosim2, libosmosim-doc, libosmousb0, libosmousb-doc, libosmocore-dev, libosmocore-utils, libosmocore-dbg Architecture: any all -Version: 1.9.2 +Version: 1.9.3 Maintainer: Osmocom team <openbsc@lists.osmocom.org> Homepage: https://projects.osmocom.org/projects/libosmocore Standards-Version: 3.9.8 @@ -35,8 +35,8 @@ libosmovty-doc deb doc optional arch=all libosmovty13 deb libs optional arch=any Checksums-Sha1: - 9ad79b0b804c92bae5d413af88d7a3cd81200af0 1072360 libosmocore_1.9.2.tar.xz + d9c48e5684c36098d91628898c348067132190fd 1073048 libosmocore_1.9.3.tar.xz Checksums-Sha256: - e35fcf89200b1779ba4b1891dd4eda2684e98e9fbd0251e218cf1616e540e0e3 1072360 libosmocore_1.9.2.tar.xz + a646354ac9737d7a22f4ba1e292f055d770f9c0d5a2bde42fc952bf0ee9bb1d1 1073048 libosmocore_1.9.3.tar.xz Files: - d5e1fa80130e6fc67a085533e010d6f1 1072360 libosmocore_1.9.2.tar.xz + 592d76e96f759a1707d2f611725963df 1073048 libosmocore_1.9.3.tar.xz
View file
libosmocore_1.9.2.tar.xz/.tarball-version -> libosmocore_1.9.3.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -1.9.2 +1.9.3
View file
libosmocore_1.9.2.tar.xz/debian/changelog -> libosmocore_1.9.3.tar.xz/debian/changelog
Changed
@@ -1,3 +1,10 @@ +libosmocore (1.9.3) unstable; urgency=medium + + * libosmosim: class_tables: Resolve conflicting CLA=8x INS=F2 definitions + * libosmosim: class_tables: Fix GlobalPlatform CLA=8x INS=CA/CB GET DATA + + -- Harald Welte <laforge@osmocom.org> Thu, 06 Jun 2024 19:40:40 +0200 + libosmocore (1.9.2) unstable; urgency=medium Pau Espin Pedrol
View file
libosmocore_1.9.2.tar.xz/src/sim/Makefile.am -> libosmocore_1.9.3.tar.xz/src/sim/Makefile.am
Changed
@@ -1,7 +1,7 @@ # This is _NOT_ the library release version, it's an API version. # Please read chapter "Library interface versions" of the libtool documentation # before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html -LIBVERSION=3:2:1 +LIBVERSION=3:3:1 AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir) AM_CFLAGS = -fPIC -Wall $(TALLOC_CFLAGS)
View file
libosmocore_1.9.2.tar.xz/src/sim/class_tables.c -> libosmocore_1.9.3.tar.xz/src/sim/class_tables.c
Changed
@@ -178,6 +178,7 @@ { uint8_t ins = hdr1; uint8_t p1 = hdr2; + uint8_t p3 = hdr4; switch (ins) { case 0xE2: /* STORE DATA */ @@ -187,6 +188,26 @@ default: return 3; } + break; + case 0xF2: + /* in their infinite wisdom, GlobalPlatform re-defined the CLA 8x / INS F2 command, so one can + * take a guess if it's GlobalPlatform or ETSI. Lucikly, the P1 coding of ETSI so far + * states all the four upper bits must be 0, while GP always has one of those bits set */ + if (p1 & 0xF0) + return 4; /* GlobalPlatform v2.2 11.4.2 */ + else + return 2; /* ETSI TS 102 221 V16.2.0 11.1.2 */ + break; + case 0xCA: + case 0xCB: + /* in their infinite wisdom, GlobalPlatform made GET DATA a command that can be either APDU + * case 2 or case 4. As the specify Le must be 0x00, we can conclude that P3 == 0x00 must be + * Le, while P3 != 0x00 must be Lc and hence case 4 */ + if (p3 == 0x00) + return 2; + else + return 4; + break; } return 0; } @@ -215,9 +236,9 @@ static const uint8_t gp_ins_tbl_8ce256 = { 0xE4 = 4, /* DELETE */ 0xE2 = 0x80, /* STORE DATA */ - 0xCA = 4, /* GET DATA */ - 0xCB = 4, /* GET DATA */ - 0xF2 = 4, /* GET STATUS */ + 0xCA = 0x80, /* GET DATA */ + 0xCB = 0x80, /* GET DATA */ + 0xF2 = 0x80, /* GET STATUS */ 0xE6 = 4, /* INSTALL */ 0xE8 = 4, /* LOAD */ 0xD8 = 4, /* PUT KEY */ @@ -245,6 +266,12 @@ .helper = uicc046_cla_ins_helper, .ins_tbl = uicc_ins_tbl_046, }, { + /* must be before uicc_ins_tbl_8ce below with same CLA+mask */ + .cla = 0x80, + .cla_mask = 0xF0, + .helper = gp_cla_ins_helper, + .ins_tbl = gp_ins_tbl_8ce, + }, { .cla = 0x80, .cla_mask = 0xF0, .ins_tbl = uicc_ins_tbl_8ce, @@ -257,11 +284,6 @@ .cla_mask = 0xF0, .ins_tbl = uicc_ins_tbl_8ce, }, { - .cla = 0x80, - .cla_mask = 0xF0, - .helper = gp_cla_ins_helper, - .ins_tbl = gp_ins_tbl_8ce, - }, { .cla = 0xC0, .cla_mask = 0xF0, .helper = gp_cla_ins_helper, @@ -307,6 +329,12 @@ .helper = uicc046_cla_ins_helper, .ins_tbl = uicc_ins_tbl_046, }, { + /* must be before uicc_ins_tbl_8ce below with same CLA+mask */ + .cla = 0x80, + .cla_mask = 0xF0, + .helper = gp_cla_ins_helper, + .ins_tbl = gp_ins_tbl_8ce, + }, { .cla = 0x80, .cla_mask = 0xF0, .ins_tbl = uicc_ins_tbl_8ce,
View file
libosmocore_1.9.2.tar.xz/tests/sim/sim_test.c -> libosmocore_1.9.3.tar.xz/tests/sim/sim_test.c
Changed
@@ -27,6 +27,10 @@ const uint8_t uicc_tprof_wrong_class = { 0x00, 0x10, 0x00, 0x00, 0x02, 0x01, 0x02 }; const uint8_t uicc_read = { 0x00, 0xB0, 0x00, 0x00, 0x10 }; const uint8_t uicc_upd = { 0x00, 0xD6, 0x00, 0x00, 0x02, 0x01, 0x02 }; +const uint8_t uicc_get_status = { 0x80, 0xf2, 0x00, 0x02, 0x10 }; +const uint8_t euicc_m2m_get_status = { 0x81, 0xf2, 0x40, 0x02, 0x02, 0x4f, 0x00 }; +const uint8_t gp_get_data2 = { 0x81, 0xCA, 0x00, 0x5A, 0x00 }; +const uint8_t gp_get_data4 = { 0x81, 0xCA, 0x00, 0x5A, 0x12 }; #define APDU_CASE_ASSERT(x, y) \ do { \ @@ -45,6 +49,10 @@ APDU_CASE_ASSERT(uicc_tprof_wrong_class, 0); APDU_CASE_ASSERT(uicc_read, 2); APDU_CASE_ASSERT(uicc_upd, 3); + APDU_CASE_ASSERT(uicc_get_status, 2); + APDU_CASE_ASSERT(euicc_m2m_get_status, 4); + APDU_CASE_ASSERT(gp_get_data2, 2); + APDU_CASE_ASSERT(gp_get_data4, 4); } int main(int argc, char **argv)
View file
libosmocore_1.9.2.tar.xz/tests/sim/sim_test.ok -> libosmocore_1.9.3.tar.xz/tests/sim/sim_test.ok
Changed
@@ -4,3 +4,7 @@ Testing uicc_tprof_wrong_class Testing uicc_read Testing uicc_upd +Testing uicc_get_status +Testing euicc_m2m_get_status +Testing gp_get_data2 +Testing gp_get_data4
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.