Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package osmo-iuh for openSUSE:Factory checked in at 2026-08-27 18:52:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/osmo-iuh (Old) and /work/SRC/openSUSE:Factory/.osmo-iuh.new.1265 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "osmo-iuh" Thu Aug 27 18:52:00 2026 rev:21 rq:1373888 version:1.8.1 Changes: -------- --- /work/SRC/openSUSE:Factory/osmo-iuh/osmo-iuh.changes 2026-03-15 14:33:26.046023769 +0100 +++ /work/SRC/openSUSE:Factory/.osmo-iuh.new.1265/osmo-iuh.changes 2026-08-27 18:55:25.993078313 +0200 @@ -1,0 +2,8 @@ +Wed Aug 26 19:12:58 UTC 2026 - Jan Engelhardt <[email protected]> + +- Update to release 1.8.1 + * iu_client: reject oversized RANAP NAS-PDU + * ranap: Introduce new APIs to encode rab_ass for gtp and rtp + * ranap: Fix msgb leak on decode error paths + +------------------------------------------------------------------- Old: ---- osmo-iuh-1.8.0.tar.bz2 New: ---- osmo-iuh-1.8.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ osmo-iuh.spec ++++++ --- /var/tmp/diff_new_pack.iyZsi1/_old 2026-08-27 18:55:26.591099192 +0200 +++ /var/tmp/diff_new_pack.iyZsi1/_new 2026-08-27 18:55:26.593099262 +0200 @@ -17,7 +17,7 @@ Name: osmo-iuh -Version: 1.8.0 +Version: 1.8.1 Release: 0 Summary: Osmocom code for the Iuh interface (HNBAP, RUA, RANAP) License: AGPL-3.0-or-later @@ -82,14 +82,14 @@ Requires: libosmo-ranap7 = %version-%release Requires: libosmo-rua0 = %version-%release Requires: libosmo-sabp1 = %version-%release -Obsoletes: libosmo-hnbap-devel = %version-%release Obsoletes: libosmo-hnbap-devel < %version-%release -Obsoletes: libosmo-ranap-devel = %version-%release +Obsoletes: libosmo-hnbap-devel = %version-%release Obsoletes: libosmo-ranap-devel < %version-%release -Obsoletes: libosmo-rua-devel = %version-%release +Obsoletes: libosmo-ranap-devel = %version-%release Obsoletes: libosmo-rua-devel < %version-%release -Obsoletes: libosmo-sabp-devel = %version-%release +Obsoletes: libosmo-rua-devel = %version-%release Obsoletes: libosmo-sabp-devel < %version-%release +Obsoletes: libosmo-sabp-devel = %version-%release %description devel Osmocom code for the Service Area Broadcast Protocol interface. ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.iyZsi1/_old 2026-08-27 18:55:26.629100518 +0200 +++ /var/tmp/diff_new_pack.iyZsi1/_new 2026-08-27 18:55:26.636100763 +0200 @@ -1,5 +1,5 @@ -mtime: 1773527703 -commit: 3ce0fedec6c8796cdba1c0e64b8589553f61ef8d9353fa961dd08c297218fae9 +mtime: 1787771624 +commit: d43f0b61b9f82158e8c396114c1dd8ddf8cf420ff68b80f29cb6a7ca8bd4d8af url: https://src.opensuse.org/jengelh/osmo-iuh revision: master ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-08-26 21:13:44.000000000 +0200 @@ -0,0 +1 @@ +.osc ++++++ osmo-iuh-1.8.0.tar.bz2 -> osmo-iuh-1.8.1.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/.tarball-version new/osmo-iuh-1.8.1/.tarball-version --- old/osmo-iuh-1.8.0/.tarball-version 2025-12-04 06:24:47.000000000 +0100 +++ new/osmo-iuh-1.8.1/.tarball-version 2026-08-21 15:14:35.000000000 +0200 @@ -1 +1 @@ -1.8.0 +1.8.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/.version new/osmo-iuh-1.8.1/.version --- old/osmo-iuh-1.8.0/.version 2025-12-04 06:24:40.000000000 +0100 +++ new/osmo-iuh-1.8.1/.version 2026-08-21 15:14:31.000000000 +0200 @@ -1 +1 @@ -1.8.0 +1.8.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/configure new/osmo-iuh-1.8.1/configure --- old/osmo-iuh-1.8.0/configure 2025-12-04 06:24:28.000000000 +0100 +++ new/osmo-iuh-1.8.1/configure 2026-08-21 15:14:23.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for osmo-iuh 1.8.0. +# Generated by GNU Autoconf 2.71 for osmo-iuh 1.8.1. # # Report bugs to <[email protected]>. # @@ -621,8 +621,8 @@ # Identity of this package. PACKAGE_NAME='osmo-iuh' PACKAGE_TARNAME='osmo-iuh' -PACKAGE_VERSION='1.8.0' -PACKAGE_STRING='osmo-iuh 1.8.0' +PACKAGE_VERSION='1.8.1' +PACKAGE_STRING='osmo-iuh 1.8.1' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='' @@ -1393,7 +1393,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures osmo-iuh 1.8.0 to adapt to many kinds of systems. +\`configure' configures osmo-iuh 1.8.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1464,7 +1464,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of osmo-iuh 1.8.0:";; + short | recursive ) echo "Configuration of osmo-iuh 1.8.1:";; esac cat <<\_ACEOF @@ -1616,7 +1616,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -osmo-iuh configure 1.8.0 +osmo-iuh configure 1.8.1 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1834,7 +1834,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by osmo-iuh $as_me 1.8.0, which was +It was created by osmo-iuh $as_me 1.8.1, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -12413,7 +12413,7 @@ # Define the identity of the package. PACKAGE='osmo-iuh' - VERSION='1.8.0' + VERSION='1.8.1' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -15218,7 +15218,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by osmo-iuh $as_me 1.8.0, which was +This file was extended by osmo-iuh $as_me 1.8.1, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15277,7 +15277,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -osmo-iuh config.status 1.8.0 +osmo-iuh config.status 1.8.1 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/debian/changelog new/osmo-iuh-1.8.1/debian/changelog --- old/osmo-iuh-1.8.0/debian/changelog 2025-12-04 06:24:16.000000000 +0100 +++ new/osmo-iuh-1.8.1/debian/changelog 2026-08-21 15:14:10.000000000 +0200 @@ -1,3 +1,16 @@ +osmo-iuh (1.8.1) unstable; urgency=medium + + [ n0k0 ] + * iu_client: reject oversized RANAP NAS-PDU + + [ Pau Espin Pedrol ] + * iu_helpers: Constify osmo_sockaddr input param + * ranap_msg_factory: Fix API documentation regarding ip param endianness + * ranap: Introduce new APIs to encode rab_ass for gtp and rtp + * ranap: Fix msgb leak on decode error paths + + -- Pau Espin Pedrol <[email protected]> Thu, 20 Aug 2026 12:09:27 +0200 + osmo-iuh (1.8.0) unstable; urgency=medium [ Pau Espin Pedrol ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/include/osmocom/hnbap/hnbap_ies_defs.h new/osmo-iuh-1.8.1/include/osmocom/hnbap/hnbap_ies_defs.h --- old/osmo-iuh-1.8.0/include/osmocom/hnbap/hnbap_ies_defs.h 2025-12-04 06:24:41.000000000 +0100 +++ new/osmo-iuh-1.8.1/include/osmocom/hnbap/hnbap_ies_defs.h 2026-08-21 15:14:31.000000000 +0200 @@ -1,7 +1,7 @@ /******************************************************************************* * This file had been created by asn1tostruct.py script v0.5osmo1 * Please do not modify this file but regenerate it via script. - * Created on: 2025-12-04 05:24:40 + * Created on: 2026-08-21 13:14:31 * from ['../asn1/hnbap/HNBAP-PDU-Contents.asn'] ******************************************************************************/ #include <osmocom/hnbap/hnbap_common.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/include/osmocom/hnbap/version.h new/osmo-iuh-1.8.1/include/osmocom/hnbap/version.h --- old/osmo-iuh-1.8.0/include/osmocom/hnbap/version.h 2025-12-04 06:24:44.000000000 +0100 +++ new/osmo-iuh-1.8.1/include/osmocom/hnbap/version.h 2026-08-21 15:14:33.000000000 +0200 @@ -1,11 +1,11 @@ #pragma once -#define LIBOSMO_HNBAP_VERSION 1.8.0 -#define LIBOSMO_HNBAP_VERSION_STR "1.8.0" +#define LIBOSMO_HNBAP_VERSION 1.8.1 +#define LIBOSMO_HNBAP_VERSION_STR "1.8.1" #define LIBOSMO_HNBAP_VERSION_MAJOR 1 #define LIBOSMO_HNBAP_VERSION_MINOR 8 -#define LIBOSMO_HNBAP_VERSION_PATCH 0 +#define LIBOSMO_HNBAP_VERSION_PATCH 1 #define LIBOSMO_HNBAP_VERSION_GREATER_EQUAL(major, minor, patch) \ (LIBOSMO_HNBAP_VERSION_MAJOR > (major) || \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/include/osmocom/ranap/iu_helpers.h new/osmo-iuh-1.8.1/include/osmocom/ranap/iu_helpers.h --- old/osmo-iuh-1.8.0/include/osmocom/ranap/iu_helpers.h 2025-12-04 06:24:16.000000000 +0100 +++ new/osmo-iuh-1.8.1/include/osmocom/ranap/iu_helpers.h 2026-08-21 15:14:10.000000000 +0200 @@ -17,7 +17,7 @@ const RANAP_TransportLayerAddress_t *trasp_layer_addr); int ranap_transp_layer_addr_decode2(struct osmo_sockaddr *addr, bool *uses_x213_nsap, const RANAP_TransportLayerAddress_t *trasp_layer_addr); -RANAP_TransportLayerInformation_t *ranap_new_transp_info_rtp(struct osmo_sockaddr *addr, bool use_x213_nsap); -RANAP_TransportLayerInformation_t *ranap_new_transp_info_gtp(struct osmo_sockaddr *addr, uint32_t tei, +RANAP_TransportLayerInformation_t *ranap_new_transp_info_rtp(const struct osmo_sockaddr *addr, bool use_x213_nsap); +RANAP_TransportLayerInformation_t *ranap_new_transp_info_gtp(const struct osmo_sockaddr *addr, uint32_t tei, bool use_x213_nsap); -int ranap_new_transp_layer_addr(BIT_STRING_t *out, struct osmo_sockaddr *addr, bool use_x213_nsap); +int ranap_new_transp_layer_addr(BIT_STRING_t *out, const struct osmo_sockaddr *addr, bool use_x213_nsap); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/include/osmocom/ranap/ranap_ies_defs.h new/osmo-iuh-1.8.1/include/osmocom/ranap/ranap_ies_defs.h --- old/osmo-iuh-1.8.0/include/osmocom/ranap/ranap_ies_defs.h 2025-12-04 06:24:41.000000000 +0100 +++ new/osmo-iuh-1.8.1/include/osmocom/ranap/ranap_ies_defs.h 2026-08-21 15:14:31.000000000 +0200 @@ -1,7 +1,7 @@ /******************************************************************************* * This file had been created by asn1tostruct.py script v0.5osmo1 * Please do not modify this file but regenerate it via script. - * Created on: 2025-12-04 05:24:41 + * Created on: 2026-08-21 13:14:31 * from ['../asn1/ranap/RANAP-PDU-Contents.asn'] ******************************************************************************/ #include <osmocom/ranap/ranap_common.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/include/osmocom/ranap/ranap_msg_factory.h new/osmo-iuh-1.8.1/include/osmocom/ranap/ranap_msg_factory.h --- old/osmo-iuh-1.8.0/include/osmocom/ranap/ranap_msg_factory.h 2025-12-04 06:24:16.000000000 +0100 +++ new/osmo-iuh-1.8.1/include/osmocom/ranap/ranap_msg_factory.h 2026-08-21 15:14:10.000000000 +0200 @@ -2,6 +2,9 @@ #include <stdint.h> #include <stdbool.h> + +#include <osmocom/core/socket.h> + #include <osmocom/ranap/RANAP_Cause.h> #include <osmocom/ranap/RANAP_CN-DomainIndicator.h> #include <osmocom/ranap/RANAP_GlobalRNC-ID.h> @@ -39,11 +42,21 @@ /*! \brief generate RANAP RAB ASSIGNMENT REQUEST message for CS (voice) */ struct msgb *ranap_new_msg_rab_assign_voice(uint8_t rab_id, uint32_t rtp_ip, uint16_t rtp_port, - bool use_x213_nsap); + bool use_x213_nsap) +OSMO_DEPRECATED("Use ranap_new_msg_rab_assign_voice2 instead"); +struct msgb *ranap_new_msg_rab_assign_voice2(uint8_t rab_id, + const struct osmo_sockaddr *rtp_addr, + bool use_x213_nsap); + /*! \brief generate RANAP RAB ASSIGNMENT REQUEST message for PS (data) */ struct msgb *ranap_new_msg_rab_assign_data(uint8_t rab_id, uint32_t gtp_ip, - uint32_t gtp_tei, bool use_x213_nsap); + uint32_t gtp_tei, bool use_x213_nsap) +OSMO_DEPRECATED("Use ranap_new_msg_rab_assign_data2 instead"); +struct msgb *ranap_new_msg_rab_assign_data2(uint8_t rab_id, + const struct osmo_sockaddr *gtp_addr, + uint32_t gtp_tei, + bool use_x213_nsap); /*! \brief generate RANAP RESET message */ struct msgb *ranap_new_msg_reset(RANAP_CN_DomainIndicator_t domain, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/include/osmocom/ranap/version.h new/osmo-iuh-1.8.1/include/osmocom/ranap/version.h --- old/osmo-iuh-1.8.0/include/osmocom/ranap/version.h 2025-12-04 06:24:44.000000000 +0100 +++ new/osmo-iuh-1.8.1/include/osmocom/ranap/version.h 2026-08-21 15:14:34.000000000 +0200 @@ -1,11 +1,11 @@ #pragma once -#define LIBOSMO_RANAP_VERSION 1.8.0 -#define LIBOSMO_RANAP_VERSION_STR "1.8.0" +#define LIBOSMO_RANAP_VERSION 1.8.1 +#define LIBOSMO_RANAP_VERSION_STR "1.8.1" #define LIBOSMO_RANAP_VERSION_MAJOR 1 #define LIBOSMO_RANAP_VERSION_MINOR 8 -#define LIBOSMO_RANAP_VERSION_PATCH 0 +#define LIBOSMO_RANAP_VERSION_PATCH 1 #define LIBOSMO_RANAP_VERSION_GREATER_EQUAL(major, minor, patch) \ (LIBOSMO_RANAP_VERSION_MAJOR > (major) || \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/include/osmocom/rua/rua_ies_defs.h new/osmo-iuh-1.8.1/include/osmocom/rua/rua_ies_defs.h --- old/osmo-iuh-1.8.0/include/osmocom/rua/rua_ies_defs.h 2025-12-04 06:24:41.000000000 +0100 +++ new/osmo-iuh-1.8.1/include/osmocom/rua/rua_ies_defs.h 2026-08-21 15:14:31.000000000 +0200 @@ -1,7 +1,7 @@ /******************************************************************************* * This file had been created by asn1tostruct.py script v0.5osmo1 * Please do not modify this file but regenerate it via script. - * Created on: 2025-12-04 05:24:41 + * Created on: 2026-08-21 13:14:31 * from ['../asn1/rua/RUA-PDU-Contents.asn'] ******************************************************************************/ #include <osmocom/rua/rua_common.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/include/osmocom/rua/version.h new/osmo-iuh-1.8.1/include/osmocom/rua/version.h --- old/osmo-iuh-1.8.0/include/osmocom/rua/version.h 2025-12-04 06:24:46.000000000 +0100 +++ new/osmo-iuh-1.8.1/include/osmocom/rua/version.h 2026-08-21 15:14:35.000000000 +0200 @@ -1,11 +1,11 @@ #pragma once -#define LIBOSMO_RUA_VERSION 1.8.0 -#define LIBOSMO_RUA_VERSION_STR "1.8.0" +#define LIBOSMO_RUA_VERSION 1.8.1 +#define LIBOSMO_RUA_VERSION_STR "1.8.1" #define LIBOSMO_RUA_VERSION_MAJOR 1 #define LIBOSMO_RUA_VERSION_MINOR 8 -#define LIBOSMO_RUA_VERSION_PATCH 0 +#define LIBOSMO_RUA_VERSION_PATCH 1 #define LIBOSMO_RUA_VERSION_GREATER_EQUAL(major, minor, patch) \ (LIBOSMO_RUA_VERSION_MAJOR > (major) || \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/include/osmocom/sabp/sabp_ies_defs.h new/osmo-iuh-1.8.1/include/osmocom/sabp/sabp_ies_defs.h --- old/osmo-iuh-1.8.0/include/osmocom/sabp/sabp_ies_defs.h 2025-12-04 06:24:41.000000000 +0100 +++ new/osmo-iuh-1.8.1/include/osmocom/sabp/sabp_ies_defs.h 2026-08-21 15:14:31.000000000 +0200 @@ -1,7 +1,7 @@ /******************************************************************************* * This file had been created by asn1tostruct.py script v0.5osmo1 * Please do not modify this file but regenerate it via script. - * Created on: 2025-12-04 05:24:41 + * Created on: 2026-08-21 13:14:31 * from ['../asn1/sabp/SABP-PDU-Contents.asn'] ******************************************************************************/ #include <osmocom/sabp/sabp_common.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/include/osmocom/sabp/version.h new/osmo-iuh-1.8.1/include/osmocom/sabp/version.h --- old/osmo-iuh-1.8.0/include/osmocom/sabp/version.h 2025-12-04 06:24:46.000000000 +0100 +++ new/osmo-iuh-1.8.1/include/osmocom/sabp/version.h 2026-08-21 15:14:35.000000000 +0200 @@ -1,11 +1,11 @@ #pragma once -#define LIBOSMO_SABP_VERSION 1.8.0 -#define LIBOSMO_SABP_VERSION_STR "1.8.0" +#define LIBOSMO_SABP_VERSION 1.8.1 +#define LIBOSMO_SABP_VERSION_STR "1.8.1" #define LIBOSMO_SABP_VERSION_MAJOR 1 #define LIBOSMO_SABP_VERSION_MINOR 8 -#define LIBOSMO_SABP_VERSION_PATCH 0 +#define LIBOSMO_SABP_VERSION_PATCH 1 #define LIBOSMO_SABP_VERSION_GREATER_EQUAL(major, minor, patch) \ (LIBOSMO_SABP_VERSION_MAJOR > (major) || \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/src/Makefile.am new/osmo-iuh-1.8.1/src/Makefile.am --- old/osmo-iuh-1.8.0/src/Makefile.am 2025-12-04 06:24:16.000000000 +0100 +++ new/osmo-iuh-1.8.1/src/Makefile.am 2026-08-21 15:14:10.000000000 +0200 @@ -62,7 +62,7 @@ # build the shared RANAP + SABP library # HNBAP_LIBVERSION=2:0:2 -RANAP_LIBVERSION=11:0:4 +RANAP_LIBVERSION=12:0:5 RUA_LIBVERSION=2:0:2 SABP_LIBVERSION=3:0:2 lib_LTLIBRARIES = libosmo-hnbap.la libosmo-ranap.la libosmo-rua.la libosmo-sabp.la diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/src/Makefile.in new/osmo-iuh-1.8.1/src/Makefile.in --- old/osmo-iuh-1.8.0/src/Makefile.in 2025-12-04 06:24:29.000000000 +0100 +++ new/osmo-iuh-1.8.1/src/Makefile.in 2026-08-21 15:14:23.000000000 +0200 @@ -450,7 +450,7 @@ # build the shared RANAP + SABP library # HNBAP_LIBVERSION = 2:0:2 -RANAP_LIBVERSION = 11:0:4 +RANAP_LIBVERSION = 12:0:5 RUA_LIBVERSION = 2:0:2 SABP_LIBVERSION = 3:0:2 lib_LTLIBRARIES = libosmo-hnbap.la libosmo-ranap.la libosmo-rua.la libosmo-sabp.la diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/src/hnbap_decoder.c new/osmo-iuh-1.8.1/src/hnbap_decoder.c --- old/osmo-iuh-1.8.0/src/hnbap_decoder.c 2025-12-04 06:24:41.000000000 +0100 +++ new/osmo-iuh-1.8.1/src/hnbap_decoder.c 2026-08-21 15:14:31.000000000 +0200 @@ -1,7 +1,7 @@ /******************************************************************************* * This file had been created by asn1tostruct.py script v0.5osmo1 * Please do not modify this file but regenerate it via script. - * Created on: 2025-12-04 05:24:40 + * Created on: 2026-08-21 13:14:31 * from ['../asn1/hnbap/HNBAP-PDU-Contents.asn'] ******************************************************************************/ #include <osmocom/hnbap/hnbap_common.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/src/hnbap_encoder.c new/osmo-iuh-1.8.1/src/hnbap_encoder.c --- old/osmo-iuh-1.8.0/src/hnbap_encoder.c 2025-12-04 06:24:41.000000000 +0100 +++ new/osmo-iuh-1.8.1/src/hnbap_encoder.c 2026-08-21 15:14:31.000000000 +0200 @@ -1,7 +1,7 @@ /******************************************************************************* * This file had been created by asn1tostruct.py script v0.5osmo1 * Please do not modify this file but regenerate it via script. - * Created on: 2025-12-04 05:24:40 + * Created on: 2026-08-21 13:14:31 * from ['../asn1/hnbap/HNBAP-PDU-Contents.asn'] ******************************************************************************/ #include <osmocom/hnbap/hnbap_common.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/src/iu_client.c new/osmo-iuh-1.8.1/src/iu_client.c --- old/osmo-iuh-1.8.0/src/iu_client.c 2025-12-04 06:24:16.000000000 +0100 +++ new/osmo-iuh-1.8.1/src/iu_client.c 2026-08-21 15:14:10.000000000 +0200 @@ -461,6 +461,7 @@ if (ranap_parse_lai(&ra_id, &ies->lai) != 0) { LOGPIU(LOGL_ERROR, "Failed to parse RANAP LAI IE\n"); + msgb_free(msg); return -1; } @@ -469,6 +470,7 @@ if (ra_id.rac == OSMO_RESERVED_RAC) { LOGPIU(LOGL_ERROR, "Rejecting RNC with invalid/internally used RAC 0x%02x\n", ra_id.rac); + msgb_free(msg); return -1; } } else { @@ -478,10 +480,17 @@ if (iu_grnc_id_parse(&rnc_id, &ies->globalRNC_ID) != 0) { LOGPIU(LOGL_ERROR, "Failed to parse RANAP Global-RNC-ID IE\n"); + msgb_free(msg); return -1; } sai = asn1str_to_u16(&ies->sai.sAC); + if (ies->nas_pdu.size > msgb_tailroom(msg)) { + LOGPIU(LOGL_ERROR, "RANAP InitialUE: NAS-PDU size %d > tailroom %d, dropping\n", + ies->nas_pdu.size, msgb_tailroom(msg)); + msgb_free(msg); + return -1; + } msgb_gmmh(msg) = msgb_put(msg, ies->nas_pdu.size); memcpy(msgb_gmmh(msg), ies->nas_pdu.buf, ies->nas_pdu.size); @@ -512,6 +521,7 @@ if (ies->presenceMask & DIRECTTRANSFERIES_RANAP_LAI_PRESENT) { if (ranap_parse_lai(&_ra_id, &ies->lai) != 0) { LOGPIU(LOGL_ERROR, "Failed to parse RANAP LAI IE\n"); + msgb_free(msg); return -1; } ra_id = &_ra_id; @@ -524,6 +534,12 @@ } } + if (ies->nas_pdu.size > msgb_tailroom(msg)) { + LOGPIU(LOGL_ERROR, "RANAP DirectTransfer: NAS-PDU size %d > tailroom %d, dropping\n", + ies->nas_pdu.size, msgb_tailroom(msg)); + msgb_free(msg); + return -1; + } msgb_gmmh(msg) = msgb_put(msg, ies->nas_pdu.size); memcpy(msgb_gmmh(msg), ies->nas_pdu.buf, ies->nas_pdu.size); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/src/iu_helpers.c new/osmo-iuh-1.8.1/src/iu_helpers.c --- old/osmo-iuh-1.8.0/src/iu_helpers.c 2025-12-04 06:24:16.000000000 +0100 +++ new/osmo-iuh-1.8.1/src/iu_helpers.c 2026-08-21 15:14:10.000000000 +0200 @@ -194,12 +194,12 @@ return 0; } -int ranap_new_transp_layer_addr(BIT_STRING_t *out, struct osmo_sockaddr *addr, bool use_x213_nsap) +int ranap_new_transp_layer_addr(BIT_STRING_t *out, const struct osmo_sockaddr *addr, bool use_x213_nsap) { uint8_t *buf; unsigned int len; size_t ip_len; - uint8_t *ip_addr; + const uint8_t *ip_addr; uint16_t icp; switch (addr->u.sa.sa_family) { @@ -244,7 +244,7 @@ return 0; } -RANAP_TransportLayerInformation_t *ranap_new_transp_info_rtp(struct osmo_sockaddr *addr, bool use_x213_nsap) +RANAP_TransportLayerInformation_t *ranap_new_transp_info_rtp(const struct osmo_sockaddr *addr, bool use_x213_nsap) { RANAP_TransportLayerInformation_t *tli; uint8_t binding_id[4] = { 0 }; @@ -275,7 +275,7 @@ return tli; } -RANAP_TransportLayerInformation_t *ranap_new_transp_info_gtp(struct osmo_sockaddr *addr, uint32_t tei, +RANAP_TransportLayerInformation_t *ranap_new_transp_info_gtp(const struct osmo_sockaddr *addr, uint32_t tei, bool use_x213_nsap) { RANAP_TransportLayerInformation_t *tli = CALLOC(1, sizeof(*tli)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/src/ranap_decoder.c new/osmo-iuh-1.8.1/src/ranap_decoder.c --- old/osmo-iuh-1.8.0/src/ranap_decoder.c 2025-12-04 06:24:41.000000000 +0100 +++ new/osmo-iuh-1.8.1/src/ranap_decoder.c 2026-08-21 15:14:31.000000000 +0200 @@ -1,7 +1,7 @@ /******************************************************************************* * This file had been created by asn1tostruct.py script v0.5osmo1 * Please do not modify this file but regenerate it via script. - * Created on: 2025-12-04 05:24:41 + * Created on: 2026-08-21 13:14:31 * from ['../asn1/ranap/RANAP-PDU-Contents.asn'] ******************************************************************************/ #include <osmocom/ranap/ranap_common.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/src/ranap_encoder.c new/osmo-iuh-1.8.1/src/ranap_encoder.c --- old/osmo-iuh-1.8.0/src/ranap_encoder.c 2025-12-04 06:24:41.000000000 +0100 +++ new/osmo-iuh-1.8.1/src/ranap_encoder.c 2026-08-21 15:14:31.000000000 +0200 @@ -1,7 +1,7 @@ /******************************************************************************* * This file had been created by asn1tostruct.py script v0.5osmo1 * Please do not modify this file but regenerate it via script. - * Created on: 2025-12-04 05:24:41 + * Created on: 2026-08-21 13:14:31 * from ['../asn1/ranap/RANAP-PDU-Contents.asn'] ******************************************************************************/ #include <osmocom/ranap/ranap_common.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/src/ranap_msg_factory.c new/osmo-iuh-1.8.1/src/ranap_msg_factory.c --- old/osmo-iuh-1.8.0/src/ranap_msg_factory.c 2025-12-04 06:24:16.000000000 +0100 +++ new/osmo-iuh-1.8.1/src/ranap_msg_factory.c 2026-08-21 15:14:10.000000000 +0200 @@ -789,20 +789,18 @@ } /*! \brief generate RANAP RAB ASSIGNMENT REQUEST message for CS (voice). - * See 3GPP TS 25.413 8.2. - * RAB ID: 3GPP TS 25.413 9.2.1.2. - * \param rtp_ip MGW's RTP IPv4 address in *network* byte order. + * \param[in] rab_id The RAB ID of the RAB being assigned (3GPP TS 25.413 9.2.1.2). + * \param[in] rtp_addr MGW's RTP IPv4 address and port. + * \param[in] use_x213_nsap Whether to use X.213 NSAP address encoding. */ -struct msgb *ranap_new_msg_rab_assign_voice(uint8_t rab_id, uint32_t rtp_ip, - uint16_t rtp_port, - bool use_x213_nsap) +struct msgb *ranap_new_msg_rab_assign_voice2(uint8_t rab_id, const struct osmo_sockaddr *rtp_addr, + bool use_x213_nsap) { RANAP_ProtocolIE_FieldPair_t *pair; RANAP_RAB_AssignmentRequestIEs_t ies; RANAP_RAB_AssignmentRequest_t out; struct msgb *msg; int rc; - struct osmo_sockaddr rtp_addr; memset(&ies, 0, sizeof(ies)); memset(&out, 0, sizeof(out)); @@ -818,10 +816,11 @@ first.rAB_Parameters = new_rab_par_voice(6700, 12200); first.userPlaneInformation = new_upi(RANAP_UserPlaneMode_support_mode_for_predefined_SDU_sizes, 1); /* 2? */ - rtp_addr.u.sin.sin_family = AF_INET; - rtp_addr.u.sin.sin_port = htons(rtp_port); - rtp_addr.u.sin.sin_addr.s_addr = htonl(rtp_ip); - first.transportLayerInformation = ranap_new_transp_info_rtp(&rtp_addr, use_x213_nsap); + first.transportLayerInformation = ranap_new_transp_info_rtp(rtp_addr, use_x213_nsap); + if (!first.transportLayerInformation) { + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RANAP_RAB_SetupOrModifyItemFirst, &first); + return NULL; + } /* put together the 'Second' part */ RANAP_RAB_SetupOrModifyItemSecond_t second; @@ -864,10 +863,38 @@ return msg; } +/*! \brief generate RANAP RAB ASSIGNMENT REQUEST message for CS (voice). + * \param[in] rab_id The RAB ID of the RAB being assigned (3GPP TS 25.413 9.2.1.2). + * \param[in] rtp_ip MGW's RTP IPv4 address in *host* byte order. + * \param[in] rtp_port MGW's RTP port in *host* byte order. + * \param[in] use_x213_nsap Whether to use X.213 NSAP address encoding. + * + * See 3GPP TS 25.413 8.2. + */ +struct msgb *ranap_new_msg_rab_assign_voice(uint8_t rab_id, uint32_t rtp_ip, + uint16_t rtp_port, + bool use_x213_nsap) +{ + struct osmo_sockaddr rtp_addr = { + .u.sin = { + .sin_family = AF_INET, + .sin_port = htons(rtp_port), + .sin_addr.s_addr = htonl(rtp_ip), + } + }; + return ranap_new_msg_rab_assign_voice2(rab_id, &rtp_addr, use_x213_nsap); +} + /*! \brief generate RANAP RAB ASSIGNMENT REQUEST message for PS (data) - * \param gtp_ip SGSN's GTP IPv4 address in *network* byte order. */ -struct msgb *ranap_new_msg_rab_assign_data(uint8_t rab_id, uint32_t gtp_ip, - uint32_t gtp_tei, bool use_x213_nsap) + * \param[in] rab_id The RAB ID of the RAB being assigned. + * \param[in] gtp_addr SGSN's GTP IP address. sockaddr port is not used, ignored. + * \param[in] gtp_tei SGSN's GTP TEID in *host* byte order. + * \param[in] use_x213_nsap Whether to use X.213 NSAP address encoding. + */ +struct msgb *ranap_new_msg_rab_assign_data2(uint8_t rab_id, + const struct osmo_sockaddr *gtp_addr, + uint32_t gtp_tei, + bool use_x213_nsap) { RANAP_ProtocolIE_FieldPair_t *pair; RANAP_RAB_AssignmentRequestIEs_t ies; @@ -875,7 +902,6 @@ RANAP_DataVolumeReportingIndication_t *dat_vol_ind; struct msgb *msg; int rc; - struct osmo_sockaddr gtp_addr; memset(&ies, 0, sizeof(ies)); memset(&out, 0, sizeof(out)); @@ -891,10 +917,11 @@ first.rAB_Parameters = new_rab_par_data(1600000, 800000); first.userPlaneInformation = new_upi(RANAP_UserPlaneMode_transparent_mode, 1); - - gtp_addr.u.sin.sin_family = AF_INET; - gtp_addr.u.sin.sin_addr.s_addr = htonl(gtp_ip); - first.transportLayerInformation = ranap_new_transp_info_gtp(>p_addr, gtp_tei, use_x213_nsap); + first.transportLayerInformation = ranap_new_transp_info_gtp(gtp_addr, gtp_tei, use_x213_nsap); + if (!first.transportLayerInformation) { + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RANAP_RAB_SetupOrModifyItemFirst, &first); + return NULL; + } /* put together the 'Second' part */ RANAP_RAB_SetupOrModifyItemSecond_t second; @@ -946,6 +973,24 @@ return msg; } +/*! \brief generate RANAP RAB ASSIGNMENT REQUEST message for PS (data) + * \param[in] rab_id The RAB ID of the RAB being assigned + * \param[in] gtp_ip SGSN's GTP IPv4 address in *host* byte order. + * \param[in] gtp_tei SGSN's GTP TEID in *host* byte order. + * \param[in] use_x213_nsap Whether to use X.213 NSAP address encoding. + */ +struct msgb *ranap_new_msg_rab_assign_data(uint8_t rab_id, uint32_t gtp_ip, + uint32_t gtp_tei, bool use_x213_nsap) +{ + struct osmo_sockaddr gtp_addr = { + .u.sin = { + .sin_family = AF_INET, + .sin_addr.s_addr = htonl(gtp_ip), + } + }; + return ranap_new_msg_rab_assign_data2(rab_id, >p_addr, gtp_tei, use_x213_nsap); +} + /*! \brief generate RANAP IU RELEASE REQUEST message */ struct msgb *ranap_new_msg_iu_rel_req(const RANAP_Cause_t *cause) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/src/rua_decoder.c new/osmo-iuh-1.8.1/src/rua_decoder.c --- old/osmo-iuh-1.8.0/src/rua_decoder.c 2025-12-04 06:24:41.000000000 +0100 +++ new/osmo-iuh-1.8.1/src/rua_decoder.c 2026-08-21 15:14:31.000000000 +0200 @@ -1,7 +1,7 @@ /******************************************************************************* * This file had been created by asn1tostruct.py script v0.5osmo1 * Please do not modify this file but regenerate it via script. - * Created on: 2025-12-04 05:24:41 + * Created on: 2026-08-21 13:14:31 * from ['../asn1/rua/RUA-PDU-Contents.asn'] ******************************************************************************/ #include <osmocom/rua/rua_common.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/src/rua_encoder.c new/osmo-iuh-1.8.1/src/rua_encoder.c --- old/osmo-iuh-1.8.0/src/rua_encoder.c 2025-12-04 06:24:41.000000000 +0100 +++ new/osmo-iuh-1.8.1/src/rua_encoder.c 2026-08-21 15:14:31.000000000 +0200 @@ -1,7 +1,7 @@ /******************************************************************************* * This file had been created by asn1tostruct.py script v0.5osmo1 * Please do not modify this file but regenerate it via script. - * Created on: 2025-12-04 05:24:41 + * Created on: 2026-08-21 13:14:31 * from ['../asn1/rua/RUA-PDU-Contents.asn'] ******************************************************************************/ #include <osmocom/rua/rua_common.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/src/sabp_decoder.c new/osmo-iuh-1.8.1/src/sabp_decoder.c --- old/osmo-iuh-1.8.0/src/sabp_decoder.c 2025-12-04 06:24:41.000000000 +0100 +++ new/osmo-iuh-1.8.1/src/sabp_decoder.c 2026-08-21 15:14:31.000000000 +0200 @@ -1,7 +1,7 @@ /******************************************************************************* * This file had been created by asn1tostruct.py script v0.5osmo1 * Please do not modify this file but regenerate it via script. - * Created on: 2025-12-04 05:24:41 + * Created on: 2026-08-21 13:14:31 * from ['../asn1/sabp/SABP-PDU-Contents.asn'] ******************************************************************************/ #include <osmocom/sabp/sabp_common.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/src/sabp_encoder.c new/osmo-iuh-1.8.1/src/sabp_encoder.c --- old/osmo-iuh-1.8.0/src/sabp_encoder.c 2025-12-04 06:24:41.000000000 +0100 +++ new/osmo-iuh-1.8.1/src/sabp_encoder.c 2026-08-21 15:14:31.000000000 +0200 @@ -1,7 +1,7 @@ /******************************************************************************* * This file had been created by asn1tostruct.py script v0.5osmo1 * Please do not modify this file but regenerate it via script. - * Created on: 2025-12-04 05:24:41 + * Created on: 2026-08-21 13:14:31 * from ['../asn1/sabp/SABP-PDU-Contents.asn'] ******************************************************************************/ #include <osmocom/sabp/sabp_common.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/tests/package.m4 new/osmo-iuh-1.8.1/tests/package.m4 --- old/osmo-iuh-1.8.0/tests/package.m4 2025-12-04 06:24:47.000000000 +0100 +++ new/osmo-iuh-1.8.1/tests/package.m4 2026-08-21 15:14:35.000000000 +0200 @@ -4,9 +4,9 @@ m4_define([AT_PACKAGE_TARNAME], [osmo-iuh]) m4_define([AT_PACKAGE_VERSION], - [1.8.0]) + [1.8.1]) m4_define([AT_PACKAGE_STRING], - [osmo-iuh 1.8.0]) + [osmo-iuh 1.8.1]) m4_define([AT_PACKAGE_BUGREPORT], [[email protected]]) m4_define([AT_PACKAGE_URL], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/tests/test-ranap.c new/osmo-iuh-1.8.1/tests/test-ranap.c --- old/osmo-iuh-1.8.0/tests/test-ranap.c 2025-12-04 06:24:16.000000000 +0100 +++ new/osmo-iuh-1.8.1/tests/test-ranap.c 2026-08-21 15:14:10.000000000 +0200 @@ -83,9 +83,20 @@ struct msgb *msg; const char *imsi = "901700123456789"; uint32_t tmsi = 0x01234567; - uint32_t rtp_ip = 0x0a0b0c0d; - uint16_t rtp_port = 2342; - uint32_t gtp_ip = 0x1a1b1c1d; + struct osmo_sockaddr rtp_addr = { + .u.sin = { + .sin_family = AF_INET, + .sin_port = htons(2342), + .sin_addr.s_addr = htonl(0x0a0b0c0d), + } + }; + struct osmo_sockaddr gtp_addr = { + .u.sin = { + .sin_family = AF_INET, + .sin_port = htons(2152), + .sin_addr.s_addr = htonl(0x1a1b1c1d), + } + }; uint32_t gtp_tei = 0x11223344; uint8_t ik[16] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; uint8_t ck[16] = { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }; @@ -125,13 +136,13 @@ msgb_free(msg); printf("\n==> RAB ASSIGNMENT COMMAND (VOICE)\n"); - msg = ranap_new_msg_rab_assign_voice(1, rtp_ip, rtp_port, 1); + msg = ranap_new_msg_rab_assign_voice2(1, &rtp_addr, 1); if (msg) printf("%s\n", msgb_hexdump(msg)); msgb_free(msg); printf("\n==> RAB ASSIGNMENT COMMAND (DATA)\n"); - msg = ranap_new_msg_rab_assign_data(2, gtp_ip, gtp_tei, 1); + msg = ranap_new_msg_rab_assign_data2(2, >p_addr, gtp_tei, 1); if (msg) printf("%s\n", msgb_hexdump(msg)); msgb_free(msg); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osmo-iuh-1.8.0/tests/testsuite new/osmo-iuh-1.8.1/tests/testsuite --- old/osmo-iuh-1.8.0/tests/testsuite 2025-12-04 06:24:47.000000000 +0100 +++ new/osmo-iuh-1.8.1/tests/testsuite 2026-08-21 15:14:35.000000000 +0200 @@ -923,7 +923,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -osmo-iuh 1.8.0 test suite test groups: +osmo-iuh 1.8.1 test suite test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -964,7 +964,7 @@ exit $at_write_fail fi if $at_version_p; then - printf "%s\n" "$as_me (osmo-iuh 1.8.0)" && + printf "%s\n" "$as_me (osmo-iuh 1.8.1)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1152,11 +1152,11 @@ # Banners and logs. printf "%s\n" "## -------------------------- ## -## osmo-iuh 1.8.0 test suite. ## +## osmo-iuh 1.8.1 test suite. ## ## -------------------------- ##" { printf "%s\n" "## -------------------------- ## -## osmo-iuh 1.8.0 test suite. ## +## osmo-iuh 1.8.1 test suite. ## ## -------------------------- ##" echo @@ -1973,7 +1973,7 @@ printf "%s\n" "Please send $at_msg and all information you think might help: To: <[email protected]> - Subject: [osmo-iuh 1.8.0] $as_me: $at_msg1$at_msg2 + Subject: [osmo-iuh 1.8.1] $as_me: $at_msg1$at_msg2 You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may
