osmo-ggsn (1.8.0.202112231223) UNRELEASED; urgency=medium

  * Snapshot build

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Thu, 23 Dec 2021 12:30:12 +0100

osmo-ggsn (1.8.0) unstable; urgency=medium

  [ Oliver Smith ]
  * doc/examples/Makefile.am: add sgsnemu.conf
  * doc/examples/osmo-ggsn-kernel-gtp.cfg: new file
  * doc/manuals: describe GTP-U kernel module
  * gitignore: add ggsn_vty_reference.xml

  [ Harald Welte ]
  * Don't install osmo-ggsn-kernel-gtp.cfg to /etc/osmocom/
  * Don't install sgsnemu.conf to /etc/osmocom/
  * ggsn: Reject PDP CTX ACT for static IP addresses
  * vty: Inform user that static IP addresses are not supported

  [ Pau Espin Pedrol ]
  * gtp: Update teic_confirmed only on resp success
  * gtp: Rework parsing logic of UpdatePdpCtxResponse
  * ggsn: Improve logging on incoming DL data packets
  * gtp: Improve logging of failing pdp ctx resolution from TEI/TID
  * cosmetic: gtpie.c: Fix trailing whitespace
  * gtp: constify pointer arg
  * gtp: Support tx/rx RAN Information Relay message
  * ggsn: Log tun fd write errors
  * ggsn: Fix heap-use-after-free during Recovery without associated PDP
  * cosmetic: configure.ac: Fix tabulation in line
  * Introduce program gtp-echo-responder
  * gtp_echo_responder: report invalid chars present in node-feautres cmdline arg as error

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 16 Nov 2021 13:49:16 +0100

osmo-ggsn (1.7.1) unstable; urgency=medium

  [ Harald Welte ]
  * main: add --vty-ref-mode, use vty_dump_xml_ref_mode()
  * manuals: generate vty reference xml at build time

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 23 Feb 2021 17:31:24 +0100

osmo-ggsn (1.7.0) unstable; urgency=medium

  [ Vadim Yanitskiy ]
  * debian/control: change maintainer to the Osmocom team / mailing list

  [ Pau Espin Pedrol ]
  * configure.ac: Fix trailing whitespace
  * doc: Update VTY reference xml file
  * Support setting rt-prio and cpu-affinity mask through VTY
  * contrib/jenkins: Enable parallel make in make distcheck
  * ggsn: generate coredump and exit upon SIGABRT received
  * tests: Explicitly drop category from log
  * tests: Replace deprecated API log_set_print_filename

  [ Keith ]
  * Fix vty PDP lookups by IMSI
  * Prevent Crash in show pdp-context from vty
  * Minor: remove code duplication
  * Use imsi_str2gtp() in sgsnemu
  * sgsnemu: relax check on length of IMSI cmdline arg.
  * GTP: Replace recently introduced imsi_str2gtp()

  [ Harald Welte ]
  * Use OSMO_FD_* instead of deprecated BSC_FD_*
  * gtp-kernel: Remove duplicate #include section
  * gtp-kernel: don't #include libmnl headers

  [ Oliver Smith ]
  * contrib/jenkins: don't build osmo-gsm-manuals
  * configure.ac: set -std=gnu11
  * apn_start: avoid segfault if missing tun-device
  * .gitignore: ignore debian/libgtp*
  * deb/rpm: build with --enable-gtp-linux

 -- Pau Espin Pedrol <pespin@espeweb.net>  Tue, 23 Feb 2021 13:34:39 +0100

