osmo-sgsn (1.12.0.75.1fd20.202511041800) unstable; urgency=medium

  * Automatically generated changelog entry for building the Osmocom nightly feed

 -- Osmocom OBS scripts <info@osmocom.org>  Tue, 04 Nov 2025 18:01:37 +0000

osmo-sgsn (1.12.0) unstable; urgency=medium

  [ Andreas Eversberg ]
  * Use uniform log format for default config files

  [ Vadim Yanitskiy ]
  * build: include README.md into the release tarball
  * gmm: cosmetic: fix preprocessor macro formatting
  * gmm: mmctx_timer_stop(): warn about timer not running
  * VTY: move default settings to sgsn_instance_alloc()
  * VTY: sync default UMTS UEA config with osmo-msc
  * README.md: cosmetic: fix a typo

  [ Pau Espin Pedrol ]
  * gsup: Use new libosmogsm struct osmo_gsup_pdp_info fields

  [ Harald Welte ]
  * Add funding link to github mirror
  * README.md: Overhaul (more links; improved formatting)
  * README.md: Add Forum and Issue Tracker sections

  [ Max ]
  * .deb/.rpm: add osmocom user during package install

  [ Oliver Smith ]
  * contrib/osmo-sgsn.spec: fix build for almalinux:8
  * .deb/.rpm: various fixes related to non-root
  * contrib: remove rpm spec file
  * debian/postinst: add checks, be verbose
  * sgsn/sgsn_vty: create state-dir
  * debian/osmo-gtphub.init: delete
  * doc: set state-dir to /var/lib/osmocom/osmo-sgsn

  [ Alexander Couzens ]
  * docs: replace legacy NS with new NS2 chapters
  * docs: update year to 2024
  * docs: front page: use https:// instead of http://

 -- Oliver Smith <osmith@sysmocom.de>  Wed, 24 Jul 2024 17:31:38 +0200

osmo-sgsn (1.11.1) unstable; urgency=medium

  [ Philipp Maier ]
  * sgsn_rim: forward message based on RIM ROUTING ADDRESS

  [ Daniel Willmann ]
  * sgsn_vty: Fix output in config_write_sgsn
  * sgsn_vty: Correctly indent encryption cipher-plugin-path
  * vty-tests: Test encryption options
  * libgtp: Check for all successful create_pdp_conf causes

 -- Oliver Smith <osmith@sysmocom.de>  Tue, 28 Nov 2023 13:32:46 +0100

osmo-sgsn (1.11.0) unstable; urgency=medium

  [ Oliver Smith ]
  * Run struct_endianness.py
  * debian: set compat level to 10
  * systemd: depend on networking-online.target

  [ arehbein ]
  * Transition to use of 'telnet_init_default'

  [ Vadim Yanitskiy ]
  * tests: use -no-install libtool flag to avoid ./lt-* scripts
  * tests: $(BUILT_SOURCES) is not defined, depend on osmo-sgsn
  * copyright: fix typo: sysmocom s/s.m.f.c./s.f.m.c./ GmbH

  [ Pau Espin Pedrol ]
  * gmm: Ciphering Key Sequence Number IE has half octet tag
  * gprs_sm.c: Fix load of misaligned ptr address
  * Write explicit role & sctp-role fields in ASP configurations
  * gmm: Update DRX params during rx RAU REQ
  * gmm: Add missing GSM48_IE_GMM_RX_NPDU_NUM_LIST IE in gsm48_gmm_att_tlvdef

  [ Philipp Maier ]
  * sgsn_rim: fix typo
  * sgsn_rim: cosmetic: improve comment
  * sgsn_rim: get rid of MME check in sgsn_rim_rx_from_gtp:
  * sgsn_rim: do not check the origin of a RIM message

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 12 Sep 2023 16:57:02 +0200

