Projects
osmocom:master
osmo-hlr
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 24
View file
osmo-hlr.spec
Changed
@@ -15,13 +15,13 @@ Name: osmo-hlr Requires: osmocom-master -Version: 1.6.0.16.f8b7 +Version: 1.6.0.17.5800 Release: 0 Summary: Osmocom Home Location Register for GSUP protocol towards OsmoSGSN and OsmoCSCN License: AGPL-3.0-or-later AND GPL-2.0-or-later Group: Productivity/Telephony/Servers URL: https://osmocom.org/projects/osmo-hlr -Source: osmo-hlr_1.6.0.16.f8b7.tar.xz +Source: osmo-hlr_1.6.0.17.5800.tar.xz Source1: rpmlintrc BuildRequires: autoconf BuildRequires: automake
View file
commit_5800f3add5d158be31017233ba286f3ca148f743.txt
Added
View file
commit_f8b73f06827b00cc9b49a0edc5e550e22ffce474.txt
Deleted
View file
osmo-hlr_1.6.0.16.f8b7.dsc -> osmo-hlr_1.6.0.17.5800.dsc
Changed
@@ -2,7 +2,7 @@ Source: osmo-hlr Binary: osmo-hlr, osmo-hlr-dbg, libosmo-gsup-client0, libosmo-gsup-client-dev, libosmo-mslookup1, libosmo-mslookup-dev, osmo-mslookup-utils, osmo-hlr-doc Architecture: any all -Version: 1.6.0.16.f8b7 +Version: 1.6.0.17.5800 Maintainer: Osmocom team <openbsc@lists.osmocom.org> Homepage: https://projects.osmocom.org/projects/osmo-hlr Standards-Version: 3.9.6 @@ -19,8 +19,8 @@ osmo-hlr-doc deb doc optional arch=all osmo-mslookup-utils deb utils optional arch=any Checksums-Sha1: - c6d5f63c5bd6dbb8845348f83574c1ab12ace15d 172332 osmo-hlr_1.6.0.16.f8b7.tar.xz + 124e23527a1697b718710c9bd939be0017c2b180 172652 osmo-hlr_1.6.0.17.5800.tar.xz Checksums-Sha256: - 81122cb3aab115e661e9a0e631164ea4db1659c174314aa16497d61b78d82ef9 172332 osmo-hlr_1.6.0.16.f8b7.tar.xz + b9ae2aa488f5673589c87471be7fb5acd62b4bfbde35079bc6bd8105fec5e4ec 172652 osmo-hlr_1.6.0.17.5800.tar.xz Files: - 8544a9250b8bd7912ef0c253e7969f33 172332 osmo-hlr_1.6.0.16.f8b7.tar.xz + 9aa2ed0a016610ddc2cd0ab0e1b44555 172652 osmo-hlr_1.6.0.17.5800.tar.xz
View file
osmo-hlr_1.6.0.16.f8b7.tar.xz/.tarball-version -> osmo-hlr_1.6.0.17.5800.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -1.6.0.16-f8b7 +1.6.0.17-5800
View file
osmo-hlr_1.6.0.16.f8b7.tar.xz/debian/changelog -> osmo-hlr_1.6.0.17.5800.tar.xz/debian/changelog
Changed
@@ -1,8 +1,8 @@ -osmo-hlr (1.6.0.16.f8b7) unstable; urgency=medium +osmo-hlr (1.6.0.17.5800) unstable; urgency=medium * Automatically generated changelog entry for building the Osmocom master feed - -- Osmocom OBS scripts <info@osmocom.org> Wed, 05 Jul 2023 11:36:54 +0000 + -- Osmocom OBS scripts <info@osmocom.org> Fri, 21 Jul 2023 12:56:28 +0000 osmo-hlr (1.6.0) unstable; urgency=medium
View file
osmo-hlr_1.6.0.16.f8b7.tar.xz/src/hlr_ussd.c -> osmo-hlr_1.6.0.17.5800.tar.xz/src/hlr_ussd.c
Changed
@@ -122,9 +122,40 @@ talloc_free(rt); } -static struct hlr_ussd_route *ussd_route_lookup_7bit(struct hlr *hlr, const char *ussd_code) +static struct hlr_ussd_route *ussd_route_lookup_for_req(struct hlr *hlr, const struct ss_request *req) { + const uint8_t cgroup = req->ussd_data_dcs >> 4; + const uint8_t lang = req->ussd_data_dcs & 0x0f; + char ussd_codeGSM0480_USSD_7BIT_STRING_LEN; struct hlr_ussd_route *rt; + + ussd_code0 = '\0'; + + /* We support only the Coding Group 0 (GSM 7-bit default alphabeet). In fact, + * the USSD request is usually limited to *#0-9, so we don't really need to + * support other coding groups and languages. */ + switch (cgroup) { + case 0: + /* The Language is usually set to '1111'B (unspecified), but some UEs + * are known to indicate '0000'B (German). */ + if (lang != 0x0f) { + LOGP(DSS, LOGL_NOTICE, "USSD DataCodingScheme (0x%02x): " + "the Language is usually set to 15 (unspecified), " + "but the request indicates %u - ignoring this\n", + req->ussd_data_dcs, lang); + /* do not abort, attempt to decode as if it was '1111'B */ + } + + gsm_7bit_decode_n_ussd(&ussd_code0, sizeof(ussd_code), + req->ussd_data, (req->ussd_data_len * 8) / 7); + break; + default: + LOGP(DSS, LOGL_ERROR, "USSD DataCodingScheme (0x%02x): " + "Coding Group %u is not supported, expecting Coding Group 0\n", + req->ussd_data_dcs, cgroup); + return NULL; + } + llist_for_each_entry(rt, &hlr->ussd_routes, list) { if (!strncmp(ussd_code, rt->prefix, strlen(rt->prefix))) { LOGP(DSS, LOGL_DEBUG, "Found %s '%s' (prefix '%s') for USSD " @@ -603,7 +634,7 @@ } else { /* VLR->EUSE: MO USSD. VLR is known ('conn'), EUSE is to be resolved */ struct hlr_ussd_route *rt; - rt = ussd_route_lookup_7bit(hlr, (const char *) req.ussd_text); + rt = ussd_route_lookup_for_req(hlr, &req); if (rt) { if (rt->is_external) { ss->is_external = true;
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
.