osmo-ggsn (1.6.0) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * cosmetic: Fix comment typo
  * netns: Improve error checking
  * sgsnemu: cmdline: Drop unused function cmdline_parser_params_create()
  * sgsnemu: Pass array of in64_addr to in46a_from_eua()
  * sgsnemu: Rename sgsnemu's libgtp cb_conf
  * sgsnemu: Set its default loglevel category to INFO
  * Move icmpv6 and checksum files from ggsn/ dir to lib/
  * netdev_addaddr6: Use prefixlen arg
  * sgsnemu: Avoid adding extra autogenerated local link ipv6 addr to tun iface
  * sgsnemu: Fix ping transmitted statistics output
  * cosmetic: icmpv6.c: fix typo in comment
  * icmpv6.c: Mark internal function as static
  * sgsnemu: Get rid of duplicated options.destaddr
  * sgsnemu: Get rid of duplicated options.net
  * sgsnemu: tun_addaddr: Don't set local addr as dstaddr
  * icmpv6.c: Move code generating ipv6 hdr to its own function
  * Rename netdev_*route to end in route4
  * sgsnemu: Fix build/run against linux < 4.11 (no sysctl addr_gen_mode support)
  * sgsnemu: Handle IPv6 SLAAC in tun iface manually
  * sgsnemu: Implement ping on IPv6 APNs
  * sgsnemu: Fix assumption ipv6 Interface-Identifier of public addr == announced Prefix
  * gtp: queue_test: Fix printf gcc warn under ARM

  [ Andreas Schultz ]
  * add Linux network namespace support for TUN device

  [ Vadim Yanitskiy ]
  * lib/netns: fix open_ns(): return fd from open()

  [ Philipp Maier ]
  * doc: do not use random ip address for dns in default conf
  * doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip.
  * debug: use LOGL_NOTICE instead of LOGL_DEBUG

  [ Eric ]
  * configure.ac: fix libtool issue  with clang and sanitizer

  [ Harald Welte ]
  * lib/netns.c: Add comments to the code, including doxygen API docs
  * lib/netns: OSMO_ASSERT() if user doesn't call init_netns()
  * lib/netns: Fix up error paths
  * example config: use RFC1918 addresses for GGSN pools

  [ Dmitri Kalashnik ]
  * sgsnemu: use real tun device name after the device is up.

  [ Oliver Smith ]
  * osmo-ggsn.spec.in: remove
  * contrib: import RPM spec
  * contrib: integrate RPM spec
  * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in

 -- Harald Welte <laforge@osmocom.org>  Thu, 13 Aug 2020 12:26:20 +0200

osmo-ggsn (1.5.0) unstable; urgency=medium

  [ Jan Engelhardt ]
  * build: switch AC_CANONICAL_TARGET for AC_CANONICAL_HOST

  [ Pau Espin Pedrol ]
  * libgtp: Remove packets in tx queue belonging pdp being freed
  * libgtp: announce pdp ctx deletion upon CreatePdpCtx being rejected
  * Introduce in46a_is_v{4,6}() helpers
  * ggsn: Move PCO handling code into its own file
  * in46_addr: Improve in46a_ntop documentation
  * ggsn_vty.c: Fix wrong use of in46a_from_eua, print IPv6 euas
  * ggsn: Split application lifecycle related code into ggsn_main.c
  * Move pdp_get_peer_ipv() to lib/util.*
  * gtp-kernel.c: Fix wrong use of in46a_from_eua, print IPv6 euas
  * Introduce LOGTUN log helper
  * ggsn_vty.c: Avoid printing duplicates for pdp context with v4v6 EUAs
  * pdp: constify param in pdp_count_secondary()
  * ggsn_vty.c: Improve output of VTY show pdp-context
  * doc: Update vty reference xml file
  * libgtp: Introduce cb_recovery3
  * ggsn: Implement echo req/resp and recovery
  * cosmetic: fix formatting in if line
  * gtp: Log msg retransmits and timeouts
  * cosmetic: gtp: Drop commented out code calling pdp_freepdp()
  * cosmetic: gtp: Improve documentation of gtp_delete_context_req2()
  * ggsn: rx DeletePdpReq confirmation: Improve documentation and use gtp_freepdp()
  * gtp: Manage queue timers internally
  * ggsn, sgsnemu: Drop use of no-op deprecated gtp_retrans* APIs

  [ Vadim Yanitskiy ]
  * gtp_update_pdp_ind(): fix NULL-pointer dereference
  * gtp_error_ind_conf(): fix: guard against an unknown GTP version
  * gtp/gtp.c: cosmetic: use get_tid() where we need TID
  * manuals/configuration.adoc: fix Network Address without prefix length
  * manuals/configuration.adoc: fix IPv4 address mismatch in <<ggsn_no_root>>
  * contrib/systemd: add systemd-networkd examples from manuals

  [ Harald Welte ]
  * sgsnemu: Fix null-pointer format string argument
  * manual: Fix copy+paste error

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Thu, 02 Jan 2020 20:39:39 +0100

