Projects
osmocom:master
osmo-sgsn
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 67
View file
commit_6213201b951d12dd4de7cf9399622b93555b0db2.txt
Added
View file
commit_b12c892a4234cef4a86f32b3355a4c29652627a5.txt
Deleted
View file
osmo-sgsn_1.12.0.14.b12c.dsc -> osmo-sgsn_1.12.0.16.62132.dsc
Changed
@@ -2,7 +2,7 @@ Source: osmo-sgsn Binary: osmo-sgsn, osmo-sgsn-dbg, osmo-gtphub, osmo-gtphub-dbg, osmo-sgsn-doc Architecture: any all -Version: 1.12.0.14.b12c +Version: 1.12.0.16.62132 Maintainer: Osmocom team <openbsc@lists.osmocom.org> Homepage: https://projects.osmocom.org/projects/osmo-sgsn Standards-Version: 3.9.8 @@ -16,8 +16,8 @@ osmo-sgsn-dbg deb debug extra arch=any osmo-sgsn-doc deb doc optional arch=all Checksums-Sha1: - 578d0b7d36b4d19bf73bf1321dc7089c768a3d8e 232340 osmo-sgsn_1.12.0.14.b12c.tar.xz + 372c35916e2932590e58f4334cf093e216ddef3b 232488 osmo-sgsn_1.12.0.16.62132.tar.xz Checksums-Sha256: - 89c5a7b5710af1c0bd48e6102d58e533a597be9c8a2727d00553f6dddb5bf718 232340 osmo-sgsn_1.12.0.14.b12c.tar.xz + ad4ed26cbd6e59e972ca77a29a3353c85aff2aaf5a9d674dcb77339fdced141b 232488 osmo-sgsn_1.12.0.16.62132.tar.xz Files: - 82637c1e34bc70432e3eac0982f96f94 232340 osmo-sgsn_1.12.0.14.b12c.tar.xz + a4305ceb21c673357a102445a2261ced 232488 osmo-sgsn_1.12.0.16.62132.tar.xz
View file
osmo-sgsn_1.12.0.14.b12c.tar.xz/.tarball-version -> osmo-sgsn_1.12.0.16.62132.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -1.12.0.14-b12c +1.12.0.16-62132
View file
osmo-sgsn_1.12.0.14.b12c.tar.xz/debian/changelog -> osmo-sgsn_1.12.0.16.62132.tar.xz/debian/changelog
Changed
@@ -1,8 +1,8 @@ -osmo-sgsn (1.12.0.14.b12c) unstable; urgency=medium +osmo-sgsn (1.12.0.16.62132) unstable; urgency=medium * Automatically generated changelog entry for building the Osmocom master feed - -- Osmocom OBS scripts <info@osmocom.org> Mon, 16 Sep 2024 10:50:37 +0000 + -- Osmocom OBS scripts <info@osmocom.org> Wed, 16 Oct 2024 18:15:16 +0000 osmo-sgsn (1.12.0) unstable; urgency=medium
View file
osmo-sgsn_1.12.0.14.b12c.tar.xz/src/sgsn/gprs_ranap.c -> osmo-sgsn_1.12.0.16.62132.tar.xz/src/sgsn/gprs_ranap.c
Changed
@@ -29,6 +29,7 @@ #include <osmocom/gprs/gprs_msgb.h> #include <osmocom/ranap/ranap_common.h> +#include <osmocom/ranap/iu_helpers.h> #include <osmocom/sgsn/gprs_gmm.h> #include <osmocom/sgsn/gprs_sm.h> @@ -60,36 +61,44 @@ bool require_pdp_update = false; struct sgsn_pdp_ctx *pdp = NULL; RANAP_RAB_SetupOrModifiedItem_t *item = &setup_ies->raB_SetupOrModifiedItem; + int rc; rab_id = item->rAB_ID.buf0; pdp = sgsn_pdp_ctx_by_nsapi(ctx, rab_id); if (!pdp) { LOGP(DRANAP, LOGL_ERROR, "RAB Assignment Response for unknown RAB/NSAPI=%u\n", rab_id); + sgsn_ranap_iu_release_free(ctx, NULL); return -1; } if (item->transportLayerAddress) { + struct osmo_sockaddr addr; LOGPC(DRANAP, LOGL_INFO, " Setup: (%u/%s)", rab_id, osmo_hexdump(item->transportLayerAddress->buf, item->transportLayerAddress->size)); - switch (item->transportLayerAddress->size) { - case 7: - /* It must be IPv4 inside a X213 NSAP */ - memcpy(pdp->lib->gsnlu.v, &item->transportLayerAddress->buf3, 4); - break; - case 4: - /* It must be a raw IPv4 address */ - memcpy(pdp->lib->gsnlu.v, item->transportLayerAddress->buf, 4); + rc = ranap_transp_layer_addr_decode2(&addr, NULL, item->transportLayerAddress); + if (rc < 0) { + LOGP(DRANAP, LOGL_ERROR, + "RAB Assignment Resp: Unknown Transport Layer Address (size %u): %s\n", + item->transportLayerAddress->size, + osmo_hexdump(item->transportLayerAddress->buf, item->transportLayerAddress->size)); + goto ret_error; + } + + switch (addr.u.sa.sa_family) { + case AF_INET: + memcpy(pdp->lib->gsnlu.v, (uint8_t *)&addr.u.sin.sin_addr.s_addr, 4); break; - case 16: - /* TODO: It must be a raw IPv6 address */ - case 19: - /* TODO: It must be IPv6 inside a X213 NSAP */ + case AF_INET6: + /* TODO: Support IPv6 address */ + LOGP(DRANAP, LOGL_ERROR, + "RAB Assignment Resp: IPv6 transport layer address not supported!\n"); + goto ret_error; default: - LOGP(DRANAP, LOGL_ERROR, "RAB Assignment Resp: Unknown " - "transport layer address size %u\n", - item->transportLayerAddress->size); - return -1; + LOGP(DRANAP, LOGL_ERROR, + "RAB Assignment Resp: Unexpected transport layer address size %u\n", + item->transportLayerAddress->size); + goto ret_error; } require_pdp_update = true; } @@ -117,6 +126,15 @@ } return 0; +ret_error: + if (pdp->state != PDP_STATE_CR_CONF) { + gsm48_tx_gsm_act_pdp_rej(ctx, pdp->ti, GSM_CAUSE_NET_FAIL, + 0, NULL); + sgsn_delete_pdp_ctx(pdp); + } else { + gsm48_tx_gsm_deact_pdp_req(pdp, GSM_CAUSE_NET_FAIL, true); + } + return -1; } int sgsn_ranap_iu_event(struct ranap_ue_conn_ctx *ctx, enum ranap_iu_event_type type, void *data)
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
.