Projects
osmocom:master
libosmo-sigtran
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 2
View file
commit_0285323c2bbe8efdcc7215179f890ac727ca7cac.txt
Added
View file
commit_3d8f3b5a1c15b487d0851356ca1cea2455c066c9.txt
Deleted
View file
libosmo-sigtran_2.0.0.dsc -> libosmo-sigtran_2.0.0.2.0285.dsc
Changed
@@ -2,7 +2,7 @@ Source: libosmo-sigtran Binary: libosmo-sigtran10, libosmo-sigtran-dbg, libosmo-sigtran-doc, libosmo-sigtran-dev, osmo-stp, osmo-stp-dbg, osmo-stp-doc Architecture: any all -Version: 2.0.0 +Version: 2.0.0.2.0285 Maintainer: Osmocom team <openbsc@lists.osmocom.org> Homepage: https://projects.osmocom.org/projects/libosmo-sccp Standards-Version: 3.9.7 @@ -18,8 +18,8 @@ osmo-stp-dbg deb debug optional arch=any osmo-stp-doc deb doc optional arch=all Checksums-Sha1: - 37cc27ad536878a8df43462d08c83a9ac41ae039 225040 libosmo-sigtran_2.0.0.tar.xz + d69fbe2f0d42ca308f88ed5309a886a8f5d271c2 225460 libosmo-sigtran_2.0.0.2.0285.tar.xz Checksums-Sha256: - 2f4fade77dd0479311c5b0e5fb13adf2e96d3ee00dce0f23e59465eb93b42084 225040 libosmo-sigtran_2.0.0.tar.xz + 4236a7f8458bc52a2e07eeba8ed8320e3a0b6694b455739fd4629dea9932fa4f 225460 libosmo-sigtran_2.0.0.2.0285.tar.xz Files: - 1cb854fc306f1eda0e28baee1358b207 225040 libosmo-sigtran_2.0.0.tar.xz + c46f68ed7c15a5d7ad455c830c58dbe1 225460 libosmo-sigtran_2.0.0.2.0285.tar.xz
View file
libosmo-sigtran_2.0.0.tar.xz/.tarball-version -> libosmo-sigtran_2.0.0.2.0285.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -2.0.0 +2.0.0.2-0285
View file
libosmo-sigtran_2.0.0.tar.xz/debian/changelog -> libosmo-sigtran_2.0.0.2.0285.tar.xz/debian/changelog
Changed
@@ -1,3 +1,9 @@ +libosmo-sigtran (2.0.0.2.0285) unstable; urgency=medium + + * Automatically generated changelog entry for building the Osmocom master feed + + -- Osmocom OBS scripts <info@osmocom.org> Mon, 16 Sep 2024 14:47:58 +0000 + libosmo-sigtran (2.0.0) unstable; urgency=medium Pau Espin Pedrol
View file
libosmo-sigtran_2.0.0.tar.xz/src/m3ua.c -> libosmo-sigtran_2.0.0.2.0285.tar.xz/src/m3ua.c
Changed
@@ -350,6 +350,11 @@ { struct xua_msg *xua = xua_msg_alloc(); + if (!xua) { + LOGP(DLM3UA, LOGL_NOTICE, "Failed to allocate M3UA MGMT error message.\n"); + return NULL; + } + xua->hdr = XUA_HDR(M3UA_MSGC_MGMT, M3UA_MGMT_ERR); xua->hdr.version = M3UA_VERSION; xua_msg_add_u32(xua, M3UA_IEI_ERR_CODE, err_code); @@ -359,15 +364,31 @@ static struct xua_msg *m3ua_gen_error_msg(uint32_t err_code, struct msgb *msg) { - struct xua_msg *xua = m3ua_gen_error(err_code); - unsigned int len_max_40 = msgb_length(msg); + struct xua_msg *err = m3ua_gen_error(err_code); + struct xua_msg *xua; + struct xua_msg_part *na_ie; + unsigned int len_max_40; + + if (!err) + return NULL; - if (len_max_40 > 40) - len_max_40 = 40; + switch (err_code) { + case M3UA_ERR_INVAL_NET_APPEAR: + /* Include NA IE in Error message. */ + xua = xua_from_msg(M3UA_VERSION, msgb_length(msg), msgb_data(msg)); + na_ie = xua_msg_find_tag(xua, M3UA_IEI_NET_APPEAR); + xua_msg_add_data(err, M3UA_IEI_NET_APPEAR, na_ie->len, na_ie->dat); + xua_msg_free(xua); + break; + default: + len_max_40 = msgb_length(msg); + if (len_max_40 > 40) + len_max_40 = 40; - xua_msg_add_data(xua, M3UA_IEI_DIAG_INFO, len_max_40, msgb_data(msg)); + xua_msg_add_data(err, M3UA_IEI_DIAG_INFO, len_max_40, msgb_data(msg)); + } - return xua; + return err; } /*********************************************************************** @@ -534,6 +555,7 @@ static int m3ua_rx_xfer(struct osmo_ss7_asp *asp, struct xua_msg *xua) { + struct xua_msg_part *na_ie = xua_msg_find_tag(xua, M3UA_IEI_NET_APPEAR); struct xua_msg_part *rctx_ie = xua_msg_find_tag(xua, M3UA_IEI_ROUTE_CTX); struct m3ua_data_hdr *dh; struct osmo_ss7_as *as; @@ -549,6 +571,18 @@ return M3UA_ERR_UNSUPP_MSG_TYPE; } + /* Reject unsupported Network Appearance IE. */ + if (na_ie) { + uint32_t na = xua_msg_part_get_u32(na_ie); + + LOGPASP(asp, DLM3UA, LOGL_NOTICE, + "Unsupported 'Network Appearance' IE '0x%08x' in message type '%s', sending 'Error'.\n", + na, get_value_string(m3ua_xfer_msgt_names, xua->hdr.msg_type)); + if (na_ie->len != 4) + return M3UA_ERR_PARAM_FIELD_ERR; + return M3UA_ERR_INVAL_NET_APPEAR; + } + rc = xua_find_as_for_asp(&as, asp, rctx_ie); if (rc) return rc; @@ -978,6 +1012,8 @@ static int m3ua_rx_snm(struct osmo_ss7_asp *asp, struct xua_msg *xua) { + struct xua_msg_part *na_ie = xua_msg_find_tag(xua, M3UA_IEI_NET_APPEAR); + /* SNM only permitted in ACTIVE state */ if (asp->fi->state != XUA_ASP_S_ACTIVE) { if (asp->fi->state == XUA_ASP_S_INACTIVE && @@ -991,6 +1027,18 @@ } } + /* Reject unsupported Network Appearance IE. */ + if (na_ie) { + uint32_t na = xua_msg_part_get_u32(na_ie); + + LOGPASP(asp, DLM3UA, LOGL_NOTICE, + "Unsupported 'Network Appearance' IE '0x%08x' in message type '%s', sending 'Error'.\n", + na, get_value_string(m3ua_xfer_msgt_names, xua->hdr.msg_type)); + if (na_ie->len != 4) + return M3UA_ERR_PARAM_FIELD_ERR; + return M3UA_ERR_INVAL_NET_APPEAR; + } + switch (asp->cfg.role) { case OSMO_SS7_ASP_ROLE_SG: return m3ua_rx_snm_sg(asp, xua);
View file
libosmo-sigtran_2.0.0.tar.xz/src/sua.c -> libosmo-sigtran_2.0.0.2.0285.tar.xz/src/sua.c
Changed
@@ -436,6 +436,10 @@ par = (struct xua_parameter_hdr *) ¶m->datpos; par_tag = ntohs(par->tag); par_len = ntohs(par->len); + + /* sanity: check par->len received on the wire, make sure the subtraction does not wrap past zero. */ + if (par_len < sizeof(*par)) + goto subpar_fail; par_datalen = par_len - sizeof(*par); LOGP(DLSUA, LOGL_DEBUG, "SUA IEI 0x%04x pos %hu/%hu: subpart tag 0x%04x, len %hu\n",
View file
libosmo-sigtran_2.0.0.tar.xz/src/xua_rkm.c -> libosmo-sigtran_2.0.0.2.0285.tar.xz/src/xua_rkm.c
Changed
@@ -176,11 +176,15 @@ /* We don't support routing keys with the following criteria, so * we have to reject those */ - /* TODO: network appearance (optional) */ + /* Network Appearance (optional) */ + if (xua_msg_find_tag(inner, M3UA_IEI_NET_APPEAR)) { + LOGPASP(asp, DLSS7, LOGL_NOTICE, "RKM: Unsupported 'Network Appearance' IE.\n"); + msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_ERR_INVAL_NET_APPEAR, 0); + return -1; + } /* TODO: service indicators (optional) */ /* TODO: originating point code list (optional) */ - if (xua_msg_find_tag(inner, M3UA_IEI_NET_APPEAR) || - xua_msg_find_tag(inner, M3UA_IEI_SVC_IND) || + if (xua_msg_find_tag(inner, M3UA_IEI_SVC_IND) || xua_msg_find_tag(inner, M3UA_IEI_ORIG_PC)) { LOGPASP(asp, DLSS7, LOGL_NOTICE, "RKM: Unsupported Routing Key\n"); msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_ERR_UNSUPP_RK_PARAM, 0);
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
.