osmo-sgsn (1.10.0) unstable; urgency=medium

  [ Vadim Yanitskiy ]
  * configure.ac: do not require unused dlsym/dlopen
  * gprs_llc: fix misleading spacing in gprs_llc_rcvmsg()
  * gprs_llc.h: use '#pragma once'
  * llc: gprs_llc_fcs(): make the input data pointer const

  [ Max ]
  * Set working directory in systemd service file
  * SNDCP: log more details on failure
  * GTP: migrate from deprecated function
  * Constify LLC/SNDCP parameters
  * GMM: permit E_GMM_COMMON_PROC_SUCCESS in normal state
  * ctrl: take both address and port from vty config

  [ Pau Espin Pedrol ]
  * vty: Make new libgtp tdefs configurable through VTY
  * sndcp: Put decompress handling code into helper function
  * Move gprs_gb_parse.[c,h] to tests/sgsn/
  * Create new specific file for BSSGP code
  * Move some functions gprs_gb.[c,h] -> gprs_gmm.[c,h]
  * Rename gprs_gb.[c,h] -> gprs_ns.[c,h]
  * Move gprs_tmr_to_secs() to tests/gprs/gprs_test.c
  * cosmetic: gprs_llc_vty.c: Fix trailing whitespace
  * vty: Fix wrong value_string used to print llme state
  * Standarize lle and llme state enum & value_string
  * Remove unused function gprs_parse_mi_tmsi()
  * Replace gprs_str_to_apn() with libosmocore API osmo_apn_from_str()
  * Move struct sgsn_ggsn_ctx to its own file gtp_ggsn.{c,h}
  * gprs_subscriber: Move API declarations to correct header
  * Move gprs_sndcp_vty_init() declaration to gprs_sndcp.h
  * Introduce new header file sgsn/gtp.h
  * Fix -Werror=old-style-definition
  * Move related structs to gprs_subscriber.h
  * Remove unneeded extern declaration from libosmocotrl
  * Keep sgsn subsystems under struct sgsn_instance lifecycle
  * Move global ggsn_list into struct sgsn_instance
  * Move struct apn_ctx and APN related definitions to its own file
  * Move struct sgsn_subscriber_pdp_data to gprs_subscriber.h
  * sgsn.h: Drop declaration of non existing function
  * Properly split llc->sndcp->gtp unitdata pathi through extra func call
  * Move func defintions of funcs implemented in gprs_sndcp.c to gprs_sndcp.h
  * sndcp: Standarize unitdata function naming
  * Move gtp related functions to gtp.h
  * Move global apn_list inside struct sgsn_instance
  * gtp_{ggsn,mme}: Allocate contexts under struct sgsn_instance
  * Move extern declarations of tall_sgsn_ctx to sgsn.h
  * Drop extern declarations of global sgsn_instance in source files
  * Move sgsn_pdp_ctx to its own file pdpctx.{c,h}
  * Move global pdp_list inside struct sgsn_instance
  * Move gtphub header to include/osmocom/gtphub/
  * Move sgsn_ctrl_cmds_install() declaration to sgsn.h
  * Move LOGGSUBSCRP to gprs_subscriber.h
  * Rename bscconfig.h -> config.h
  * gtphub.h: Remove dependency on sgsn/gprs_sgsn.h
  * Split gprs_sgsn.{c,h} -> {auth,mmctx,sgsn}.{c,h}
  * Move global mmctx list into struct sgsn_instance
  * vty: Introduce encryption cipher-plugin-path command
  * Fix extra whitespace in pdpctx_ctr_description

  [ Oliver Smith ]
  * contrib/jenkins.sh: use enable-werror with IU too
  * sgsn_libgtp: cb_data_ind: remove mm_idle assert
  * osmo-gtphub.cfg: fix conflict with osmo-ggsn.cfg

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 07 Feb 2023 17:34:26 +0100

osmo-sgsn (1.9.0) unstable; urgency=medium

  [ Oliver Smith ]
  * llme_free: clean up related sndcp
  * treewide: remove FSF address

  [ Pau Espin Pedrol ]
  * Drop unneeded ax_check_compile_flag.m4
  * Revert "sgsn: Handle different levels of QoS"

  [ Neels Hofmeyr ]
  * s/cipher_support_mask/gea_encryption_mask
  * Iu: add UEA encryption

  [ Vadim Yanitskiy ]
  * tests: use 'check_PROGRAMS' instead of 'noinst_PROGRAMS'

  [ Harald Welte ]
  * update git URLs (git -> https; gitea)
  * README: Major update

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Wed, 29 Jun 2022 11:45:08 +0200

osmo-sgsn (1.8.0) unstable; urgency=medium

  [ Harald Welte ]
  * Remove bogus DNS log category

  [ Daniel Willmann ]
  * manuals: Regenerate counters/VTY through docker

  [ Vadim Yanitskiy ]
  * main: resurrect removed 'ns' logging category as deprecated
  * doc/manuals: update configuration.adoc to use new command syntax
  * tests/Makefile.am: do not try removing non-existing files

  [ Pau Espin Pedrol ]
  * ranap: log ranap iu event type name instead of number
  * gmm: log GMM msg type name instead of number
  * gmm: Expect E_VLR_ANSWERED when in ST_IU_SECURITY_CMD
  * gmm_fsm: Expect E_GMM_COMMON_PROC_INIT_REQ when in ST_GMM_COMMON_PROC_INIT
  * mm_iu: Send event E_PMM_PS_CONN_ESTABLISH upon rx GMM SERVICE REQUEST
  * mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE
  * gprs_gmm.c: State proper GMM prefix logging rx/tx of GMM messages
  * mm_state_iu_fsm: T3314 expiry must lead to PMM IDLE, not PMM DETACHED
  * Iu: Drop timer X3314
  * gprs_ranap.c: Clean up code path releasing IU conn
  * mm_state_{gb,iu}_fsm: Add missing license block, improve spec references
  * mm_state_{gb,iu}_fsm: Improve naming for detach event
  * Drop unused GBRPOXY enum field
  * gtp: Delete ctx upon receive UpdateCtxResp with cause Non-existent
  * Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN
  * Use new stat item/ctr getter APIs

  [ Keith ]
  * vty: Fix optional display of pdp with mm-context
  * VTY: Don't display 'PDP Address: invalid' for IPv4v6

  [ Eric ]
  * add support for multiple encryption algorithms and a5/4

  [ Oliver Smith ]
  * gtphub: remove llist_first, llist_last macros
  * vty: add "page imsi"
  * debian/control: remove dh-systemd build-depend
  * Revert "Turn some compiler warnings into errors"

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 16 Nov 2021 17:57:50 +0100