osmo-ggsn (1.4.0) unstable; urgency=medium

  [ Max ]
  * Don't return error on normal shutdown

  [ Harald Welte ]
  * process_pco() const-ify 'apn' argument
  * ggsn: Remove magic numbers from pco_contains_proto()
  * ggsn: const-ify input / read-only arguments of PCO related functions
  * ggsn: Remove magic numbers from ipcp_contains_option()
  * ggsn: Fix build_ipcp_pco() in presence of invalid IPCP content
  * ggsn.c: Refactor PCO processing during PDP activation
  * ggsn: Add minimalistic PAP support
  * ggsn: More logging from PCO handling (e.g. in case of malconfiguration)
  * sgsnemu: Fix format string argument count

  [ Vadim Yanitskiy ]
  * osmo-ggsn: fix VTY command for getting PDP contexts by APN
  * osmo-ggsn: add VTY command to show PDP context by IPv4
  * osmo-ggsn: check result of osmo_apn_to_str()
  * osmo-ggsn: print requested / actual APN in PDP info
  * osmo-ggsn: properly show subscriber's MSISDN in the VTY

  [ Pau Espin Pedrol ]
  * ggsn: Drop unused param force in apn_stop()
  * gtp: Document spec reasoning drop of Rx DeleteCtxReq
  * ggsn: Start gtp retrans timer during startup
  * gtp: Take queue_resp into account to schedule retrans timer
  * gtp: Fix typo dublicate->duplicate
  * pdp: Introduce new API pdp_count_secondary
  * gtp_create_pdp_ind: simplify code by reordering and compacting parsing
  * gtp: Refactor code to use gtp_freepdp(_teardown) APIs
  * cosmetic: gtp: Document free pdp ctx in non-teardown scenario
  * gtp: Re-arrange free pdp ctx code in non-teardown scenario
  * pdp: Drop unused code for haship
  * cosmetic: gtp.h: Remove trailing whitespaces
  * ggsn: Fix undefined behaviour shifting beyond sign bit
  * gtp: Introduce new pdp APIs (and deprecate old ones) to support multiple GSN
  * gtp: Make use of new libgtp APIs with multi-gsn support
  * ggsn_vty_reference.xml: Update from last code changes
  * ggsn: vty: Require ggsn param in <show pdp-context> cmd
  * sgsnemu: Replace use of deprecated libgtp API pdp_newpdp with new one
  * cosmetic: gtp: queue: remove trailing whitespace
  * gtp: Add missing headers
  * gtp: queue.c: Document queue APIs
  * gtp: queue: Add unit test queue_test
  * ggsn: Avoid unaligned mem access reading PCO proto id
  * ggsn: Use structures instead of raw arrays when parsing ipcp_hdr
  * configure.ac: Replace obosolete macro AC_CANONICAL_SYSTEM
  * configure.ac: Use brackets in AC_INIT params
  * configure.ac: Use prefered AC_CONFIG_HEADERS over AM_CONFIG_HEADER
  * configure.ac: some versions of linux/if.h require including sys/socket.h
  * sgsnemu: Fix unaligned pointer access during ip/icmp checksum
  * Remove undefined param passed to {logging,osmo_stats}_vty_add_cmds
  * Require libosmocore 1.1.0

  [ Oliver Smith ]
  * debian: create -doc subpackage with pdf manuals
  * ggsn: Use gtp_delete_context_req2() everywhere
  * contrib/jenkins.sh: run "make maintainer-clean"

  [ Daniel Willmann ]
  * manuals: Add script to regenerate vty/counter documentation

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Wed, 07 Aug 2019 21:28:30 +0200

