libosmo-netif (1.4.0) unstable; urgency=medium

  [ Max ]
  * osmo_stream_srv_link_close(): properly handle NULL input
  * Add osmo_stream_srv_link_is_opened()

  [ Oliver Smith ]
  * Run struct_endianness.py
  * rtp.h: add RTP_PT_CSDATA
  * debian: set compat level to 10

  [ Neels Hofmeyr ]
  * fix msgb leak on OSMO_STREAM_SRV_F_FLUSH_DESTROY

  [ Vadim Yanitskiy ]
  * {utils,tests}/Makefile.am: reorder libraries in LDADD
  * tests/Makefile.am: clean up AM_* variables
  * src/Makefile.am: do not overwrite AM_LDFLAGS

  [ Daniel Willmann ]
  * stream: Introduce and use osmo_stream_cli_fd() to get the fd
  * stream: (typo) Change callback param name of struct osmo_stream_cli from srv to cli
  * ipa-stream-server: Return -EBADF in read_cb after osmo_stream_srv_destroy()
  * stream: Properly name osmo_stream_srv read callback
  * cosmetic: Change name of osmo_stream_src_fd_cb()
  * stream: Update log messages
  * stream: Factor out reconnection handling
  * stream: Use cli->state to check if cli is already closed
  * stream: Correctly close osmo_stream_cli when in state WAIT_RECONNECT
  * Add osmo_io support to osmo_stream_cli and osmo_stream_srv
  * examples: Use new stream API in {ipa-,}stream-{client,server}
  * stream: Setup ofd in osmo_stream_cli_open
  * stream: Document osmo_stream_cli_create2()
  * stream: Remove duplicated code in osmo_stream_cli_create()
  * examples: Set logging level to DEBUG in {,ipa-}stream-{client,server}
  * stream: Assert that fd is valid in stream_cli_handle_connecting()
  * stream: Set state to closed before calling disconnect_cb()
  * stream: Notify stream_cli on connect()

  [ Pau Espin Pedrol ]
  * stream: Allow setting name printed during logging
  * stream: Print socket info as part of the logging context
  * stream: Drop recently added API osmo_stream_cli_create2
  * stream: Drop name param from recently added API osmo_stream_srv_create2()
  * stream: srv cb: Use osmo_sockaddr and improve logging when cli connects
  * stream: Rename static function to have correct prefix
  * stream: Split cli/srv specific code out of stream.c
  * stream_cli: Increase log level of established conn to INFO
  * stream_srv: Use LOGSLNK() to print log line
  * stream_srv: call setsockopt(SO_NOSIGPIPE) also in srv sockets
  * stream_srv: Improve logging lines accepting new connections
  * stream: Append data to current tail of message upon recv()
  * stream_srv: Handle ESHUTDOWN and other write() errors destroying the socket
  * stream_cli: Proper handling of send() socket errors
  * sctp: Document relevant RFC specs
  * stream_srv: sctp: Log error cause of COMM_LOST event
  * stream_srv: Log SCTP REMOTE_ERROR events
  * stream: Refactor sctp_recvmsg_wrapper() logging
  * stream_cli: Forward SCTP MSG_NOTIFICATION to upper layers
  * stream: Use new flag OSMO_SOCK_F_SCTP_ASCONF_SUPPORTED for SCTP sockets
  * stream_test: Avoid leaking osmo_stream_srv_link
  * stream: Use new libosmocore API osmo_sock_init2_multiaddr2()
  * stream: Introduce API to set several transport parameters
  * stream: Add new stream_{cli,srv_link} parameters to set SCTP_INITMSG sockopt values

  [ arehbein ]
  * stream: Fix osmo_panic log fmts
  * examples: Add extension header octet to example
  * ipa: Add segmentation callback
  * stream: Add server-side (segmentation) support for IPA
  * stream test: Fix test output check

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 12 Sep 2023 13:50:25 +0200