osmo-sgsn (1.7.0) unstable; urgency=medium

  [ Daniel Willmann ]
  * gprs_gmm: Check for RAT change and ensure this only happens for RAU/ATT
  * gbproxy-usermanual: Explain BSSGP/BVC handling
  * gbproxy: Whitespace fixes
  * gbproxy: Add todo for BVC RESET logic
  * gbproxy: Get the peer if paging by BVCI on SIG_BVC
  * Let libosmocore handle VTY parent node tracking
  * osmo-gbproxy: Free msgb in ns2 prim callback
  * configure.ac: Require python3 for ext_tests
  * osmo-gbproxy: Implement nsvc-state ctrl command
  * gbproxy: Remove test testing NSVCI change
  * gbproxy: Add NSE peer that can have multiple gbproxy_peers
  * gbproxy: Ensure BVC0 is reset before handling PtP BVCs
  * gbproxy: Only send paging to each matching NSE once
  * gbproxy: Separate function to move gbproxy_peer to different nse
  * gbproxy: Add logging macros for NSE and BVC
  * gbproxy: Use LOG macros for NSE/BVC
  * gbproxy: Change generic LOG messages so BVCI/NSEI fmt is consistent
  * gbproxy: Add todos encountered while going through the code
  * gbproxy: Add BVC log filters
  * gbproxy: Add newline to log message
  * gbproxy: Allow gbproxy_nse_free(NULL)
  * gbproxy: Delete gbproxy_nse in delete-gbproxy-peer VTY command
  * mm_state_gb_fsm: Handle implicit detach from mm_standby
  * gbproxy: Fix bvci check in gbprox_rx_ptp_from_*
  * osmo-gbproxy: Initialize all hash_maps
  * gbproxy: Fix confusing log message in gbprox_relay2nse
  * gbproxy: Add SGSN NRI configuration
  * gbproxy: Add SGSN pooling support
  * gbproxy: Add comments to sgsn functions
  * gbproxy: Add config option to name an SGSN
  * gbproxy: Add VTY command to override the node selection function
  * Fix gbproxy_sgsn_by_tlli wraparound
  * gbproxy: Implement TLLI cache and use it for SUSPEND/RESUME
  * gbproxy: Increase TLLI cache timeout to 10s
  * gbproxy: Implement IMSI cache
  * gbproxy: Use IMSI cache to handle PAGING_PS_REJECT
  * gbproxy: Use C-style comments
  * gbproxy: Move helper function to a more logical place
  * gbproxy: Remove unused variable assignment
  * gbproxy: Fix VTY cmd name
  * gbproxy: Define and use help string for gbproxy
  * gbproxy: Add VTY commands to query the TLLI/IMSI cache
  * gbproxy: Use IMSI cache for PTP paging and implement DUMMY_PAGING_PS
  * gbproxy: Print the correct message type for dummy paging/paging reject
  * gbproxy: Improve log messages in gbproxy_select_sgsn
  * gbproxy: Fix radio status routing by TMSI
  * manual/gbproxy: Update overview chapter
  * Rename OsmoGbPROXY -> *Proxy
  * manuals/gbproxy: Update configuration chapter
  * manuals/gbproxy: Add osmo-bsc MSC pooling chapter from Neels as a base
  * manuals/gbproxy: MSC -> SGSN for pooling chapter
  * manuals/gbproxy: Move pooling to separate chapter

  [ Alexander Couzens ]
  * gprs_gmm_fsm.c: Implement RAT change between 2g and 3g
  * gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr
  * gprs_llc: _bssgp_tx_dl_ud: ensure the LLME is valid before using it
  * gmm: on invalid RA id reject the MS with an implicit detach
  * gtphub_test: fix compilation error on gcc 10.2.0
  * gtphub: fix compilation with gcc 10.2.0
  * Port gbproxy to NS2
  * sgsn: check for NULL of gprs_subscr_get_or_create()
  * sgsn: Use the new NS2 api
  * gbproxy: use ns2 vty2
  * configure.ac: define a c standard instead of using the compilers default
  * follow libosmocore/gprs_ns2 API changes of GPRS enums
  * gbproxy: follow gprs_ns2 API vty changes
  * sgsn: migrate to the new gprs_ns2_vty configuration
  * follow libosmocore/gprs_ns2 API changes (gprs_ns2_dynamic_create_nse)

  [ Neels Hofmeyr ]
  * manual: explain IuPS, add SCCP/M3UA section from common chapters
  * fix nullpointer: in gsm48_rx_gmm_ra_upd_req()
  * gsup: send RAT type on LU
  * gbproxy_test.c: fix mobile identity test data
  * use new osmo_mobile_identity API everywhere

  [ Eric ]
  * tests: dlopen does not imply availability of dlsym..
  * configure.ac: fix libtool issue with clang and sanitizer

  [ Harald Welte ]
  * gtphub_test: Fix compilation with gcc-10
  * Fix memory leak when SNDCP de-fragmentation is used
  * Treat RAU as implicit RESUME if GMM is suspended
  * *.spec.in: Use %config(noreplace) to retain current config file
  * Send a BVC-RESET to all persistent Gb interfaces at start-up
  * Use osmo_fd_setup() whenever applicable
  * Use osmo_fd_*_{disable,enable}
  * gbproxy: Properly implement paging to LAC/RAC
  * gbproxy: Implement paging to entire BSS area
  * gprs_gb_parse: Add function to determine TLLI from encoded BSSGP
  * gbproxy: Pass TLLI as LSP towards NS to facilitate load sharing
  * gb_proxy_peer: Add some FIXMEs regarding invalid assumptions
  * gb_proxy: More precise + readable log messages
  * gb_proxy: Broadcast SGSN-INVOKE-TRACE and OVERLOAD
  * gbproxy: Move BSS-side BVC-RESET processing to its own function
  * gb_proxy: Slightly restructure processing of BSS-originated BVC-RESET
  * gbproxy: Cosmetics: use longer lines
  * gbproxy: Send BVC-STATUS if BSS sends us BVC-RESET without mandatory IEs
  * gb_proxy: Use TLVP_PRES_LEN instead of TLVP_PRESENT
  * gb_proxy: Rename gbproxy_peer to gbproxy_bvc
  * gbproxy: Rename gbproxy_cfg.nses to gbproxy_cfg.bss_nses
  * gbproxy: convert bss_nses from llist_head to hashtable
  * gbproxy: convert nse->bvcs from llist_head to hashtable
  * gbproxy: Remove patching, TLLI-tracking and SGSN2 support
  * gb_proxy: cosmetic: Use function rather than open-coding is_sgsn
  * gbproxy: Delete gbproxy_test
  * gb_proxy: Introduce more validation / constraint checks
  * gbproxy: use gbprox_relay2peer() whenever possible
  * gb_proxy: Use osmo_tlv_prot_parse() to validate mandatory IEs
  * gbproxy: Log FSM timeouts
  * migrate to DLBSSGP as log sub-system for BSSGP
  * gbproxy major rewrite for SGSN pool support
  * gbproxy: Use "(nsei << 16) | bvci" as rate_ctr_group index
  * gbproxy: Introduce new DOBJ log category; log object allocation/release
  * gbproxy: Don't create an extra msgb copy for SGSN DL SIG
  * gbproxy: Implement handling of BVC Flow Control
  * gbproxy: Copy RA-ID from BSS side BVC to CELL and SGSN-side BVC
  * gbproxy: (Re)allocate SGSN-side PTP BVC even if CELL already exists
  * gbproxy: Fix segfault when receiving PAGING for unknown destination
  * gbproxy: Add FSM related VTY commands
  * gbproxy: Implement scaling of BVC flow control in SGSN pool
  * gbproxy: Improve VTY state introspection
  * gbproxy: rename vty command "show gbproxy ..." to "show gbproxy bvc ..."
  * gbproxy: Add "show gbproxy cell ..." VTY command
  * gbproxy: Fix build on Deiban 8
  * gb_proxy: Don't use orphan log subsystem DPCU
  * gbproxy: Avoid depending on any of the SGSN code
  * main: add --vty-ref-mode, use vty_dump_xml_ref_mode()
  * manuals: generate vty reference xml at build time

  [ Pau Espin Pedrol ]
  * Use OSMO_FD_* instead of deprecated BSC_FD_*
  * sgsn_libgtp: Improve ps-paging logging
  * gprs_gmm_fsm.c: Add missing license header
  * sgsn_libgtp: Avoid ps-paging MS on GMM Suspended state
  * configure.ac: Fix trailing whitespace
  * doc: Update VTY reference xml file
  * Support setting rt-prio and cpu-affinity mask through VTY
  * Change default SCTP conn NULL->127.0.0.1 to localhost->localhost
  * contrib/jenkins: Enable parallel make in make distcheck
  * Log error if pdp ctx is freed while holding an active timer
  * Fix crash rx DeactPdpReq while waiting for DeactPdpAck after gtp side is freed
  * sgsn_delete_pdp_ctx: Add documentation and assert assumptions
  * process_ms_ctx_status: refactor to avoid code duplication
  * process_ms_ctx_status: Fix crash deleting PDP Ctx if GTP side was already released
  * gbproxy: generate coredump and exit upon SIGABRT received
  * gtphub: generate coredump and exit upon SIGABRT received
  * sgsn: generate coredump and exit upon SIGABRT received
  * gmm: fix build without define PTMSI_ALLOC
  * gmm: Introduce comment to ease addition of Network feature support IE later
  * .gitignore: Ignore new autofoo tmp files
  * sndcp: Fix struct bit fields on big endian
  * Fix nsei+bvci not updated on rx UL SNDCP data

  [ Oliver Smith ]
  * contrib: import RPM spec
  * contrib: integrate RPM spec
  * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in
  * contrib/jenkins: don't build osmo-gsm-manuals
  * gbproxy: remove (moved to own repository)

  [ Vadim Yanitskiy ]
  * debian/control: change maintainer to the Osmocom team / mailing list
  * gb_proxy_peer: sgsn can never be NULL in gbproxy_sgsn_by_nri()
  * gb_proxy_peer: fix NULL pointer dereference in gbproxy_sgsn_alloc()

  [ Keith ]
  * Fix Radio Priority in MM Attach and PDP Context Activation
  * VTY: Add gtp state-dir command

  [ Philipp Maier ]
  * gprs_sndcp: fix use after free
  * sgsn_rim: Add routing for (GERAN) BSSGP RIM messages

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 23 Feb 2021 20:29:33 +0100