osmo-ggsn (1.3.0) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * ggsn: ctrl iface: listen on IP configured by VTY
  * gtp: Log type name of unexpected signalling message
  * gtp: Allow recv DEL CTX REQ in sgsn and DEL CTX RSP in ggsn
  * gtp: Log ignore CTX DEL REQ due to no teardown and only 1 ctx active
  * gtp: Add new API to avoid freeing pdp contexts during DEL CTX REQ
  * gtp: Add new replacement cb_recovery2 for cb_recovery
  * Install systemd services with autotools
  * Install sample cfg file to /etc/osmocom

  [ Stefan Sperling ]
  * fix unaligned access in build_ipcp_pco()
  * fix support for multiple IPCP in PDP protocol configuration options
  * check ioctl() call return value in tun_new()
  * fix allocation of ippool's hash table
  * replace bogus memcpy() call in ippool_newip()
  * initialize local variable addr in ippool_new()
  * fix format string error in ippool_printaddr()
  * fix a format string directives in queue_seqset()
  * properly store IPv6 addresses in struct tun_t

  [ Harald Welte ]
  * debian/rules: Don't overwrite .tarball-version
  * osmo-ggsn.cfg: Ensure well-formed config file example
  * sgsnemu: Fix printing of tun device name
  * ippool.c: Use "%td" format string for ptrdiff_t
  * initial version of OsmoGGSN user manual
  * OsmoGGSN: Add VTY reference manual
  * GGSN: Document how 'ip tuntap' is used for non-root; call netdev 'apn0'
  * vty-ref: Update URI of docbook 5.0 schema

  [ Alexander Couzens ]
  * libgtp: implement gtp_clear_queues to clear req/resp queue

  [ Neels Hofmeyr ]
  * Importing history from osmo-gsm-manuals.git
  * refactor Makefile build rules, don't use the FORCE
  * GGSN: don't say 'NITB'
  * OsmoGGSN: more info on non-root operation / tun creation
  * OsmoGGSN: multiple instances: mention GTP port
  * OsmoGGSN: add Routing section for IP forward and masquerading
  * OsmoGGSN: typo: priveleges
  * OsmoGGSN VTY ref: prep: convert newlines to unix
  * OsmoGGSN vty: update VTY reference
  * OsmoGGSN: fix VTY additions' node IDs
  * OsmoGGSN: update vty reference
  * ggsn: update vty reference

  [ Max ]
  * Expand OsmoGGSN manual

  [ Oliver Smith ]
  * 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

 -- Harald Welte <laforge@gnumonks.org>  Sun, 20 Jan 2019 21:34:22 +0100

osmo-ggsn (1.2.2) unstable; urgency=medium

  [ Vadim Yanitskiy ]
  * ggsn_vty.c: fix: use CONFIG_NODE as parent by default

  [ Philipp Maier ]
  * ggsn: fix misinterpreted length field in ipcp_contains_option()
  * ggsn: make sure ipcp_option_hdr and and ipcp_hdr are packed

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Thu, 31 May 2018 12:44:54 +0200

osmo-ggsn (1.2.1) unstable; urgency=medium

  * debian/rules: Fix debian packaging after 1.2.0 release

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Fri, 04 May 2018 12:19:58 +0200