libosmo-netif (1.3.0) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * rtp: Delay rtph ptr assign after validating length
  * stream: assert params are not NULL in send/recv functions
  * stream: getsockopt ret socklen_t is unsigned
  * osmux.h: Add missing msgb.h header
  * osmux.h: Define default Osmux port
  * rtp: Avoid memcpy(len=0)
  * examples/osmux-test-output: Avoid using deprecated Osmux API
  * osmux: Drop long time deprecated APIs
  * osmux: Move osmux_xfrm_output_set_tx_cb() further down to the xfrm_output section
  * osmux: Allocate struct osmux_out_handle through API
  * osmux: Allow the user to alloc msgbs used to provide generated RTP packets
  * osmux: osmux_xfrm_input_close_circuit(): Log circuit not found
  * stream: Fix typos in log messages
  * stream: Unset fd value after close() before calling closed_cb()
  * stream: Provide caller with SCTP flags during osmo_stream_*_recv()
  * tests/osmo-pcap-test/osmux_test: Fix return condition check for osmux_xfrm_input()
  * osmux: Improve logging non-usual conditions
  * osmux: osmux_xfrm_input(): Propagate error code to inform caller
  * osmux: Avoid duplicated RTP msg trigger Tx of osmux frame
  * osmux: Change order of lines to follow packet fill order
  * cosmetic: osmux: Fix typo in comment
  * osmux: Unify return codes of osmux_batch_add() and osmux_batch_enqueue()
  * osmux: Early return on error or batch full during osmux_replay_lost_packets()
  * osmux: assert no batch factor greater than 8 is used
  * tests/osmux_test2: Document unit tests
  * tests/osmux: Always run with fake time
  * tests: rename test osmux_test2 -> osmux_output_test
  * osmux: Print osmux_hdr rtp_m field in osmux_snprintf()
  * amr: Add data[0] field to amr_hdr
  * osmux: Proper encoding of osmux frames when when AMR FT changes
  * tests/osmux: Add new osmux_input_test to validate AMR FT changes
  * osmux: Fix AMR F,Q,CMR fields not properly encoded in osmux header
  * cosmetic: osmux: Properly separate expressions with whitespace
  * cosmetic: osmux: Fix typo in comment
  * osmux: Fix osmux seqnum incremented globally instead of per circuit
  * tests/osmux: Properly flush and free out_handle in osmux_test
  * tests/osmux: Test rx of osmux seqnum wrap around
  * osmux: Fix unwanted RTP marker bit upon rx of osmux seqnum wrap around
  * stream: Set proper msgb length when returning sctp_notification
  * stream: Erase sctp_msg_flags if receiving user data
  * stream: Log rx of sctp notification SCTP_SEND_FAILED
  * stream: Set sctp_ppid and sctp_stream when sctp notifciation is received
  * stream: Remove unneeded break statement
  * stream: Return 0 when receiving sctp notification SCTP_COMM_LOST
  * stream: Document osmo_stream_srv_recv() SCTP specialties
  * osmux: join osmux_xfrm_input_open_circuit() and osmux_batch_add_circuit()
  * osmux: Take into account configured osmux_in_handle->osmux_seq field
  * osmux: Split input and output code into separate files
  * cosmetic: osmux: Make linter happy
  * tests/osmo-pcap/osmux: Replace deprecated API osmux_xfrm_output_init2()
  * osmux: Allocate struct osmux_out_handle through API
  * osmux: Replace deprecated osmux_xfrm_input_* APIs in examples & tests
  * osmux: Introduce API osmux_xfrm_input_get_deliver_cb_data()
  * stream: Improve logging of SCTP_PEER_ADDR_CHANGE notification
  * cosmetic: stream: Fix parameter name
  * stream: Introduce APIs osmo_stream_{cli,srv}_clear_tx_queue()
  * cosmetic: Fix indentation whitespace
  * amr: Document SID frame length from spec
  * osmux: Rework log formatting when replaying detected RTP gaps
  * osmux: Use msgb_copy() API in osmux_replay_lost_packets()
  * osmux: Log AMR FT when incorrect AMR payload size detected
  * osmux: Fix naming of functions operating on osmux circuits
  * osmux: rename internal struct osmux_batch -> osmux_link
  * osmux: Add internal backpointer to in_handle to simplify param passing
  * osmux: Fix endianness logging duplicaed seqnum
  * osmux: Use internal struct to cache parsing state of rtp pkt from user
  * osmux: dup in RTP pkt: check before applying queue flush due to Marker bit
  * osmux: dup in RTP pkt: Replace potentially internally forged pkt with incoming one
  * osmux: recreate lost RTP pkts before handling newest one
  * osmux: Drop marker bit in forged RTP packets to fill gaps
  * osmux: Add data[0] field to osmux_hdr
  * osmux: Drop noop OR during assignment
  * tests/osmux: Test replay of one lost RTP packet when generating osmux batches
  * tests/osmux: Test incoming RTP stream with seqnum jumps during wraparound
  * tests/osmux: Test big seqnum holes (>batch_factor) in incoming RTP stream
  * osmux: Obey current batch_size restrictions when creating forged RTP packets to fill holes
  * osmux: Use better rationale when limiting amount of lost & forged RTP incoming packets
  * osmux: Avoid filling in seqnum holes upon rx of RTP pkt with M bit set
  * osmux: Set M bit in osmuxhdr if seqnum hole found encoding RTP pkts
  * osmux: Support recreating lost RTP packets at start of the batch
  * osmux: Introduce API osmux_xfrm_input_set_name()
  * osmux: Improve logging of osmux_xfrm_input
  * tests/osmux: Add extra asserts to validate osmux header is pulled correctly
  * amr: Guard against incorrect AMR FT passed to osmo_amr_{bits,bytes}()
  * osmux: Check received osmuxh->amr_ft is correct before using it
  * osmux: Refactor osmux_xfrm_output_pull() to simplify code flow
  * osmux_output: Refactor init code to avoid calling deprecated APIs internally
  * amr.h: Fix missing include dependencies
  * amr: osmo_amr_bwe_to_oa(): Modify loop to allow osmo_amr_bytes()=0 (NO_DATA)
  * amr: osmo_amr_bwe_to_oa() define variable as unsigned
  * amr: Add struct definition for AMR BWE header
  * tests/amr: Add test case for unused FT=14
  * amr: Support all SID and NO_DATA amr formats
  * osmux: Allow forwarding AMR NO_DATA frames
  * stream: Log read/write flags
  * stream: osmo_stream_*_write: Unifiy way to get data and length
  * stream: Log error on short send
  * stream: Avoid useless polling if tx_queue becomes empty
  * stream: Fix tx data dropped upon show socket write
  * amr.h: Fix AMR_FT_{GSM,TDMA,PDC}_EFR_SID_LEN
  * amr: Add missing header stdbool.h
  * amr: constify input buffer in osmo_amr_is_oa()
  * amr: use struct bwe_hdr in osmo_amr_bwe_to_oa()
  * amr: Clarify size of AMR BWE header and ToC
  * amr: use OSMO_BYTES_FOR_BITS()
  * amr: osmo_amr_bwe_to_oa(): validate input data is long enough
  * Introduce utils/osmo-amr-inspect program
  * osmo-amr-inspect: Improve robustness reading from stdin

  [ Vadim Yanitskiy ]
  * tests/amr: fix less-than-zero comparison of an unsigned value

  [ Max ]
  * Log more details in osmo_stream_srv_write()
  * Properly handle send() return code
  * Better handling of send() error
  * Add assert for link check to osmo_stream_srv_create()

  [ Harald Welte ]
  * Support building with -Werror=strict-prototypes / -Werror=old-style-definition

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 07 Feb 2023 13:28:19 +0100