osmo-sgsn (1.6.0) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * gprs_gmm: Introduce macros to access msgb's associated IU UE ctx
  * gprs_llc.h: Improve documentation of some structs
  * gprs_gmm.c: Improve doc on nullable parameters
  * gprs_gmm.c: Drop unneeded brackets
  * Introduce define TLLI_UNASSIGNED
  * gprs_sgsn.c: Warn upon llme free unexpected scenarios
  * gprs_gmm: Clarify comment during TLLI assignment
  * gprs_sgsn.c: Remove recently introduced assert
  * gprs_gmm: Introduce assert to guard against unexpected condition
  * gprs_gmm.c: Use correct function to set MM_IDLE state during cleanup
  * gprs_sgsn.h: Flag MM_CTX_T_GERAN_Iu as not supported
  * gprs_gmm.c: Flag mmctx_set_(p)mm_state() functions static
  * sgsn: use sccp_simple_client API to setup ss7 id 0 instead of 1
  * gprs_gmm.c: Fix typo in log message
  * gprs_gmm.c: Call mmctx_set_(p)mm_state only on related ran_type
  * Introduce and use log macros when no mm ctx available
  * gprs_gmm: Avoid spaces in fsm events and enum strings
  * tests: Verify that timers can be set over VTY
  * Replace own timer infra with libosmocore osmo_tdef
  * tests: Introduce vty-transcript-test tests
  * gprs_gmm.c: Use osmo_rai_name() in log line
  * examples: Add osmo-sgsn_custom-sccp.cfg
  * vty: Introduce cs7-instance-iu
  * gprs_gmm.c: Print value_string of reject cause
  * gprs_gmm.c: Add spec document to function documentation
  * gtp: make echo_interval unsigned
  * gtp: cb_delete_context(): Clarify why pdp->lib is set to NULL
  * Introduce log helper LOGGGSN and log category DGTP
  * sgsn: gtp: Drop related pdp contexts on echo timeout against GGSN
  * Move lots of Iu/ranap specific code into its own file
  * Move llc->MM/SM Gb specific glue code to its own file
  * Split enum gprs_pmm_state into Iu and Gb counterparts
  * Merge common allocation steps for Gb and Iu ctx
  * gprs_gmm.c: Replace inet_ntoa with inet_ntop
  * sgsn_cdr.c: Fix ip addr string buffer size
  * sgsn_vty: Fix mmctx rate_ctr output indentation
  * sgsn_vty: Print correct Iu mmctx id in 'show mm-context'
  * Introduce FSM mm_state_gb_fsm
  * Introduce FSM mm_state_iu_fsm
  * vty: Print MM state and RAN type in show mm-context
  * src/gprs/Makefile.am: Move build of shared .c files to an internal lib
  * Move out gbproxy to its own subdir
  * Move out gtphub to its own subdir
  * Move out sgsn to its own subdir
  * gmm: Move code handling GMM Attach Complete to its own function
  * gmm: Move code handling GMM Routing Area Update Complete to its own function
  * gmm: Move code handling GMM PTMSI Realloc Complete to its own function
  * enum gprs_gmm_state: Fix spec reference
  * Implement GMM State using osmocom FSM
  * Split out GPRS SM layer into its own file
  * sgsn: Reject PdpActReq if no GTP pdp ctx exists
  * Introduce TODO-RELEASE file
  * sgsn_libgtp.c: Drop use of deprecated libgtp APIs gtp_retrans*()
  * gmm: Fix assertion hit during RA UPD REQ before completting gmm attach
  * Improve logging in gprs_llc.c code
  * gprs_llc.c: Use enum instead of hardcoded value
  * gprs_gmm.c: Send XID reset with received TLLI

  [ Alexander Couzens ]
  * gprs/gprs_gmm: implement T3314. Timeout to reset MM state READY->STANDBY
  * gprs_gmm: only update gb/iu cell information when Iu/Gb present
  * gprs_gmm: clarify comment of Iu follow-on request
  * gprs_gmm: gsm48_rx_gmm_att_req(): refactor duplicated code
  * sgsn_pdp_ctx_terminate: check llme before accessing
  * gprs_ranap: send CommonId after receiving Security Mode Complete
  * mm_gb_fsm: unassign the llme when entering MM_IDLE
  * gprs_ranap: refactor REQUIRE_MM define
  * sgsn: when receiving data PDU notify the Gb GMM fsm
  * Avoid compiling unneeded files when building without Iu
  * gprs_ranap: release Iu UE Context when exiting PMM Connected
  * Iu: implement a user inactivity timer
  * gprs_ranap: on Iu release, stop the attach fsm if running
  * gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE
  * gprs_ranap: add missing rc = 0
  * gprs_sgsn: always allocate Gb/Iu mm fsm
  * sgsn: MM Gb Fsm: fix event handling for implicit detach
  * ranap: add non-spec X1001
  * gprs_gmm: release Iu connection on RAU failures
  * sgsn_mm_ctx_alloc(): check for unallocated fsms
  * sgsn_libgtp: refactor ps paging into gprs_gb
  * sgsn: Gb: implementing PS Paging when MS is MM_STANDBY

  [ Vadim Yanitskiy ]
  * gprs_mm_state_iu_fsm.c: fix: assign timer_cb to mm_state_iu_fsm

  [ Max ]
  * Use libosmocore constant for IMSI length in ACL entry

  [ Harald Welte ]
  * LLC: Don't use hard-coded N201-U / N201-I values in XID
  * Initial OsmoGbPROXY user manual
  * check for osmo_fsm_register() error return values
  * check for osmo_ss7_init() error return value
  * manual: Fix copy+paste error
  * exit(2) on unsupported positional arguments on command line

  [ Oliver Smith ]
  * gitignore: fix paths to binaries
  * doc: add OsmoGbProxy VTY reference
  * regen_doc.sh: support gbproxy, run without docker
  * osmoappdesc.py, tests: switch to python 3

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Fri, 03 Jan 2020 19:17:56 +0100