osmo-ggsn (1.2.0) unstable; urgency=medium

  [ Neels Hofmeyr ]
  * fix compiler warnings: return 0 in main(), in 3 tests
  * add --enable-sanitize config option
  * sanitize build: ensure uint16/32 alignment in gtpie_test and in46a_test
  * configure: add --enable-werror
  * jenkins.sh: use --enable-werror configure flag, not CFLAGS

  [ Harald Welte ]
  * sgsnemu: Don't leak FILE handle in proc_read()
  * sgsnemu: Fix format string in printing tun-device name
  * sgsnemu: Make sure buffer has space for terminating-NUL
  * sgsnemu: Free strings in error path
  * gtp: Fix buffer overflow in imsi_gtp2str()
  * gtp: Explicit OSMO_ASSERT to ensure pdp variable is set
  * tun: Don't copy 16byte IPv6 address to 'struct in_addr'
  * ippool: Correctly compute size of static pool
  * remove unused argument to alloc_ippool_blacklist()
  * factor out netdev_ip_local_get() from tun_ip_local_get()
  * Properly NULL-out blacklist in alloc_ippool_blacklist()
  * gtp_kernel: Change gtp_kernel_init() function signature
  * gtp-kernel: Re-add support for kernel GTP-U acceleration
  * gtp-kernel: Get rid of hard-coded kernel GTP device name
  * gtp-kernel: shut down kernel GTP device in apn_down()
  * gtp-kernel: Align logging for APN start in kernel-gtp case with that of TUN
  * gtp-kernel: Avoid global state variable
  * gtp-kernel: Make sure repeated calls to gtp_kernel_init() are safe
  * gtp-kernel: proper cleanup in error path
  * gtp-kernel: Get rid of SYS_ERR where not applicable
  * gtp-kernel: Add function name to pdp_debug() function calls
  * gtp-kernel: Add device nime in pdp_debug() log statements
  * contrib/jenkins.sh: Allow jenkins job to specify if kernel GTP is used
  * ggsn.c: Fix byte order of IPCP IPv4 DNS servers
  * ggsn: Ignore PCO with length 0, don't abort processing
  * README.md: Remove misleading sentence on sgsnemu
  * Add talloc context introspection via VTY
  * fix segfault in case of kernel gtp-u
  * lib/tun.c: Generalize tun_sifflags() to netdev_sifflags
  * lib/tun.c: generalize tun_*route() to netdev_*route()
  * lib/tun.c: Generalize tun_{set,add}addr*() functions
  * lib/tun: split generic network device related stuff to lib/netdev
  * lib/netdev.c: Cosmetic changes (coding style / cleanups)
  * ggsn: Don't explicitly use tun_setaddr() API anymore
  * sgsnemu: Convert from tun_setaddr() to tun_addaddr()
  * lib/tun: Remove tun_setaddr() API, as everyone is using tun_addaddr() now
  * Move kernel GTP support from ggsn/ to lib/
  * ggsn: don't use gtp_kernel_tunnel_{add,del}() for userspace tun

  [ Pau Espin Pedrol ]
  * ggsn_vty: Stop using deprecated API vty_install_default
  * contrib/jenkins.sh: Enable Werror in C(PP)FLAGS
  * examples: Add secondary ipv6 google DNS to osmo-ggsn.cfg
  * tun_setaddr6: Fix log typo
  * cosmetic: Reorder tun_addaddr to get rid of decl of tun_setaddr4
  * ggsn.c: Print version of unhandled ip packet
  * Remove unused empty src/Makefile.in
  * tests: Split ipv6 specific tests into a new test group
  * Add support for IPv4v6 End User Addresses
  * contrib: jenkins.sh: Build libgtpnl as dep when building with gtp kernel support
  * cosmetic: sgsnemu.c: Fix trailing whitespace
  * ggsn.c: Improve logging info on link-local ipv6 addr not found
  * tun.c: tun_addaddr: Fix segfault and wrong usage of tun_nlattr
  * Set tun_addaddr ipv agnostic and add support for ipv6
  * ggsn: Add 'ipv6 link-local' vty cmd
  * ggsn_vty.c: Print ipv6 link-local cmd when writing config to file
  * gtp.c: Fix trailing whitespace
  * gtp.c: Determine GTP version from header
  * gtp.c: Log unsupported GTP version number
  * gtp/pdp: Fix trailing whitespace
  * gtp/pdp: Remove unused APIs pdp_ntoeua pdp_euaton
  * gtp.c: gtp_gpdu_ind: Convert ifelse to switch statement
  * gtp.c: gtp_gpdu_ind: Early return to avoid use of uninitialized var
  * gtp/gtp.c: Remove unused function char2ul_t
  * gtp/gtp.c: Mark non exported functions as static
  * gtp/gtp.c: Use uint8_t for version param in static functions
  * ggsn: encaps_tun: Avoid forwarding packet if EUA is unassigned, fix crash
  * ggsn: Validate packet src addr from MS
  * ggsn: Parse PCO_IPCP
  * ggsn: Parse PCO_IPCP for IPv4v6 pdp ctx
  * ggsn: Print all addresses on successful pdp ctx creation
  * ggsn.c: cb_tun_ind: Convert ifelse to switch statement
  * ggsn.c: cb_tun_ind: log dst addr of packet without pdp ctx
  * ggsn.c: cb_tun_ind: Don't drop packets targeting pdp ctx ll addr
  * sgsnemu: Fix bad ptr during context deallocation
  * sgsnemu: listen param is a host, not an interface
  * use osmo_init_logging2

  [ Max ]
  * Log APN and tun names for packets
  * Enable sanitize for CI tests
  * Fix stow-enabled jenkins build failure
  * Add GTP message names

  [ Viktor Tsymbalyuk ]
  * sgsnemu: sgsnemu stopped after recieving "Request accepted" from ggsn
  * sgsnemu: created "pinghost" and "createif" modes for mutual exclusion
  * sgsnemu: fix: no outgoing GTP-U in "createif" mode

  [ Martin Hauke ]
  * build: Remove AC_PROG_CXX, C++ is never used

  [ Stefan Sperling ]
  * remove the -f option from osmo-ggsn.service

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Thu, 03 May 2018 16:05:27 +0200