libosmo-netif (1.2.0) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * Introduce sctp.h to provide SCTP related functionalities
  * stream: Factor out sctp_recvmg long code chunk
  * stream: Add support for AF_UNIX sockets
  * Introduce osmo_prim_srv APIs
  * prim: Add internal CTL SAPI to negotiate SAP versions
  * prim: return last error code
  * amr: Fix FormatType from parsing BWE AMR header
  * amr: Fix length check in bwe<->iuup converters

  [ Alexander Couzens ]
  * amr: don't rely on pad bits to be zero
  * export osmo_amr_bits
  * amr: Introduce APIs to convert BE to IuUP/IuFP format

  [ Philipp Maier ]
  * amr: cosmetic: fix grammer in comment
  * amr_test: increase test coverage for oa / bwe conversation

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

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 28 Jun 2022 18:09:49 +0200

libosmo-netif (1.1.0) unstable; urgency=medium

  [ Vadim Yanitskiy ]
  * debian/control: change maintainer to the Osmocom team / mailing list
  * stream: add missing Doxygen \return statements to non-void functions

  [ Pau Espin Pedrol ]
  * stream: Support creating sockets with IPv6 addresses
  * stream: Fix log of IPv6 during accept()
  * contrib/jenkins: Enable parallel make in make distcheck
  * tests: Explicitly drop category from log
  * gitignore: Ignore autfoo *~ churn
  * tests: Replace deprecated API log_set_print_filename

  [ Daniel Willmann ]
  * examples: Use osmo_stream_*_set_nodelay in ipa examples

  [ Harald Welte ]
  * Use osmo_fd_setup() wherever applicable
  * cosmetic: Fix whitespace (use tab instead of 8x space)
  * migrate to osmo_fd_{read,write}_{enable,disable}()
  * Don't depend on libosmo-abis (by default)

  [ Oliver Smith ]
  * configure.ac: set -std=gnu11

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 23 Feb 2021 16:47:37 +0100