osmo-sgsn (1.5.0) unstable; urgency=medium

  [ Max ]
  * Improve 'show subscriber cache' vty command
  * GMM: permit VLR_ANSWERED event in attach FSM
  * Fix IMSI padding in imsi-acl

  [ Harald Welte ]
  * gbproxy_test: Fix test expectations of gprs_ns_rcvmsg()
  * LLC XID: Fix string representation of N201_U
  * LLC: Don't blindly assume all LLC frames have data payload
  * LLC: Avoid NOTICE message on LLC NULL
  * gprs_llc: Correctly refuse any ABM command (SABM, DISC) with DM
  * LLC: Store the XID inside the LLC Entity, not LLC Mgmg Entity
  * gb_proxy.h: Add missing comments; improve comments
  * gb_proxy: cosmetic: Use 'bool' in data structures where applicable

  [ efistokl ]
  * gsm0408_rcv_gmm: send Iu-ReleaseCommand upon receiving Attach Complete.
  * gprs_gmm: send Service Reject when no PDP ctxs are available.

  [ Alexander Couzens ]
  * gprs_gmm: reintroduce calling gsm48_gmm_authorize when not handling GMM Attach Requests
  * gbproxy: parse dtap GSM48_MT_GSM_DEACT_PDP_REQ|ACK

  [ Pau Espin Pedrol ]
  * gprs_sndcp_comp_free: Replace ifelse with switch and better handling of error
  * sgsn: vty: Improve log warning content with spec section
  * Document max retransmit times for T3395
  * sgsn: Fix echo timer not started upon first pdp ctx created
  * sgsn_libgtp: Use new per-GSN libgtp API instead of deprecated API
  * sgsn: Have authentication required on by default
  * Remove undefined param passed to {logging,osmo_stats}_vty_add_cmds
  * Require newer versions of dependencies

  [ Keith ]
  * Echo zero byte XID-Field of Type L3_PAR

  [ Oliver Smith ]
  * debian: create -doc subpackage with pdf manuals
  * contrib/jenkins.sh: run "make maintainer-clean"
  * osmo-gtphub.cfg: fix conflict with osmo-sgsn.cfg
  * osmo-gbproxy.cfg: fix conflict with osmo-sgsn.cfg

  [ Vadim Yanitskiy ]
  * doc/manuals/vty: regenerate sgsn_vty_reference.xml
  * osmo-sgsn: add VTY parameter to toggle authentication
  * sgsn_mm_ctx_find_ggsn_ctx(): fix: always set gsm_cause

  [ Eric Wild ]
  * replace magic tmsi constant with define
  * turn -Werror=null-dereference into a warning

  [ Daniel Willmann ]
  * manuals: Add script to regenerate vty/counter documentation
  * manuals: Update vty/counter documentation
  * Add/fix help string for version option
  * osmo-sgsn: Fix outdated information in usermanual
  * configuration.adoc: Small fixes
  * configuration.adoc: Add a section about encryption

  [ Ruben Undheim ]
  * Spelling fixes

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Thu, 08 Aug 2019 16:46:31 +0200

