Projects
osmocom:master
osmo-sgsn
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 69
View file
commit_7138f8eb931558388f8cda7aabeb818228b4f7f9.txt
Added
View file
commit_72283a1686281d0304d63642b3917ea396b58100.txt
Deleted
View file
osmo-sgsn_1.12.0.19.7228.dsc -> osmo-sgsn_1.12.0.22.7138.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.19.7228 +Version: 1.12.0.22.7138 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: - 93d0ca06e9469bd3924a290e6115397002f7d7e4 236020 osmo-sgsn_1.12.0.19.7228.tar.xz + 14728cae18c29da426f8e74e6bb1244138099547 236484 osmo-sgsn_1.12.0.22.7138.tar.xz Checksums-Sha256: - b78db692c815deac9102a4e8601b29a18b0f929d1743f9037d3f7b7f3a169afc 236020 osmo-sgsn_1.12.0.19.7228.tar.xz + 6ed84f26221fe4230254cbd414443ae7fc4cfcb0bc49e0564e5e7049a4f30a6c 236484 osmo-sgsn_1.12.0.22.7138.tar.xz Files: - 48ff896431ef427170eeab4c3ed3a072 236020 osmo-sgsn_1.12.0.19.7228.tar.xz + fd7a72e97e6e0171bb198c2fb7ebdc7a 236484 osmo-sgsn_1.12.0.22.7138.tar.xz
View file
osmo-sgsn_1.12.0.19.7228.tar.xz/.tarball-version -> osmo-sgsn_1.12.0.22.7138.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -1.12.0.19-7228 +1.12.0.22-7138
View file
osmo-sgsn_1.12.0.19.7228.tar.xz/debian/changelog -> osmo-sgsn_1.12.0.22.7138.tar.xz/debian/changelog
Changed
@@ -1,8 +1,8 @@ -osmo-sgsn (1.12.0.19.7228) unstable; urgency=medium +osmo-sgsn (1.12.0.22.7138) unstable; urgency=medium * Automatically generated changelog entry for building the Osmocom master feed - -- Osmocom OBS scripts <info@osmocom.org> Tue, 29 Oct 2024 19:00:25 +0000 + -- Osmocom OBS scripts <info@osmocom.org> Wed, 13 Nov 2024 22:30:27 +0000 osmo-sgsn (1.12.0) unstable; urgency=medium
View file
osmo-sgsn_1.12.0.19.7228.tar.xz/include/osmocom/sgsn/Makefile.am -> osmo-sgsn_1.12.0.22.7138.tar.xz/include/osmocom/sgsn/Makefile.am
Changed
@@ -8,6 +8,7 @@ gprs_gmm.h \ gprs_gmm_fsm.h \ gprs_gmm_attach.h \ + gprs_gmm_util.h \ gprs_mm_state_gb_fsm.h \ gprs_mm_state_iu_fsm.h \ gprs_ns.h \
View file
osmo-sgsn_1.12.0.22.7138.tar.xz/include/osmocom/sgsn/gprs_gmm_util.h
Added
@@ -0,0 +1,25 @@ +#pragma once + +#include <stdbool.h> +#include <stdint.h> + +#include <osmocom/gsm/gsm23003.h> +#include <osmocom/gsm/tlv.h> + +struct msgb; + +extern const struct tlv_definition gsm48_gmm_ie_tlvdef; + +/* 9.4.14 RAU Request */ +struct gprs_gmm_ra_upd_req { + uint8_t skip_ind; /* 10.3.1 */ + uint8_t update_type; /* 10.5.5.18 */ + bool follow_up_req; /* 10.5.5.18 */ + uint8_t cksq; /* 10.5.1.2 */ + struct osmo_routing_area_id old_rai; /* 10.5.5.15 */ + uint8_t *ms_radio_cap; /* 10.5.5.12a */ + uint8_t ms_radio_cap_len; + struct tlv_parsed tlv; +}; + +int gprs_gmm_parse_ra_upd_req(struct msgb *msg, struct gprs_gmm_ra_upd_req *rau_req);
View file
osmo-sgsn_1.12.0.19.7228.tar.xz/src/sgsn/Makefile.am -> osmo-sgsn_1.12.0.22.7138.tar.xz/src/sgsn/Makefile.am
Changed
@@ -45,6 +45,7 @@ gprs_gmm_attach.c \ gprs_gmm.c \ gprs_gmm_fsm.c \ + gprs_gmm_util.c \ gprs_mm_state_gb_fsm.c \ gprs_ns.c \ gprs_routing_area.c \
View file
osmo-sgsn_1.12.0.19.7228.tar.xz/src/sgsn/gprs_gmm.c -> osmo-sgsn_1.12.0.22.7138.tar.xz/src/sgsn/gprs_gmm.c
Changed
@@ -63,30 +63,12 @@ #include <osmocom/sgsn/gprs_sm.h> #include <osmocom/sgsn/gtp.h> #include <osmocom/sgsn/pdpctx.h> +#include <osmocom/sgsn/gprs_gmm_util.h> #include <pdp.h> #define PTMSI_ALLOC -static const struct tlv_definition gsm48_gmm_att_tlvdef = { - .def = { - GSM48_IE_GMM_CIPH_CKSN = { TLV_TYPE_SINGLE_TV, 1 }, - GSM48_IE_GMM_TIMER_READY = { TLV_TYPE_TV, 1 }, - GSM48_IE_GMM_ALLOC_PTMSI = { TLV_TYPE_TLV, 0 }, - GSM48_IE_GMM_PTMSI_SIG = { TLV_TYPE_FIXED, 3 }, - GSM48_IE_GMM_AUTH_RAND = { TLV_TYPE_FIXED, 16 }, - GSM48_IE_GMM_AUTH_SRES = { TLV_TYPE_FIXED, 4 }, - GSM48_IE_GMM_AUTH_RES_EXT = { TLV_TYPE_TLV, 0 }, - GSM48_IE_GMM_AUTH_FAIL_PAR = { TLV_TYPE_TLV, 0 }, - GSM48_IE_GMM_IMEISV = { TLV_TYPE_TLV, 0 }, - GSM48_IE_GMM_RX_NPDU_NUM_LIST = { TLV_TYPE_TLV, 0 }, - GSM48_IE_GMM_DRX_PARAM = { TLV_TYPE_FIXED, 2 }, - GSM48_IE_GMM_MS_NET_CAPA = { TLV_TYPE_TLV, 0 }, - GSM48_IE_GMM_PDP_CTX_STATUS = { TLV_TYPE_TLV, 0 }, - GSM48_IE_GMM_PS_LCS_CAPA = { TLV_TYPE_TLV, 0 }, - GSM48_IE_GMM_GMM_MBMS_CTX_ST = { TLV_TYPE_TLV, 0 }, - }, -}; /* Our implementation, should be kept in SGSN */ @@ -635,7 +617,7 @@ /* Stop T3360 */ mmctx_timer_stop(ctx, 3360); - tlv_parse(&tp, &gsm48_gmm_att_tlvdef, acr->data, + tlv_parse(&tp, &gsm48_gmm_ie_tlvdef, acr->data, (msg->data + msg->len) - acr->data, 0, 0); if (!TLVP_PRESENT(&tp, GSM48_IE_GMM_AUTH_SRES) || @@ -694,7 +676,7 @@ LOGMMCTXP(LOGL_INFO, ctx, "-> GMM AUTH AND CIPH FAILURE (cause = %s)\n", get_value_string(gsm48_gmm_cause_names, gmm_cause)); - tlv_parse(&tp, &gsm48_gmm_att_tlvdef, gh->data+1, msg->len - 1, 0, 0); + tlv_parse(&tp, &gsm48_gmm_ie_tlvdef, gh->data+1, msg->len - 1, 0, 0); /* Only if GMM cause is present and the AUTS is provided, we can * start re-sync procedure */ @@ -1612,52 +1594,30 @@ #ifndef PTMSI_ALLOC struct sgsn_signal_data sig_data; #endif - struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); - uint8_t *cur = gh->data; - uint8_t ms_ra_acc_cap_len; - struct osmo_routing_area_id old_ra_id; - struct tlv_parsed tp; - uint8_t upd_type; enum gsm48_gmm_cause reject_cause = GMM_CAUSE_PROTO_ERR_UNSPEC; + struct gprs_gmm_ra_upd_req req; int rc; + rc = gprs_gmm_parse_ra_upd_req(msg, &req); + if (rc) { + reject_cause = rc; + goto rejected; + } + /* TODO: In iu mode - handle follow-on request. * The follow-on request can be signaled in an Attach Request on IuPS. * This means the MS/UE asks to keep the PS connection open for further requests * after the Attach Request succeed. * The SGSN can decide if it close the connection or not. Both are spec conform. */ - /* Update Type 10.5.5.18 */ - upd_type = *cur++ & 0x07; - rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ROUTING_AREA_REQUEST)); LOGMMCTXP(LOGL_INFO, mmctx, "-> GMM RA UPDATE REQUEST type=\"%s\"\n", - get_value_string(gprs_upd_t_strs, upd_type)); - - /* Old routing area identification 10.5.5.15 */ - osmo_routing_area_id_decode(&old_ra_id, cur, msgb_l3len(msg) - (cur - msgb_gmmh(msg))); - cur += 6; - - /* MS Radio Access Capability 10.5.5.12a */ - ms_ra_acc_cap_len = *cur++; - if (ms_ra_acc_cap_len > 52) { - LOGMMCTXP(LOGL_ERROR, mmctx, - "Rejecting GMM RA Update Request: MS Radio Access Capability too long" - " (ms_ra_acc_cap_len = %u > 52)\n", ms_ra_acc_cap_len); - reject_cause = GMM_CAUSE_PROTO_ERR_UNSPEC; - goto rejected; - } - cur += ms_ra_acc_cap_len; - - /* Optional: Old P-TMSI Signature, Requested READY timer, TMSI Status, - * DRX parameter, MS network capability */ - tlv_parse(&tp, &gsm48_gmm_att_tlvdef, cur, - (msg->data + msg->len) - cur, 0, 0); + get_value_string(gprs_upd_t_strs, req.update_type)); - switch (upd_type) { + switch (req.update_type) { case GPRS_UPD_T_RA_LA: case GPRS_UPD_T_RA_LA_IMSI_ATT: - LOGMMCTXP(LOGL_NOTICE, mmctx, "Update type %i unsupported in Mode III, is your SI13 corrupt?\n", upd_type); + LOGMMCTXP(LOGL_NOTICE, mmctx, "Update type %d unsupported in Mode III, is your SI13 corrupt?\n", req.update_type); reject_cause = GMM_CAUSE_PROTO_ERR_UNSPEC; goto rejected; case GPRS_UPD_T_RA: @@ -1676,13 +1636,13 @@ /* Look-up the MM context based on old RA-ID and TLLI */ if (!MSG_IU_UE_CTX(msg)) { /* Gb */ - mmctx = sgsn_mm_ctx_by_tlli_and_ptmsi(msgb_tlli(msg), &old_ra_id); - } else if (TLVP_PRESENT(&tp, GSM48_IE_GMM_ALLOC_PTMSI)) { + mmctx = sgsn_mm_ctx_by_tlli_and_ptmsi(msgb_tlli(msg), &req.old_rai); + } else if (TLVP_PRESENT(&req.tlv, GSM48_IE_GMM_ALLOC_PTMSI)) { #ifdef BUILD_IU /* In Iu mode search only for ptmsi */ struct osmo_mobile_identity mi; - if (osmo_mobile_identity_decode(&mi, TLVP_VAL(&tp, GSM48_IE_GMM_ALLOC_PTMSI), - TLVP_LEN(&tp, GSM48_IE_GMM_ALLOC_PTMSI), false) + if (osmo_mobile_identity_decode(&mi, TLVP_VAL(&req.tlv, GSM48_IE_GMM_ALLOC_PTMSI), + TLVP_LEN(&req.tlv, GSM48_IE_GMM_ALLOC_PTMSI), false) || mi.type != GSM_MI_TYPE_TMSI) { LOGIUP(MSG_IU_UE_CTX(msg), LOGL_ERROR, "Cannot decode P-TMSI\n"); goto rejected; @@ -1710,7 +1670,7 @@ osmo_fsm_inst_dispatch(mmctx->gmm_fsm, E_GMM_COMMON_PROC_INIT_REQ, NULL); } - } else if (osmo_rai_cmp(&mmctx->ra, &old_ra_id) || + } else if (osmo_rai_cmp(&mmctx->ra, &req.old_rai) || mmctx->gmm_fsm->state == ST_GMM_DEREGISTERED) { /* We've received either a RAU for a MS which isn't registered @@ -1725,11 +1685,11 @@ if (mmctx->gmm_fsm->state == ST_GMM_DEREGISTERED) LOGMMCTXP(LOGL_INFO, mmctx, "Rejecting RAU - GMM state is deregistered. Old RA: %s New RA: %s\n", - osmo_rai_name2(&old_ra_id), new_ra); + osmo_rai_name2(&req.old_rai), new_ra); else LOGMMCTXP(LOGL_INFO, mmctx, "Rejecting RAU - Old RA doesn't match MM. Old RA: %s New RA: %s\n", - osmo_rai_name2(&old_ra_id), new_ra); + osmo_rai_name2(&req.old_rai), new_ra); reject_cause = GMM_CAUSE_IMPL_DETACHED; goto rejected; @@ -1750,7 +1710,7 @@ mmctx = sgsn_mm_ctx_by_llme(llme); if (mmctx) { char old_ra_id_name32; - osmo_rai_name2_buf(old_ra_id_name, sizeof(old_ra_id_name), &old_ra_id); + osmo_rai_name2_buf(old_ra_id_name, sizeof(old_ra_id_name), &req.old_rai); LOGMMCTXP(LOGL_NOTICE, mmctx, "Rx RA Update Request with unexpected TLLI=%08x Old RA=%s (expected Old RA: %s)!\n", msgb_tlli(msg), old_ra_id_name, osmo_rai_name2(&mmctx->ra)); @@ -1782,8 +1742,8 @@ mmctx->gb.tlli = msgb_tlli(msg); } /* Update the MM context with the new DRX params */ - if (TLVP_PRESENT(&tp, GSM48_IE_GMM_DRX_PARAM)) - memcpy(&mmctx->drx_parms, TLVP_VAL(&tp, GSM48_IE_GMM_DRX_PARAM), sizeof(mmctx->drx_parms)); + if (TLVP_PRESENT(&req.tlv, GSM48_IE_GMM_DRX_PARAM)) + memcpy(&mmctx->drx_parms, TLVP_VAL(&req.tlv, GSM48_IE_GMM_DRX_PARAM), sizeof(mmctx->drx_parms)); /* FIXME: Update the MM context with the MS radio acc capabilities */ /* FIXME: Update the MM context with the MS network capabilities */ @@ -1816,8 +1776,8 @@ /* Look at PDP Context Status IE and see if MS's view of * activated/deactivated NSAPIs agrees with our view */ - if (TLVP_PRESENT(&tp, GSM48_IE_GMM_PDP_CTX_STATUS)) { - const uint8_t *pdp_status = TLVP_VAL(&tp, GSM48_IE_GMM_PDP_CTX_STATUS); + if (TLVP_PRESENT(&req.tlv, GSM48_IE_GMM_PDP_CTX_STATUS)) { + const uint8_t *pdp_status = TLVP_VAL(&req.tlv, GSM48_IE_GMM_PDP_CTX_STATUS); process_ms_ctx_status(mmctx, pdp_status); } @@ -1937,7 +1897,7 @@ LOGPC(DMM, LOGL_INFO, "\n"); /* Optional: PDP context status, MBMS context status, Uplink data status, Device properties */ - tlv_parse(&tp, &gsm48_gmm_att_tlvdef, cur, (msg->data + msg->len) - cur, 0, 0); + tlv_parse(&tp, &gsm48_gmm_ie_tlvdef, cur, (msg->data + msg->len) - cur, 0, 0); switch (mi.type) { case GSM_MI_TYPE_IMSI:
View file
osmo-sgsn_1.12.0.22.7138.tar.xz/src/sgsn/gprs_gmm_util.c
Added
@@ -0,0 +1,111 @@ +/*! \file gprs_bssgp_util.c + * GPRS GMM protocol implementation as per 3GPP TS 24.008 */ +/* + * (C) 2009-2015 by Harald Welte <laforge@gnumonks.org> + * (C) 2024 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de> + * All Rights Reserved + * + * SPDX-License-Identifier: AGPL-3.0+ + * + * Author: Alexander Couzens <lynxis@fe80.eu> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include <osmocom/core/msgb.h> +#include <osmocom/gprs/gprs_msgb.h> +#include <osmocom/gsm/gsm48.h> +#include <osmocom/gsm/protocol/gsm_04_08_gprs.h> +#include <osmocom/gsm/tlv.h> + +#include <osmocom/sgsn/gprs_gmm_util.h> + +const struct tlv_definition gsm48_gmm_ie_tlvdef = { + .def = { + GSM48_IE_GMM_CIPH_CKSN = { TLV_TYPE_SINGLE_TV, 1 }, + GSM48_IE_GMM_TIMER_READY = { TLV_TYPE_TV, 1 }, + GSM48_IE_GMM_ALLOC_PTMSI = { TLV_TYPE_TLV, 0 }, + GSM48_IE_GMM_PTMSI_SIG = { TLV_TYPE_FIXED, 3 }, + GSM48_IE_GMM_AUTH_RAND = { TLV_TYPE_FIXED, 16 }, + GSM48_IE_GMM_AUTH_SRES = { TLV_TYPE_FIXED, 4 }, + GSM48_IE_GMM_AUTH_RES_EXT = { TLV_TYPE_TLV, 0 }, + GSM48_IE_GMM_AUTH_FAIL_PAR = { TLV_TYPE_TLV, 0 }, + GSM48_IE_GMM_IMEISV = { TLV_TYPE_TLV, 0 }, + GSM48_IE_GMM_RX_NPDU_NUM_LIST = { TLV_TYPE_TLV, 0 }, + GSM48_IE_GMM_DRX_PARAM = { TLV_TYPE_FIXED, 2 }, + GSM48_IE_GMM_MS_NET_CAPA = { TLV_TYPE_TLV, 0 }, + GSM48_IE_GMM_PDP_CTX_STATUS = { TLV_TYPE_TLV, 0 }, + GSM48_IE_GMM_PS_LCS_CAPA = { TLV_TYPE_TLV, 0 }, + GSM48_IE_GMM_GMM_MBMS_CTX_ST = { TLV_TYPE_TLV, 0 }, + }, +}; + +/*! Parse 24.008 9.4.14 RAU Request + * \paramin msg l3 pointers must point to gmm. + * \paramout rau_req parsed RA update request + * \returns 0 on success or GMM cause + */ +int gprs_gmm_parse_ra_upd_req(struct msgb *msg, struct gprs_gmm_ra_upd_req *rau_req) +{ + uint8_t *cur, len; + size_t mandatory_fields_len; + struct gsm48_hdr *gh; + int ret; + + OSMO_ASSERT(msg); + OSMO_ASSERT(rau_req); + + memset(rau_req, 0, sizeof(struct gprs_gmm_ra_upd_req)); + + /* all mandatory fields + variable length MS Radio Cap (min value) */ + if (msgb_l3len(msg) < 16) + return GMM_CAUSE_PROTO_ERR_UNSPEC; + + gh = (struct gsm48_hdr *) msgb_gmmh(msg); + cur = gh->data; + + rau_req->skip_ind = gh->proto_discr >> 4; + + /* V: Update Type 10.5.5.18 */ + rau_req->update_type = *cur & 0x07; + rau_req->follow_up_req = !!(*cur & 0x08); + /* V: GPRS Ciphering Key Sequence 10.5.1.2 */ + rau_req->cksq = *cur >> 4; + cur++; + + /* V: Old routing area identification 10.5.5.15 */ + osmo_routing_area_id_decode(&rau_req->old_rai, cur, 6); + cur += 6; + + /* LV: MS radio cap 10.5.5.12a */ + len = *cur++; + if (msgb_l3len(msg) < (len + (cur - msgb_gmmh(msg)))) + return GMM_CAUSE_PROTO_ERR_UNSPEC; + + rau_req->ms_radio_cap = cur; + rau_req->ms_radio_cap_len = len; + cur += len; + + mandatory_fields_len = (cur - msgb_gmmh(msg)); + if (msgb_l3len(msg) == mandatory_fields_len) + return 0; + + ret = tlv_parse(&rau_req->tlv, &gsm48_gmm_ie_tlvdef, + cur, msgb_l3len(msg) - mandatory_fields_len, 0, 0); + + if (ret < 0) + return GMM_CAUSE_COND_IE_ERR; + + return 0; +}
View file
osmo-sgsn_1.12.0.19.7228.tar.xz/src/sgsn/gprs_ranap.c -> osmo-sgsn_1.12.0.22.7138.tar.xz/src/sgsn/gprs_ranap.c
Changed
@@ -186,7 +186,7 @@ rc = 0; break; default: - LOGMMCTXP(LOGL_NOTICE, mm, "Unknown event received: %i\n", type); + LOGMMCTXP(LOGL_NOTICE, mm, "Unknown event received: %d\n", type); rc = -1; break; }
View file
osmo-sgsn_1.12.0.19.7228.tar.xz/src/sgsn/slhc.c -> osmo-sgsn_1.12.0.22.7138.tar.xz/src/sgsn/slhc.c
Changed
@@ -388,7 +388,7 @@ DEBUGP(DSLHC, "slhc_compress(): Unexpected change: th->doff != cs->cs_tcp.doff\n"); if(ip->ihl > 5 && memcmp(ip+1,cs->cs_ipopt,((ip->ihl)-5)*4) != 0) { DEBUGP(DSLHC, "slhc_compress(): Unexpected change: (ip->ihl > 5 && memcmp(ip+1,cs->cs_ipopt,((ip->ihl)-5)*4) != 0)\n"); - DEBUGP(DSLHC, "slhc_compress(): ip->ihl = %i\n", ip->ihl); + DEBUGP(DSLHC, "slhc_compress(): ip->ihl = %d\n", ip->ihl); DEBUGP(DSLHC, "slhc_compress(): ip+1 = %s\n", osmo_hexdump_nospc((uint8_t*)(ip+1),((ip->ihl)-5)*4)); DEBUGP(DSLHC, "slhc_compress(): Unexpected change: cs->cs_ipopt = %s\n", @@ -396,7 +396,7 @@ } if(th->doff > 5 && memcmp(th+1,cs->cs_tcpopt,((th->doff)-5)*4) != 0) { DEBUGP(DSLHC, "slhc_compress(): Unexpected change: (th->doff > 5 && memcmp(th+1,cs->cs_tcpopt,((th->doff)-5)*4) != 0)\n"); - DEBUGP(DSLHC, "slhc_compress(): th->doff = %i\n", th->doff); + DEBUGP(DSLHC, "slhc_compress(): th->doff = %d\n", th->doff); DEBUGP(DSLHC, "slhc_compress(): th+1 = %s\n", osmo_hexdump_nospc((uint8_t*)(th+1),((th->doff)-5)*4)); DEBUGP(DSLHC, "slhc_compress(): cs->cs_tcpopt = %s\n", @@ -538,8 +538,8 @@ cp += 2; /* deltaS is now the size of the change section of the compressed header */ - DEBUGP(DSLHC, "slhc_compress(): Delta-list length (deltaS) = %li\n",deltaS); - DEBUGP(DSLHC, "slhc_compress(): Original header len (hlen) = %i\n",hlen); + DEBUGP(DSLHC, "slhc_compress(): Delta-list length (deltaS) = %ld\n", deltaS); + DEBUGP(DSLHC, "slhc_compress(): Original header len (hlen) = %d\n", hlen); memcpy(cp,new_seq,deltaS); /* Write list of deltas */ memcpy(cp+deltaS,icp+hlen,isize-hlen);
View file
osmo-sgsn_1.12.0.19.7228.tar.xz/tests/gprs_routing_area/Makefile.am -> osmo-sgsn_1.12.0.22.7138.tar.xz/tests/gprs_routing_area/Makefile.am
Changed
@@ -45,6 +45,7 @@ $(top_builddir)/src/sgsn/gprs_gmm_attach.o \ $(top_builddir)/src/sgsn/gprs_gmm.o \ $(top_builddir)/src/sgsn/gprs_gmm_fsm.o \ + $(top_builddir)/src/sgsn/gprs_gmm_util.o \ $(top_builddir)/src/sgsn/gprs_mm_state_gb_fsm.o \ $(top_builddir)/src/sgsn/gprs_routing_area.o \ $(top_builddir)/src/sgsn/gtp_ggsn.o \
View file
osmo-sgsn_1.12.0.19.7228.tar.xz/tests/sgsn/Makefile.am -> osmo-sgsn_1.12.0.22.7138.tar.xz/tests/sgsn/Makefile.am
Changed
@@ -59,6 +59,7 @@ $(top_builddir)/src/sgsn/gprs_gmm_attach.o \ $(top_builddir)/src/sgsn/gprs_gmm.o \ $(top_builddir)/src/sgsn/gprs_gmm_fsm.o \ + $(top_builddir)/src/sgsn/gprs_gmm_util.o \ $(top_builddir)/src/sgsn/gprs_mm_state_gb_fsm.o \ $(top_builddir)/src/sgsn/gprs_routing_area.o \ $(top_builddir)/src/sgsn/gtp_ggsn.o \
View file
osmo-sgsn_1.12.0.19.7228.tar.xz/tests/slhc/slhc_test.c -> osmo-sgsn_1.12.0.22.7138.tar.xz/tests/slhc/slhc_test.c
Changed
@@ -209,12 +209,12 @@ packet_len = DISP_MAX_BYTES; if (packet_decompr_len > DISP_MAX_BYTES) packet_decompr_len = DISP_MAX_BYTES; - printf("Original Packet: (%i bytes) %s\n", packet_len, + printf("Original Packet: (%d bytes) %s\n", packet_len, osmo_hexdump_nospc(packet, packet_len)); - printf("DecompressedPacket: (%i bytes) %s\n", + printf("DecompressedPacket: (%d bytes) %s\n", packet_decompr_len, osmo_hexdump_nospc(packet_decompr, packet_decompr_len)); - printf("CompressedPacket: (%i bytes) %s\n", packet_compr_len, + printf("CompressedPacket: (%d bytes) %s\n", packet_compr_len, osmo_hexdump_nospc(packet_compr, packet_compr_len)); slhc_o_status(comp); slhc_o_status(comp);
View file
osmo-sgsn_1.12.0.19.7228.tar.xz/tests/sndcp_xid/sndcp_xid_test.c -> osmo-sgsn_1.12.0.22.7138.tar.xz/tests/sndcp_xid/sndcp_xid_test.c
Changed
@@ -55,7 +55,7 @@ /* Encode comp-fields again */ rc = gprs_sndcp_compile_xid(xid_r,sizeof(xid_r), comp_fields, DEFAULT_SNDCP_VERSION); - printf("Result length=%i\n",rc); + printf("Result length=%d\n", rc); printf("Encoded: %s\n", osmo_hexdump_nospc(xid, sizeof(xid))); printf("Rencoded: %s\n", osmo_hexdump_nospc(xid_r, rc)); @@ -231,7 +231,7 @@ DEFAULT_SNDCP_VERSION); OSMO_ASSERT(rc > 0); - printf("Encoded: %s (%i bytes)\n", osmo_hexdump_nospc(xid, rc), rc); + printf("Encoded: %s (%d bytes)\n", osmo_hexdump_nospc(xid, rc), rc); /* Parse and show contained comp fields */ comp_fields_dec = gprs_sndcp_parse_xid(NULL, ctx, xid, rc, NULL);
View file
osmo-sgsn_1.12.0.19.7228.tar.xz/tests/v42bis/v42bis_test.c -> osmo-sgsn_1.12.0.22.7138.tar.xz/tests/v42bis/v42bis_test.c
Changed
@@ -268,7 +268,7 @@ rc_sum += rc; /* Check results */ - printf("Mode: %i\n", mode); + printf("Mode: %d\n", mode); printf("uncompressed_original= %s ASCII:", osmo_hexdump_nospc(uncompressed_original, len)); @@ -314,7 +314,7 @@ int len; printf ("Testing compression/decompression with realistic TCP/IP packets:\n"); - printf("Packet No.: %i\n", packet_id); + printf("Packet No.: %d\n", packet_id); len = strlen(uncompr_packetspacket_id); testvec = talloc_zero_size(ctx, len); len = osmo_hexparse(uncompr_packetspacket_id, testvec, len); @@ -339,7 +339,7 @@ printf ("Testing decompression with sniffed compressed TCP/IP packets:\n"); - printf("Packet No.: %i\n", packet_id); + printf("Packet No.: %d\n", packet_id); len = strlen(compr_packetspacket_id); uncompressed = talloc_zero_size(ctx, len);
View file
osmo-sgsn_1.12.0.19.7228.tar.xz/tests/xid/xid_test.c -> osmo-sgsn_1.12.0.22.7138.tar.xz/tests/xid/xid_test.c
Changed
@@ -73,8 +73,8 @@ /* Encode data */ rc = gprs_llc_compile_xid(xid, sizeof(xid), &xid_fields); OSMO_ASSERT(rc == 14); - printf("Encoded: %s (%i bytes)\n", osmo_hexdump_nospc(xid, rc), rc); - printf("Expected: %s (%i bytes)\n", + printf("Encoded: %s (%d bytes)\n", osmo_hexdump_nospc(xid, rc), rc); + printf("Expected: %s (%d bytes)\n", osmo_hexdump_nospc(xid_expected, sizeof(xid_expected)), (int)sizeof(xid_expected)); @@ -112,7 +112,7 @@ /* Encode xid-fields again */ rc = gprs_llc_compile_xid(xid_r, sizeof(xid_r), xid_fields); - printf("Result length=%i\n",rc); + printf("Result length=%d\n", rc); printf("Encoded: %s\n", osmo_hexdump_nospc(xid, sizeof(xid))); printf("Rencoded: %s\n", osmo_hexdump_nospc(xid_r, rc));
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
.