osmo-ggsn (1.1.0) unstable; urgency=medium

  * libgtp: pdp.h: Addition of new tx_gpdu_seq struct member member
  * libgtp: pdp.h: add LOGPDPX() helper to public API

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

osmo-ggsn (1.0.0) unstable; urgency=medium

  * Transition to OsmoGGSN

 -- Harald Welte <laforge@gnumonks.org>  Wed, 06 Sep 2017 12:19:48 +0200

openggsn (0.94.0) UNRELEASED; urgency=medium

  [ Holger Hans Peter Freyther ]
  * Bump version to ease upgrading from Debian SID.
  * Bump libgtp SO version after ABI change.

  [ Harald Welte ]
  * various documentation / README updates
  * improve error logging and propagation
  * endian-safe definition of IP header
  * IPv6 user plane support

 -- Harald Welte <laforge@gnumonks.org>  Sun, 13 Aug 2017 09:34:20 +0200

openggsn (0.92) precise; urgency=medium

  * Release 0.92

 -- Holger Hans Peter Freyther <holger@moiji-mobile.com>  Mon, 30 Nov 2015 14:05:59 +0100

openggsn (0.91+git34) precise; urgency=medium

  * Non-maintainer upload.

 -- Holger Hans Peter Freyther <holger@freyther.de>  Tue, 23 Sep 2014 16:38:32 +0200

openggsn (0.91+git33) precise; urgency=low

  * Fix init script.

 -- Eric Butler <eric@codebutler.com>  Fri, 24 Aug 2012 21:15:32 -0700

openggsn (0.91+git33) precise; urgency=low

  * Update package for Ubuntu Precise.

 -- Eric Butler <eric@codebutler.com>  Tue, 14 Aug 2012 16:48:59 -0700

openggsn (0.91-2) unstable; urgency=low

  * Switch to source/format (git)

 -- Harald Welte <laforge@gnumonks.org>  Tue, 10 May 2011 17:31:37 +0200

openggsn (0.91-1) unstable; urgency=low

  * Initial release (Closes: #nnnn)  <nnnn is the bug number of your ITP>

 -- Harald Welte <laforge@gnumonks.org>  Tue, 24 Aug 2010 11:23:40 +0200