osmo-sgsn (1.4.0) unstable; urgency=medium

  [ Alexander Couzens ]
  * gprs_subscriber: gsup_auth_error: reject MS in all cases
  * gprs_gmm: make functions relating to GMM Attach Request public
  * gprs_gmm: make extract_subscr_msisdn extract_subscr_hlr public
  * gprs_gmm: Cancel Location: use detach type IMSI
  * vty: add cmd "reset sgsn state"
  * tests: remove gmm unit tests
  * gprs_gmm: introduce a GMM Attach Request FSM
  * debian: add missing build dependencies
  * sgsn: use gtp_clear_queues() when reset sgsn state
  * vty: restart sgsn state: improve output message
  * sgsn_ggsn_ctx_drop_pdp: protect against nullpointer when MM is gone
  * gprs_sgsn.h: fix wrong type of re-attempts
  * GTP: refactor the echo timer
  * gprs_gmm: dont answer unknown IMSI/TMSI on Service Requests NET_FAIL
  * gprs_gmm: Fix missing Security Command for 3G when attaching
  * sgsn_libgtp: fix a potential memleak when the GGSN is not reachable
  * gprs_llc: remove the FCS from the msgb by trim'ing the msgb
  * OsmoSGSN: add rate counter documentation

  [ Daniel Willmann ]
  * gb_proxy: tallocate memory for gbproxy cfg so it can be a talloc ctx
  * gb_proxy: Add ctrl interface and nsvc-state, gbproxy-state commands
  * git-version-gen: Don't check for .git directory

  [ Stefan Sperling ]
  * add a test for OS#3178 (invalid unitdata message)
  * finish gbproxy_parse_bssgp_unitdata test
  * fix bogus assertion in encode_comp_field()
  * fix bogus error check in gprs_sndcp_comp_create()
  * use enums consistently instead of falling back to int
  * update gbproxy test expected output
  * consistently check the result of osmo_shift_v_fixed()
  * remove pointless declaration of struct gsm_network
  * make gsup ipa name configurable in osmo-sgsn.cfg

  [ Pau Espin Pedrol ]
  * jenkins.sh: Use --enable-werror only when iu support is disabled
  * jenkins.sh: Remove non-existent configure options
  * Drop all references of unused SMPP
  * Drop all references of unused MGCP
  * Drop unused common_vty.c
  * sgsn_libgtp.c: Log pointer of deleted context
  * Maintain per ggsn pdp ctx list
  * osmo-sgsn: ping GGSN periodically and check for restart counter
  * Disarm T3395 when dettaching mmctx from pdpctx
  * examples: Enable by default echo req towards active GGSNs
  * vty: Add cmd to disable echo loop explictly
  * Add optional TearDownInd IE in PDP DEACT REQ towards PCU
  * sgsn: Don't attempt to delete GTP pdp ctx if GGSN was restarted
  * Forward GGSN originated DEACT PDP CTX REQ
  * sgsn: Fix T3395 firing forever
  * sgsn: subscriber: Avoid calling memcpy with NULL src
  * sgsn: cdr: Fix uninitialized string access if ggsn is detached
  * sgsn: gtp: Use new API to send PDP DEL CTX REQ without freeing ctx locally
  * sgsn: Fix crash using new libgtp cb_recovery2 API
  * gbproxy: Replace '.' in counter names with ':'
  * Drop gprs_msgb_copy with libosmocore replacement
  * Drop gprs_msgb_resize_area with libosmocore replacement
  * Use osmo_clock_gettime from libosmocore
  * gbproxy: Add VTY parameter: link stored-msgs-max-length
  * gbproxy: Add new VTY-managed timer: link-list clean-stale-timer
  * gbproxy: Replace '.' in counter names with ':'
  * Add osmo-gtphub systemd service file
  * debian: Fix typo in rules preventing build with IU support
  * Install systemd services with autotools
  * Install sample cfg file to /etc/osmocom
  * Update wrong references to bsc in sgsn code
  * Allocate sgsn_instance with talloc
  * gbproxy: flag gbproxy_assign_imsi as static
  * gbproxy: Fix abort during APN patch
  * gbproxy: Remove unneeded parse_ctx param
  * gbproxy: flush_stored_messages: Move comment to func description
  * gbproxy: flush_stored_messages: Log and route using stored_msg info
  * gbproxy: flush_stored_messages: Get rid of msg param
  * Allow easily disabling GFDL references
  * OsmoSGSN: configuration: Move pdp ctx specific CDR fields to its own table
  * OsmoSGSN: configuration: Add missing pdp-periodic event
  * OsmoSGSN: configuration: Document CDR CTRL interface
  * OsmoSGSN: overview: Fix typo and reference OpenGGSN->OsmoGGSN

  [ Harald Welte ]
  * migrate to oap_client in libosmogsm
  * remove libcommon
  * gbproxy-legacy: Ensure well-formed config file
  * Remove local libgsupclient; Use libosmo-gsup-client from osmo-hlr
  * initial checkin of manuals to public repo
  * Add link to Asciidoc source code of manual
  * OsmoSGSN: Fix formatting/cross reference in CDR section
  * Update GSUP chapter regarding UMTS AKA and other recent changes
  * GSUP: Add ladder diagrams for protocol transactions / procedures
  * share chapters/gsup.adoc from OsmoSGSN to OsmoMSC + OsmoHLR
  * vty-ref: Update URI of docbook 5.0 schema

  [ Neels Hofmeyr ]
  * use __FILE__, not __BASE_FILE__
  * vty: fix doc str for 'reset sgsn state'
  * vty: add SCCP related vty commands
  * fix build: remove unused variable
  * Importing history from osmo-gsm-manuals.git
  * add 'make check' target
  * fix 'make clean': shell glob, ignore failure
  * refactor Makefile build rules, don't use the FORCE
  * OsmoSGSN: update VTY reference
  * sgsn: update vty reference

  [ Oliver Smith ]
  * gtphub: Add --version cmdline option
  * build manuals moved here from osmo-gsm-manuals.git
  * Fix DISTCHECK_CONFIGURE_FLAGS override
  * contrib/jenkins.sh: build and publish manuals
  * contrib: fix makedistcheck with disabled systemd

  [ Max ]
  * Cleanup non-existent files from debian/copyright
  * Use safer functions for IMSI ACL
  * gbproxy: fix formatting in gbproxy-state command
  * gbproxy: add number-of-peers ctrl command
  * Revert "gbproxy: fix formatting in gbproxy-state command"
  * Add OsmoSGSN control interface description
  * Remove misleading comment
  * Constify sgsn_acl_lookup() parameter
  * Drop unused osmo-sgsn.pc
  * Use explicit length check
  * Use explicit parameter for sgsn_auth_init()

  [ Jonathan Brielmaier ]
  * fix various typos across all manuals

  [ ikostov ]
  * SGSN: add Auth. policy, NS Statistics and BSSGP state examples, tweaks
  * GSUP, OAP: fix AUTS length to 14, not 16

  [ Philipp Maier ]
  * osmo-sgsn: Update VTY command reference
  * osmo-sgsn: improve auth-policy explaination
  * osmo-sgsn: Explain TCP/IP header compression
  * osmo-sgsn: fix arrow tips in flow diagrams

  [ Holger Hans Peter Freyther ]
  * sgsn: Fix numbering of QoS and add basic description for APN
  * sgsn: Add charging characteristics to GSUP

 -- Harald Welte <laforge@gnumonks.org>  Wed, 23 Jan 2019 18:32:41 +0100

