This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "An utility library for Open Source Mobile Communications".
The branch, master has been updated
via 721aa6ded9c736e3cc5b20824dd58b1af4f4a907 (commit)
via 6c7b3e21d63b6f26de6dc53d7cb2bf92c42b9ce7 (commit)
via 4566f4e79d48ccff881035b89f393ad8737e9b25 (commit)
via dbb25132d737ca7d483f1195057c851836e9afdd (commit)
via c4fce1425e19d604c199c895e227dc2519110456 (commit)
from 8fd85578bc7174155e1bb9e98a0d7cdbf85749af (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cgit.osmocom.org/libosmocore/commit/?id=721aa6ded9c736e3cc5b20824dd5…
commit 721aa6ded9c736e3cc5b20824dd58b1af4f4a907
Author: Neels Hofmeyr <neels(a)hofmeyr.de>
Date: Tue Feb 20 21:38:00 2018 +0100
gsm: add osmo_mnc_from_str(), osmo_mnc_cmp(), osmo_plmn_cmp() for 3-digit MNC
osmo_mnc_from_str() preserves leading zeros in the string and is useful for
VTY config parsing (osmo-bsc, osmo-msc, osmo-sgsn, osmo-pcu).
osmo_{plmn,mnc}_cmp() takes care of the slight intricacy of ignoring the 3-digit flag
if the MNC is anyway >99. Will be used by osmo-sgsn.git and osmo-bsc.git. (All
current users just care about identical MNC, but a proper cmp doesn't hurt.)
Change-Id: Ib7176b1d65a03b76f41f94bc9d3293a8a07d24c6
http://cgit.osmocom.org/libosmocore/commit/?id=6c7b3e21d63b6f26de6dc53d7cb2…
commit 6c7b3e21d63b6f26de6dc53d7cb2bf92c42b9ce7
Author: Neels Hofmeyr <neels(a)hofmeyr.de>
Date: Tue Feb 20 22:20:42 2018 +0100
gsm0408_test: add test cases for MNC with leading zeros
Change-Id: I9b387e09293a6bbef84b9620ccf21ee2f9ec751c
http://cgit.osmocom.org/libosmocore/commit/?id=4566f4e79d48ccff881035b89f39…
commit 4566f4e79d48ccff881035b89f393ad8737e9b25
Author: Neels Hofmeyr <neels(a)hofmeyr.de>
Date: Tue Feb 20 22:19:56 2018 +0100
gsm0408_test: test new gsm48_{decode,generate}_lai2() functions
Change-Id: I4c8492b8055803d2857f1ef30aede088778b085b
http://cgit.osmocom.org/libosmocore/commit/?id=dbb25132d737ca7d483f1195057c…
commit dbb25132d737ca7d483f1195057c851836e9afdd
Author: Neels Hofmeyr <neels(a)hofmeyr.de>
Date: Tue Feb 20 15:12:23 2018 +0100
gsm0408_test: check for new mnc_3_digits flag
Note that on the input side, the 3-digits flag may be left false when the MNC
is >99 anyway. On the decoded side, the flag is set accurately.
Change-Id: I89765613d8c5bd939a6957f7443ac88475f1b93c
http://cgit.osmocom.org/libosmocore/commit/?id=c4fce1425e19d604c199c895e227…
commit c4fce1425e19d604c199c895e227dc2519110456
Author: Neels Hofmeyr <neels(a)hofmeyr.de>
Date: Tue Feb 20 13:47:08 2018 +0100
implement support for 3-digit MNC with leading zeros
Enable representing three-digit MNC with leading zeros. The MNCs 23 and 023 are
actually different; so far we treated both as 23. Re-encode an incoming BCD or
string of 023 as it were, i.e. not dropping the leading zero as 23.
Break ABI compatibility by changing the size and ordering of structs
gprs_ra_id, osmo_plmn_id, osmo_cell_global_id, ... by adding an mnc_3_digits
flag.
Change ordering in gprs_ra_id because the canonical oder is {Mobile Country
Code, Mobile Network Code}, so have the mcc member first.
ABI compatibility cannot be maintained for struct gprs_ra_id, since it is a
direct member of structs bssgp_bvc_ctx and bssgp_paging_info, and even just
adding a flag to the end would cause ABI changes of those structs. Similarly,
osmo_plmn_id is a direct member of osmo_location_area_id, and so forth.
Add new API to set and read this additional flag to preserve leading zeros:
- osmo_plmn_to_bcd(), osmo_plmn_from_bcd() after
gsm48_mcc_mnc_to_bcd() and gsm48_mcc_mnc_from_bcd().
- gsm48_decode_lai2(), gsm48_generate_lai2() after
gsm48_decode_lai(), gsm48_generate_lai().
- gsm0808_create_layer3_2() after gsm0808_create_layer3() and
gsm0808_create_layer3_aoip().
- various osmo_*_name() functions in gsm23003.h (osmo_rai_name() still in
gsm48.h close to struct gprs_ra_id definition). The amount and duplication of
these may seem a bit overboard, but IMO they do make sense in this way.
Though most code will soon see patches unifying the data structures used, in
some cases (vty, ctrl) they are required singled out. Without these
functions, the formatting ("%0*u", mnc_3_digits ? 3 : 2, mnc) would be
duplicated all over our diverse repositories.
In various log output, include the leading MNC zeros.
Mark one TODO in card_fs_sim.c, I am not sure how to communicate a leading zero
to/from a SIM card FS. The focus here is on the core network / BSS.
To indicate ABI incompatibility, bump libosmogsm and libosmogb LIBVERSIONs;
adjust debian files accordingly.
Implementation choices:
- The default behavior upon zero-initialization will be the mnc_3_digits flag
set to false, which yields exactly the previous behavior.
- I decided against packing the mnc with the mnc_3_digits field into a
sub-struct because it would immediately break all builds of dependent
projects: it would require immediate merging of numerous patches in other
repositories, and it would make compiling older code against a newer
libosmocore unneccessarily hard.
Change-Id: Id2240f7f518494c9df6c8bda52c0d5092f90f221
-----------------------------------------------------------------------
Summary of changes:
debian/control | 12 +-
debian/{libosmogb5.install => libosmogb6.install} | 0
.../{libosmogsm8.install => libosmogsm9.install} | 0
include/osmocom/gsm/gsm0808.h | 4 +
include/osmocom/gsm/gsm23003.h | 15 ++
include/osmocom/gsm/gsm48.h | 10 +-
src/gb/Makefile.am | 2 +-
src/gb/gprs_bssgp.c | 5 +-
src/gb/gprs_bssgp_vty.c | 8 +-
src/gsm/Makefile.am | 2 +-
src/gsm/gsm0808.c | 32 +++-
src/gsm/gsm23003.c | 206 +++++++++++++++++++++
src/gsm/gsm48.c | 126 +++++++------
src/gsm/libosmogsm.map | 14 ++
src/sim/card_fs_sim.c | 1 +
tests/gsm0408/gsm0408_test.c | 97 +++++++++-
tests/gsm0408/gsm0408_test.ok | 111 ++++++++++-
tests/gsm23003/gsm23003_test.c | 55 ++++++
tests/gsm23003/gsm23003_test.ok | 17 ++
19 files changed, 638 insertions(+), 79 deletions(-)
rename debian/{libosmogb5.install => libosmogb6.install} (100%)
rename debian/{libosmogsm8.install => libosmogsm9.install} (100%)
hooks/post-receive
--
An utility library for Open Source Mobile Communications