libosmo-netif (1.0.0) unstable; urgency=medium

  [ Neels Hofmeyr ]
  * struct amr_header: copy comments to little endian part
  * add/clean big-endian packed structs (struct_endianess.py)

  [ Pau Espin Pedrol ]
  * configure.ac: Introduce --{enable,disable}-libsctp configure flag
  * configure.ac: Drop unneeded check for dahdi
  * stream.c: Improve logging during sock send()
  * stream: Drop data during write() while in state NONE
  * stream: Re-arrange cli states to fix 100% cpu usage bug
  * stream: Add new WAIT_RECONNECT cli state
  * stream: Rename cli state NONE to CLOSED
  * debian/control: Drop incorrect libortp-dev dependency
  * Use OSMO_FD_* instead of deprecated BSC_FD_*
  * stream: Fix some SCTP code not disabled if --disable-libsctp is used

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

  [ Sylvain Munaut ]
  * stream: Attempt to workaround kernel ABI breakage

  [ Alexander Chemeris ]
  * amr: Fix OA<->BWE conversion.
  * amr: Fix OA<->BWE conversion.
  * amr: Whitespace fix

  [ neels ]
  * Revert "amr: Fix OA<->BWE conversion."

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

  [ Philipp Maier ]
  * amr: fix off-by-one in osmo_amr_bwe_to_oa()

  [ Harald Welte ]
  * src/stream: Work around more Linux kernel ABI breakage
  * src/stream.c: Don't leak socket during SCTP_EVENTS getsockopt

 -- Harald Welte <laforge@osmocom.org>  Thu, 13 Aug 2020 11:21:02 +0200