osmo-sgsn (1.3.0) unstable; urgency=medium

  [ Neels Hofmeyr ]
  * drop osmo_sgsn.cfg from src/gprs dir
  * change default config filename to osmo-sgsn.cfg, not osmo_sgsn.cfg
  * vty: skip installing cmds now always installed by default
  * add --enable-sanitize config option
  * use default point-code as listed on Point_Codes wiki page
  * gprs_gmm: segfault: gracefully handle failure to alloc context
  * gsm48_rx_gmm_att_req: fix error handling: don't clean up NULL llme
  * gprs_llc: tx dl ud: make mismatching LLE not crash osmo-sgsn
  * fix build: missing LIBGTP_CFLAGS in sgsn_test
  * sgsn_test: guard against struct gprs_ra_id changing
  * vty: absorb command explanations from osmo-gsm-manuals
  * configure: add --enable-werror
  * implement support for 3-digit MNC with leading zeros
  * osmo-gbproxy: use 'osmo-gbproxy.cfg' as default config name
  * compiler warnings: use enum ranap_nsap_addr_enc, constify local var
  * use osmo_init_logging2(), fix regression test memleaks
  * auth+ciph: log is_r99 and auth types
  * log two RA Update Request failure causes
  * GERAN: allow GSM SRES on UMTS AKA challenge

  [ Alexander Couzens ]
  * .gitignore: remove unneeded ignores of bsc/msc/nitb files
  * tests/ctrl_test_runner.py: remove BSC/NAT TestRunner
  * debian: remove doublicated project name in example files
  * .gitignore: remove non-existent /src/utils exludes
  * configure.ac: remove pcap check
  * configure.ac: remove unused libcdk check
  * .service: remove OpenBSC from service desription
  * mandatory depend on libc-ares and libgtp
  * GMM: dont reply to GMM_DETACH_REQ with POWER OFF when MS is unknown

  [ Harald Welte ]
  * Replace '.' in counter names with ':'
  * Add talloc context introspection via VTY

  [ Pau Espin Pedrol ]
  * Replace '.' in counter names with ':'
  * tests: Fix selection of python version
  * sgsn_cdr: Split log formatting into a snprintf function
  * Add vty cmd 'cdr trap' to send CDR through CTRL iface
  * tests: sgsn_test: Define wrap APIs with correct parameters
  * cosmetic: tests: sgsn_test: Use proper formatting and remove uneeded semicolons
  * gprs_gmm: Remove unused variable
  * cosmetic: gprs_gmm: Remove trailing whitespace
  * gprs_gmm: Convert warning message to pragma message
  * configure.ac: Enable Wall in CFLAGS
  * .gitignore: Add m4 files
  * sgsn_libgtp.c: Fix typos and whitespace

  [ Max ]
  * Fix display of GTP addresses
  * Show GTP version for PDP context in vty
  * Remove unneeded .py scripts
  * Replace '.' in counter names with ':'
  * Remove dead code
  * Enable sanitize for CI tests
  * cosmetic: use macro for gtphub plane iteration
  * Use connection id when allocating rate counters
  * Migrate from OpenSSL to osmo_get_rand_id()
  * Remove obsolete ./configure option
  * Fix RAI construction
  * gtphub: make rate_ctr unique
  * Remove unused bsc_version.c
  * Use gsm48_encode_ra() for RAI encoding
  * gtphub: check for gsn_addr_from_sockaddr() errors
  * gtphub: check for gsn_addr_from_sockaddr() error

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Thu, 03 May 2018 19:01:44 +0200

