osmo-hnbgw (1.6.0) unstable; urgency=medium [ Pau Espin Pedrol ] * hnbgw_cn: Remove assert hit due to wrong assumption * Increase default X31 val from 5 to 15 seconds * context_map_sccp: Fix assert hit due to missing ev handling * tests/ranap_rab_ass: Test RAB-Ass.req with X.213 IPv4 address len=7 * mgw_fsm: Assume IuUP HNB IP addr = Iuh during MGCP CRCX on RAN side * mgw_fsm: Modify RAB on HNB if IuUP local IP addr at MGW changes during MDCX * hnbap: Avoid calling duplicate getpeername() for each registered HNB [ Neels Janosch Hofmeyr ] * X31: fix vty doc * allow (second) CS RAB Assignment Request without RTP info * systemd,manual: set LimitNOFILE=65536 * rua: validate correct RUA ctx state per RUA message type * rua: move from ERROR to DEBUG log: stray RUA Disconnect * pfcp: fix modification of wrong FAR ID * tweak vty doc: "UDP port" * add tests/pfcp_cfg.vty.with_pfcp * pfcp: fix missing vty_write of pfcp local-port * pfcp: implement sending Network Instance IEs * fix null deref on hnb_context_release * drop legacy hack: do not start MGW endp in loopback mode * fixup: compilation error: unused var in map_rua_init_action() * fix rate_ctr leak in hnb_persistent_free() * per-HNB GTP-U traffic counters via nft * add hnb_persistent hashtable: optimize lookup by cell id * fix stat_item leak in hnb_persistent_free() * use osmo_jhash for the hnb_persistent hashtable * rename to umts_cell_id_to_str() * umts_cell_id: add umts_cell_id_to_str_buf() * add umts_cell_id_test.c * 3-digit MNC: use osmo_plmn_id in struct umts_cell_id * add LOG_HNBP() for hnb_persistent * hnb_persistent: introduce disconnected timeout * prevent use-after-free after FSM instance termination * improve HNBAP error logging * nft-kpi: log errors of counter retrieval * nft-kpi: remove X34 drifting: adjust delay by elapsed time * drop list of HNBAP UE Context * dbg log: nft kpi: clarify nr of rate ctrs vs nr of hnbp * fix MGCP compat with osmo-mgw <= 1.12.2: CRCX in recvonly [ Andreas Eversberg ] * Use uniform log format for default config files [ Harald Welte ] * Display RANAP state during 'show cnlink' * Fix license headers: Should have been AGPLv3+, not GPLv2+ * [cosmetic] re-order hnbgw.c to group code in major blocks * umts_cell_id_name: Use 3-digit MCC and 2/3-digit MNC based on VTY config * osmo_hnbgw_main: Install our usual SIGUSR1/SIGUSR2/SIGABRT handlers * Introduce umts_cell_id_from_str() as inverse of umts_cell_id_name() * Introduce concept of per-HNB persistent data structure * Set persistent->ctx pointer on HNB REGISTER REQ * New per-hnb rate_ctr and stat_item groups; track uptime * Various new per-hnb RANAP and RUA counters * stats: Introduce CNLINK counter macros * stats: Introduce CNPOOL counter macro * stats: Introduce basic counters for RANAP unit-data from CN links * cosmetic: Fix comment in mgw_fsm.c: One RAB per context_map, not hnb! * cosmetic: talk about cs_rab_ass_* when working in CS domain * cosmetic: Rename hnbgw_rx_ranap and friends to *_rx_ranap_udt_ul * rename hnbgw_peek_l3 to hnbgw_peek_l3_ul as it's uplink only * don't forward paging requests to HNB's not yet registered * vty: Print the uptime during 'show hnb' output * Introduce counter for per-hnb cumulative active CS RAB duration * stats: Add per-hnb paging:{cs,ps}:attempted counter * cosmetic: align downlink RANAP unitdata function names with uplink * mgw_fsm: Add some OSMO_ASSERT() to ensure only CS maps passed * RAB activation/modification/release statistics * context_map_{rua,sccp}: Re-order to always process KPIs * generalize hnbgw_tx_ue_register_rej_tmsi() to hnbgw_tx_ue_register_rej() * HNBAP: Use proper cause values during HNB-REGISTER-REQ processing * HNBAP: Send HNB-REGISTER-REJ on ASN.1 decoding error * HNBAP: Always respond to UE-REGISTER-REQUEST * HNBAP: Make sure to respond with correct "reject" * HNBAP: Transmit ErrorIndication in more situations * HNBAP: use GSM23003_IMSI_MAX_DIGITS instead of magic number * HNBAP: Support IMSI identity type in hnbgw_tx_ue_register_rej() * counters: Distinguish between normal and abnormal release cause * KPI: Add initial set of DTAP message type rate counters * kpi_ranap: Avoid null pointer de-ref during HNB shutdown [ Oliver Smith ] * gitignore: add *.la, hnbgw_vty_reference.xml * debian: fix having no manuals in osmo-hnbgw-doc * .deb/.rpm: various fixes related to non-root * contrib: remove rpm spec file * debian/postinst: add checks, be verbose * contrib/jenkins: set --enable-werror [ Max ] * .deb/.rpm: add osmocom user during package install -- Oliver Smith Thu, 25 Jul 2024 10:05:58 +0200 osmo-hnbgw (1.5.0) unstable; urgency=medium [ Neels Janosch Hofmeyr ] * UE state leak: when HNB re-registers, discard previous UE state * Deprecate 'sccp cr max-payload-len', remove SCCP CR limit code * cosmetic: drop stray backslash * drop obsolete fixme comment * various comment tweaks * log tweak * cosmetic: rename context_map_deactivate * fix deprecation: use ranap_cn_rx_co_decode2() * rua_to_scu(): drop dead code for connection-less * use RUA procedure code for rua_to_scu() arg * cosmetic: regroup members of hnbgw_context_map * add design charts for new context map FSMs * context map: introduce RUA and SCCP FSMs to fix leaks * log osmo_fsm timeouts * sccp_sap_up(): ignore PCSTATE.ind * fix regression: unbreak PFCP: PS RAB via UPF proxying * tweak LOGHNB() * debug log: log received RANAP message types on DCN, DHNB * map_sccp: on timeout during WAIT_CC, send N-DISCONNECT to SCCP-SCOC * release UE Contexts on HNB (Re-)Register * release UE Contexts on SCTP_RESTART * log: in new RUA,SCCP FSM IDs, indicate CS/PS * vty: 'show ue': show which HNB the UE is registered on * fix vty: show talloc-context all * place asn1 context under hnb_ctx for better visibility * fix asn1 leak in handle_cn_ranap() * fix asn1 leak in error path of hnbgw_tx_ue_register_acc() * fix asn1 leak in error path of hnbgw_tx_ue_register_acc_tmsi() * fix asn1 leaks in ps_rab_ass_resp_send_if_ready() * fix asn1 leak in hnbgw_rua_rx() * less code dup in mem free of hnbgw_rx_ue_register_req() * fix log msg typo 'Unsupportedccept' * actually run vty-tests: VTY transcript tests * actually run vty-tests: osmotestvty.py * rab_ass_fsm.c: fix asn1 memleak when replacing GTP address * ps_rab_ass_fsm.h: fix dup of FSM event enum * drop empty hnbgw_rua_init() * eliminate function hnb_contexts() * vty: fix doc strings for 'show {hnb,ue}' * actually run vty-tests: osmotestconfig.py * drop ctrl_test_runner.py * comment typo fix in ranap_rab_ass.c * simplify: one g_hnbgw as global state and root ctx * ranap_rab_ass_test.c: clarify talloc contexts * move main() to separate file * add non-installed libhnbgw.la for test linkage * vty: make legacy 'hnbgw'/'sccp cr max...' fatal * vty test: show missing write-back of 'rnc-id' * fix missing write-back of rnc-id * drop dead code: cnlink.T_RafC * remove obsolete context_map_check_released() call * unbloat: drop context_map_check_released() * vty_go_parent(): remove legacy cruft * immediately SCCP RLSD on HNB re-register * use new osmo_sccp_instance_next_conn_id() * add doc/examples/osmo-hnbgw/osmo-hnbgw-cs7.cfg * add separate cfg file only for VTY tests * add startup config tests * charts: add sccp.dot * cnpool: allow separate cs7 for IuPS and IuCS * coverity: fix type of local var * cnpool: split up context_map_find_or_create_by_rua_ctx_id() * cnpool prep: add SCCP_EV_USER_ABORT * cnpool: add multiple 'msc' and 'sgsn' cfg (use only the first) * cnpool: examples and config tests: use 'msc 0'/'sgsn 0' syntax * cnpool: make NRI mappings VTY configurable * tdefs; combine timer groups 'ps' and 'cmap' to 'hnbgw' * add hnbgw_decode_ranap_co() * fixup for 'cnpool: split up context_map_find_...' * startup config tests: show default 'msc 0', 'sgsn 0' * cnpool: extract Mobile Identity from RANAP payload * add rate_ctr infra; add rate_ctrs for cnpool * add CTRL transcript tests for cnpool rate ctrs * cnpool: select CN link from pool by NRI or round robin * doc/examples/osmo-hnbgw/osmo-hnbgw-cnpool.cfg * fix umts_cell_id_name(): show CID * make public: umts_cell_id_name() * tweak lots of logging * ctrl test: also test msc 1 * cnpool: add context_map_cnlink_lost() handling * add ranap_domain_name() * detect in/active CN links by RANAP RESET * use cnlink state in cnpool decisions * cnpool: return Paging Resp to the exact CN link that Paged * cfg: add 'hnbgw' / 'plmn MCC MNC' * include Global RNC-ID in RESET * include Global RNC-ID in RESET-ACK * RUA: log tweak * coverity: hnbgw_cn: avoid NULL deref in LOGP [ Philipp Maier ] * mgw_fsm: fix typo * mgw_fsm: fix log line * mgw_fsm: use __func__ to mention function name in log line * mgw_fsm: refactor helper function handle_rab_release() * ranap_rab_ass: do not free never allocated FieldItems * ranap_rab_ass: be sure to initialize memory with 0 [ Vadim Yanitskiy ] * tests: use check_PROGRAMS for tests, not noinst_PROGRAMS * tests: use -no-install libtool flag to avoid ./lt-* scripts * tests: make 'vty-test' target depend on osmo-hnbgw binary * tests: do not depend on undefined $(BUILT_SOURCES) * copyright: fix typo: sysmocom s/s.m.f.c./s.f.m.c./ GmbH [ Oliver Smith ] * hnbgw_mgw_setup: use mgcp_client_pool_empty() * debian: set compat level to 10 * contrib/jenkins.sh: add PFCP variable * hnbgw: put copyright into define * systemd: depend on networking-online.target [ Pau Espin Pedrol ] * manuals: include osmo-gsm-manual's sigtran.adoc * tests: Update *.vty after libosmo-sccp VTY improvements * Use new mgcp_client_conf_alloc() API to alloc mgcp_client_conf * Tear down call if local IuUP MGW address changed during MDCX -- Pau Espin Pedrol Tue, 12 Sep 2023 17:18:43 +0200 osmo-hnbgw (1.4.0) unstable; urgency=medium [ Pau Espin Pedrol ] * hnbgw_cn.c: Guard against null ss7 ptr during init * cosmetic: Fix typo in log and whitespace * hnbgw: Log new SCTP HNB connections * hnb_context_release(): Make sure assigned conn is freed * Improve logging around hnb_context and sctp conn lifecycle * Change log level about conn becoming closed to NOTICE * hnbgw: Unregister HNB if SCTP link is restarted * hnbgw: Fix recent regression not closing conn upon rx of SCTP_SHUTDOWN_EVENT * hnbap: Accept duplicated HNB Register Request on same conn * hnbap: Improve logging around HNBAP HNB Register Request * Workaround bug where old hnb_context from same remote addr+port is kept * Fix handling of sctp SCTP_SHUTDOWN_EVENT notification * Close conn when receiving SCTP_ASSOC_CHANGE notification * hnb_read_cb: use local var to reduce get_ofd() calls * hnb_read_cb(): -EBADF must be returned if conn is freed to avoid use-after-free * Clear SCTP tx queue upon SCTP RESTART notification * Makefile.am: Drop duplicated LIBOSMOMGCPCLIENT_LIBS * Introduce support for libosmo-mgcp-client MGW pooling * doc: Include mgwpool.adoc from osmo-gsm-manuals * vty: Fix timers not printed when dumping running-config * hnbgw: Avoid allocating SCCP conn id >0x00fffffe * context_map: Lower loglevel to INFO when deallocating context IDs [ Neels Hofmeyr ] * mgw_fsm: move MGCP timeout to mgw_fsm_T_defs * fix test_ranap_rab_ass_resp_decode_encode * ranap_rab_ass_req_encode(): return msgb * add ps_rab_ass FSM to map GTP via UPF * reduce code dup in handle_cn_data_ind() * build: add --enable-pfcp, make PFCP dep optional * optimize: decode PS msgs only when PFCP is enabled * ps_rab_fsm: check use cb success * add example osmo-hnbgw-pfcp.cfg * manual: add missing bit on the MGCP port * manual: update overview chart with PFCP * manual: update IuCS/IuPS protocol stack chart * manual: explain the PFCP port * example cfg: tweak logging * debian,RPM: package with PFCP support [ Vadim Yanitskiy ] * tests/ranap_rab_ass: fix potential NULL pointer dereferences * configure.ac: do not require unused dlopen [ Oliver Smith ] * rpm spec: add osmo-hnbgw-pfcp.cfg [ Daniel Willmann ] * Install show talloc-context VTY commands * hnbgw_hnbap: Fix memory leaks in HNBAP handling [ Harald Welte ] * packate the new osmo-hnbgw-pfcp.cfg example config file * cosmetic: Fix typos * Abort if processing SCTP connection without HNB context * hnbgw_rx_hnb_deregister: Don't call hnb_context_release() * Don't process RUA messages if HNB is not registered * Don't permit anything but HNB (de)registration until HNB is registered [ Neels Janosch Hofmeyr ] * fix regression: in RUA, do PFCP only when enabled * do not depend on libosmo-gtlv * drop bogus error log 'no MGW fsm' * fix segfault on MGCP timeout * fix msgb leak for RANAP RAB Ass. Req. * fix possible leak of ue_context on UE REGISTER error * fix SCCP conn leak on non-graceful HNB shutdown * coverity: hnbgw_rua.c: remove redundant check [ Max ] * Set working directory in systemd service file * ctrl: take both address and port from vty config [ arehbein ] * osmo-hnbgw: Transition to use of 'telnet_init_default' -- Pau Espin Pedrol Tue, 07 Feb 2023 18:05:46 +0100 osmo-hnbgw (1.3.0) unstable; urgency=medium [ Philipp Maier ] * hnbgw_cn.c: fix sourcecode formatting * hbgw_hnbap: use osmo_plmn_from_bcd instead of gsm48_mcc_mnc_from_bcd * ranap_rab_ass: add decoder and rewrite functions for RAB-AssignmentRequest/Response * ranap_rab_ass: ensure specific rab_id * ranap_rab_ass: add function to check if RAB is in FailureList * ranap_rab_ass: add function to check if RAB is in ReleaseList * ranap_rab_ass_test: cosmetic: correct test function names * mgw_fsm: add MGW support to osmo-hnbgw * overview.adoc: update network diagram * running.adoc: explain MGW configuration * osmo-hnbgw.cfg: use local port 2729 as default for MGCP client * mgw_fsm: release call when FSM is not created * ranap_rab_ass: check for more than one RAB assignment req [ Neels Hofmeyr ] * use osmo_select_main_ctx(), tweak log in handle_cn_conn_conf() * allow calling rua_to_scu() without data * tweak comments in rua_to_scu() * add option to send SCCP CR without payload * fix segfault in error handling for mgw_fi == NULL [ Pau Espin Pedrol ] * mgw_fsm: Mark structs as static const * mgw_fsm: Improve logging * cosmetic: mgw_fsm: Fix typo in log * mgw_fsm: Change macro to not use local variables implicitly * mgw_fsm: Fix error path accessing uninitialized fsm ptr * mgw_fsm: Simplify cleanup paths [ Harald Welte ] * update URLs (git -> https; gitea) -- Pau Espin Pedrol Wed, 29 Jun 2022 12:42:35 +0200 osmo-hnbgw (1.2.1) unstable; urgency=medium * Do not turn some compiler warnings into errors by default -- Pau Espin Pedrol Tue, 11 Jan 2022 18:55:50 +0100 osmo-hnbgw (1.2.0) unstable; urgency=medium * Initial structure + import code from osmo-iuh.git * Populate debian/changelog to avoid build failures -- Pau Espin Pedrol Wed, 05 Jan 2022 12:17:16 +0100 osmo-hnbgw (0.0.0) unstable; urgency=medium * Initial debian package -- Pau Espin Pedrol Wed, 05 Jan 2022 11:58:28 +0200