libosmo-netif (0.7.0) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * stream: Introduce API osmo_stream_cli_is_connected
  * stream: Fix scheduling of queued messages during connecting state
  * stream_test: Use fake time
  * stream_test: Log fake time
  * osmux: osmux_snprintf(): Append comma between osmux frames in msg
  * osmux: osmux_snprintf(): Remove dangling whitespace at the end of dummy frames
  * tests: osmux_test: Use fake time also for monotonic clock
  * osmux: squash LOGP message to one line
  * tests: osmux_test: Provide More accurate logging expectancies
  * stream.c: remove duplicated line setting variable
  * stream: osmo_stream_srv_link: Support setting multiple addr
  * stream: osmo_stream_cli: Support setting multiple addr
  * tests: osmux_test: Hardcode h_output values set by random()
  * stream: Fix fd param passed to close() in error conditon
  * libosmo-netif.pc.in: Append -lsctp to Libs.private

  [ Neels Hofmeyr ]
  * osmux_test: don't use color logging

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Thu, 02 Jan 2020 21:01:22 +0100

libosmo-netif (0.6.0) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * osmux: Extend osmux_out_handle and add new API to set rtp payload_type

  [ Oliver Smith ]
  * contrib/jenkins.sh: run "make maintainer-clean"

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Wed, 07 Aug 2019 20:59:51 +0200

libosmo-netif (0.5.0) unstable; urgency=medium

  [ Max ]
  * Stream examples: filter internal logging
  * Stream examples: log sent/received bytes
  * Stream examples: fix server's endless loop
  * Add missing include
  * Cosmetic: use #pragma once as include guard
  * Stream client: fix doxygen typo
  * Stream examples: print accepted client address
  * Stream client: update logging
  * Add socket name functions to stream client/server
  * Stream client: fix disconnection logic
  * Stream examples: fix typos in error message
  * Ignore test binaries
  * Stream client: report reconnection event as INFO
  * Add stream client/server test
  * Stream client: add disconnect callback
  * Deprecate osmo_stream_cli_open2()

  [ Philipp Maier ]
  * AMR: add spec reference for AMR frame types
  * AMR: add define constants for AMR payload length
  * AMR: add functions to convert between bw-efficient and octet-aligned
  * amr: cosmetic: correct sourcecode formatting
  * amr: be sure result of osmo_amr_bwe_to_oa() fits into int buf
  * amr: use sizeof(struct amr_hdr) when working with amr header length

  [ Harald Welte ]
  * debian: Add BuildDepends on libpcap0.8-dev

  [ Oliver Smith ]
  * gitignore: add amr_test
  * tests: AM_LDFLAGS = -noinstall for all tests

 -- Harald Welte <laforge@gnumonks.org>  Fri, 10 May 2019 12:40:03 +0200

libosmo-netif (0.4.0) unstable; urgency=medium

  [ Neels Hofmeyr ]
  * fix strncpy bug in rs232.c
  * logging: fix typo in stream.c

  [ Harald Welte ]
  * Migrate from osmo_ipa_idtag_parse() to ipa_ccm_id_resp_parse()
  * link libosmo-netif against libosmogsm
  * debian/rules: Don't overwrite .tarball-version

  [ Pau Espin Pedrol ]
  * jibuf: fix indentation in line inside conditional clause

  [ Stefan Sperling ]
  * detect freed connections in osmo_stream_srv_read()

 -- Harald Welte <laforge@gnumonks.org>  Sat, 19 Jan 2019 22:28:01 +0100

libosmo-netif (0.3.0) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * tests: jibuf_test: Set some functions as static
  * tests: jibuf_test: Add scenario to show out-of-order bug
  * jibuf: Fix out-of-order seq queue around syncpoints
  * osmux: change log lvl of batch full to debug

  [ Harald Welte ]
  * remove "channel" layer
  * stream.c: Use non-blocking connect in osmo_stream_cli

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Fri, 27 Jul 2018 18:31:42 +0200