osmo-sgsn (1.2.0) unstable; urgency=medium

  [ Neels Hofmeyr ]
  * jenkins: fix build: remove unused dependencies
  * debian: fix osmo-sgsn.install, tweak VCS link and descriptions
  * drop files unrelated to osmo-sgsn
  * rewrite README
  * configure.ac: set name to osmo-sgsn, fix ML addr
  * move openbsc.pc to osmo-sgsn.pc
  * move include/openbsc to include/osmocom/sgsn
  * jenkins.sh: fix echo string to say osmo-sgsn, not msc
  * jenkins: use osmo-clean-workspace.sh before and after build

  [ Alexander Couzens ]
  * debian: fix paths of examples
  * debian/rules: show testsuite.log when tests are failing

  [ Max ]
  * Remove rest_octets.h
  * gbproxy: ensure peer allocation result
  * jenkins: use osmo-ggsn for tests
  * Cleanup configure checks
  * Use extended logging for PDP contexts
  * deb: fix copyright file issues
  * Move P-TMSI alloc/update into separate function
  * Check for correct P-TMSI allocation
  * Use new FSF address in license header
  * SGSN: uncomment BSSGP vty tests
  * SGSN: print additional GTP-related info
  * SGSN: check that GSN is created in proper mode
  * Fix APN printing
  * Fix build after recent rate_ctr patches
  * gbproxy: don't link unnecessary
  * Fix libosmo-sigtran dependency
  * jenkins: check for IU properly
  * Log GTP-U endpoints update
  * Log address on GTP creation

  [ Pau Espin Pedrol ]
  * Remove unneeded dep libdbi

  [ Philipp Maier ]
  * log: fix default loglevels
  * non-iu-build: guard vty libosmo-sigtran function calls.
  * configure: fix libosmo-sigtran dependency

  [ Harald Welte ]
  * Debian: Add systemd service files for osmo-sgsn and osmo-gbproxy
  * Debian: fix dh_strip rules for creating one -dbg per program

 -- Harald Welte <laforge@gnumonks.org>  Sat, 28 Oct 2017 19:07:48 +0200

osmo-sgsn (0.1.0) unstable; urgency=low

  * Initial release.

 -- Alexander Couzens <lynxis@fe80.eu>  Tue, 08 Aug 2017 01:13:05 +0000