libosmo-netif (0.2.0) unstable; urgency=medium

  [ Neels Hofmeyr ]
  * jenkins: use osmo-clean-workspace.sh before and after build
  * add --enable-sanitize config option
  * gitignore: vim swp files
  * osmo_stream_{cli,srv}_destroy: fix mem leak: empty msgb queue
  * configure: add --enable-werror
  * jenkins.sh: use --enable-werror configure flag, not CFLAGS

  [ Harald Welte ]
  * debian/control: Fix upstream-name
  * debian/copyright: There are no AGPL licensed files left
  * src/rs232.c: Fix accidential reference to GPLv3+ instead of GPLv2+
  * Add SPDX-License-Identifier + Copyright statements
  * debian/control: Fix Vcs-Browser
  * osmux: Fix use of uninitialized memory in osmux_out_handle

  [ Pau Espin Pedrol ]
  * stream: Avoid re-creating and leaking socket when unneeded
  * contrib: jenkins.sh: Disable building doxygen for deps
  * test: osmo-pcap-test: Fix clock drift while replaying pcap file
  * osmux: Use correct log category DLMUX
  * stream.c: osmo_stream_cli_open2: Remove wrong assumption in reconnect decision
  * tests: osmo-pcap-test: Fix pcap includes not found in old versions
  * osmux: osmux_xfrm_output_pull: Improve checks and log of malformed packets
  * jibuf: Add initial implementation of Jitter Buffer
  * tests: jibuf_tool: Initial commit
  * tests: jibuf_tool: Improve jibuf_test to read pcaps
  * tests: jibuf_tool: Add OSMUX support
  * tests: jibuf_tool: Add parameters to control size of buffer
  * jibuf: Take RTP marker into account
  * jibuf: re-sync clock out of sync timestamps
  * tests: jibuf_tool: Add seq.plt
  * jibuf: Estimate src clock skew
  * tests: use osmo_init_logging2
  * Build jibuf_tool based on libpcap availability
  * examples: use osmo_init_logging2
  * osmux: Add new API osmux_xfrm_output_sched to fix rtp generation issues
  * tests: Add osmux2 testsuite
  * osmux: Set Marker bit on osmux frame loss detected
  * osmux: Move examples and tests to use new output APIs

  [ Max ]
  * Enable sanitize for CI tests

  [ Stefan Sperling ]
  * add support for flushing and destroying a server-side stream

  [ Alexey ]
  * Update README.md

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

libosmo-netif (0.1.1) unstable; urgency=medium

  * New upstream release.

 -- Harald Welte <lafore@gnumonks.org>  Sat, 28 Oct 2017 12:41:34 +0200

libosmo-netif (0.1.0) unstable; urgency=medium

  [ Holger Hans Peter Freyther ]
  * Move forward toward a new release.

  [ Harald Welte ]
  * Update to upstream 0.1.0

 -- Holger Hans Peter Freyther <holger@moiji-mobile.com>  Fri, 27 Oct 2017 20:00:39 +0200

libosmo-netif (0.0.6) unstable; urgency=medium

  * Drop libosmovty dependency.

 -- Holger Hans Peter Freyther <holger@moiji-mobile.com>  Tue, 03 Nov 2015 09:36:32 +0100

libosmo-netif (0.0.5) unstable; urgency=medium

  * New upstream release.

 -- Holger Hans Peter Freyther <holger@moiji-mobile.com>  Sun, 23 Aug 2015 18:01:53 +0200

libosmo-netif (0.0.3) unstable; urgency=medium

  * Bump API due the AMR header structure now being packed
    and potentially having different storage requirements.

 -- Holger Hans Peter Freyther <holger@freyther.de>  Mon, 28 Apr 2014 20:50:18 +0200

libosmo-netif (0.0.2-z6) unstable; urgency=low

  * Upgrade with increased test coverage.
  * More changes
  * Fix use after free issue.
  * Fix osmux_snprintf for multiple batched messages
  * Clean-ups.

 -- Holger Hans Peter Freyther <holger@freyther.de>  Sat, 25 May 2013 09:42:30 +0200

libosmo-netif (0.0.2-z1) testing; urgency=low

  * Initial release.
  * Post 0.0.2

 -- Holger Hans Peter Freyther <holger@freyther.de>  Tue, 21 May 2013 18:53:08 +0200
