libosmocore (1.10.0) unstable; urgency=medium [ Mychaela N. Falconia ] * gsm/protocol/gsm_04_11.h: add SMSC-address length limit definitions * gsm0808: add knowledge of TW-TS-003 BSSMAP IE * bts_features: add feature flags for TWTS001 and TWTS002 * rsl: define RSL_IE_OSMO_RTP_EXTENSIONS * include/osmocom/gsm: add rtp_extensions.h * codec: make osmo_hr_check_sid() more efficient [ arehbein ] * write_queue: Enable updating max_length field * osmo_io: Clean up code * gsmtap: Hide implementation of gsmtap_inst * osmo_io_poll: Handle -EAGAIN in case of OSMO_FD_WRITE * write_queue: Fix Doxygen comment * gsmtap_util: Use Osmo IO instead of Osmo write queues * gsmtap_util: Simplify sink * gmstap_util: Fix sending out gsmtap messages * ns2: Improve code consistency [ Manawyrm ] * gsmtap.h: Add definitions for ISDN PPP sub-type * gsm48_ie.c: add 3.1kHz audio bearer capability for CSD calls * gsm48_ie.c: change bearer cap structure in outgoing CSD calls * logging: ensure ANSI color escape is sent in same line/before newline [ Karsten Ohme ] * APDU parsing support for GlobalPlatform GET RESPONSE [ Vadim Yanitskiy ] * gsm: add gsm0502_fn_compare() for comparing TDMA FNs * gsm: rename s/gsm0502_fn_compare/gsm0502_fncmp/ * msgb: fix doxygen docs for msgb_pull_u{8,16,32): end -> front * coding: gsm0503_tch_a[fh]s_encode(): improve cmr/ft checks * coding: gsm0503_tch_a[fh]s_encode(): make *codec const * tests/testsuite.at: remove copy-pasted 'touch experr' * soft_uart: add osmo_soft_uart_free() * soft_uart: add doxygen documentation * soft_uart: split osmo_soft_uart_enable() * soft_uart: make osmo_soft_uart_alloc() accept *cfg * soft_uart: rework osmo_uart_rx_bit() to use flow state * soft_uart: implement parity checking for the receiver * soft_uart: implement the transmitter * soft_uart: allow manually flushing the receive buffer * soft_uart: add unit tests for the receiver and transmitter * soft_uart: fix Rx buffer flushing logic in suart_rx_ch() * soft_uart: fix handling of num_data_bits < 8 * soft_uart: implement OSMO_SUART_PARITY_{MARK,SPACE} * soft_uart: demonstrate a problem with osmo_soft_uart_tx_ubits() * soft_uart: fix pulling a small number of Tx bits * soft_uart: check n_bits against 0 in osmo_soft_uart_tx_ubits() * soft_uart: fix spelling in doxygen docs * soft_uart: add osmo_soft_uart_{get,set}_name() * soft_uart: fix doxygen doc for osmo_soft_uart_tx_ubits() * soft_uart: check Rx/Tx state once in osmo_soft_uart_{rx,tx}_ubits() * soft_uart: cosmetic: do not use 'osmo_' prefix for static symbols * soft_uart: improve doxygen documentation * soft_uart: osmo_soft_uart_tx_ubits(): return number of bits pulled * soft_uart: implement modem status lines and flow control * coding: fix doxygen docs for gsm0503_pdtch[_egprs]_decode() * coding: clarify the USF decoding for PDCH blocks * coding: gsm0503_pdtch_decode(): implement USF decoding for CS1 * tests/coding: fix -Wmaybe-uninitialized in test_pdtch() * tests/it_q: add tc_enqueue/dequeue testcase * core: fix wrong logic in _osmo_it_q_dequeue() * tests/soft_uart: assert that osmo_soft_uart_rx_ubits() returns 0 * tests/soft_uart: cosmetic: improve readability of the test output * soft_uart: cosmetic: use consistent naming for the Rx buffer msgb * logging: fix NULL pointer dereference in _output_buf() * soft_uart: fix the Rx flushing logic, add a unit test * soft_uart: demonstrate a problem with manual flush()ing * soft_uart: demonstrate a problem with inefficient polling * tests/lapd: fix wrong size passed in test_lapdm_contention_resolution() * tests/gsm0808: fix assert()s in test_gsm0808_dec_cell_id_list_srvcc() * tests/iuup: fix assert()s in test_decode_passive_init_2_rfci_no_iptis() * tests/fsm: also test .onenter and .onleave callbacks * tests: fix update-exp: soft_uart_test overwrites rlp_test.ok * utils: fix OSMO_STRBUF_REMAIN to handle sb.pos == NULL correctly * utils: improve readability of OSMO_STRBUF_CHAR_COUNT * utils: fix -Wsign-compare in definition of OSMO_STRBUF_CHAR_COUNT * utils: osmo_bcd2str(): fix applying non-zero offset to null pointer * tests/utils: do not test strbuf_example2() with buf=NULL * bitvec: bitvec_to_string_r(): drop unused variable * tests/{gb,iuup}: also match stderr * tests/tdef: also test OSMO_TDEF_US and negative T values * tests/tdef: tune logging, also match stderr * pseudotalloc: add talloc_memdup(), use it in talloc_strdup() * gsm0808_utils: use osmo_strbuf API, drop APPEND_{THING,STR,CELL_ID_U} * vty: suppress warnings about len being set but not used * gsm48_ie: fix various issues in doxygen docs * gsm: fix osmo_mobile_identity_decode(): init *mi on error * core: osmo_tdef_fsm_inst_state_chg(): allow millisecond precision * tests/tdef: improve test output (use OSMO_T_FMT[_ARGS]) * fsm: fix OSMO_T_FMT_ARGS: add missing braces * isdn: initial implementation of the V.110 TA * isdn: add a lookup table with E1/E2/E3 bits from Table 5/V.110 * tests/gsm0408: cosmetic: adjust coding style (make linter happy) * tests/gsm0408: add two more samples to bcap_tests[] * isdn/v110_ta: avoid redundant .status_update_cb() calls * gsm: add more definitions from Table 10.5.112/3GPP TS 24.008 * tests/iuup: fix duplicate assignment in def_configure_req * tests/a5: fix bit-wise vs logical and in test_a5[34]() * tests/sockaddr_str: fix dead code, print some errno values * tests/sockaddr_str: rc_name(): also handle -EAFNOSUPPORT * osmo-release.sh: make it a bit more user friendly * tests/Makefile.am: do not add files to EXTRA_DIST conditionally * utils/conv_codes_gsm.py: fix inconsistent formatting * coding: fix a typo in docs for gsm0503_pdtch_decode() * coding: improve readability in osmo_conv_decode_ber_punctured() * coding: fix artificial bit errors for PDTCH CS2 and CS3 * coding: fix wrong n_bits_total reported for PDTCH CS2 and CS3 * core: fix missing '\n' in iofd_uring_connected_cb() * tests: do not copy *.cfg files to the build directory * tests: rename logging_test_gsmtap -> logging_gsmtap_test * vty: fix memleak in host_config_set() * {fsm,vty}: add a VTY command to generate FSM state graphs * core: fix LOGPIO(): add missing space after 'iofd(...)' * README.md: cosmetic: fix a typo [ Pau Espin Pedrol ] * sockaddr_str.h Fix OSMO_SOCKADDR_STR_FMT_ARGS_NOT_NULL syntax error * socket: Introduce APIs osmo_sock_multiaddr_{add,del}_local_addr() * Fix typo in libosmocore.map * socket.c: Fix compilation with --disable-libsctp * tests/socket: Avoid keeping unneeded sockets open during next test cases * socket: Reimplement osmo_sock_init2_multiaddr() * socket: osmo_sock_init2_multiaddr2(): Apply params too if no OSMO_SOCK_F_BIND flag set * socket: Introduce API osmo_sock_multiaddr_get_ip_and_port() * socket: Introduce API osmo_sock_multiaddr_get_name_buf() * socket: Fix uninitialized mem ptr free in osmo_sock_init2_multiaddr2() * socket: Introduce API osmo_sock_sctp_get_peer_addr_info() * socket: Introduce defines OSMO_SOCK_MULTIADDR_{PEER_STR,NAME}_MAXLEN * ipa_ccm_tlv_to_unitdata(): free previous string if present before allocating new one * cosmetic: gsup.h: fix whitespace formatting * gsm_04_08_gprs.h: Introduce packed struct gsm48_pdp_address * gsup: Fail decoding if len of PDP Type IE is less than 2 bytes * gsup: Deprecate field pdp_type in favour of pdp_type_nr and pdp_type_org * gsup: Convert PDP-Type IE to PDP-Address IE * cosmetic: tests/gsup/gsup_test: Move send_e_send_end_signal_res to correct place * socket: Support AF_UNIX in osmo_sock_get_name_buf() * socket: Add remote PID and local FD to AF_UNIX sockname * osmo_io: Add iofd param to segmentation_cb [ Daniel Willmann ] * osmo_io: Init struct msghdr to zero * osmo_io: Only allow reading/writing if the relevant callback is set * logging_gsmtap: Temporarily disable logging when sending the logs * osmo_io: Assert that iofd mode is correct when calling *_write_msgb * Disable uring when building for embedded * osmo_io: Factor out and use common send function from backend * tests: Test gsmtap logging if write queue fills up [ Andreas Eversberg ] * LAPDm: Correctly count expiry of T200 during estabishment/release * ASCI: Add primitive to L1-SAP to switch uplink access detection on or off * LAPD: Prepare lapd_send_i() for RTS support * LAPD: Flush TX queue, if remote peer enters busy condition or rejects * LAPD: Always update N(R) in pending TX frames if V(R) is incremented * LAPD: Add support for RTS based polling and T200 * LAPDm: Add support for RTS based polling * LAPDm: Add an extra queue for UI frames * LAPDm: Add a flag to enable suppression of subsequent REJ frame * LAPD: Indicate sequence error after indicating received data * coding: gsm0503_tch_{afs,ahs}_encode(): add ability to emit BFI * Fix union abis_rsl_chan_nr and abis_rsl_link_id * Add flag to enable RTS based polling * Prevent poll() in select.c to timeout too early * Make socket.c compile without libsctp support (--disable-libsctp) * osmo_io: Move notify_connected function to backend * osmo_io: Use poll/select to notify socket connection at osmo_io_uring.c * osmo_io: Reject writing messages with length of 0 * osmo_io_poll: Use -errno as result on read error * osmo_io_uring: Cancel pending request, free msghdr on completion * osmo_io_uring: Detach msghdr from iofd before calling iofd_handle_send_completion() * osmo_io_poll: Declare local functions "static" * osmo_io: Assign const name when stealing TX msg from iofd ctx * osmo_io_uring: Check if osmo_fd_register fails at iofd_uring_notify_connected() * osmo_io: do check_mode_callback_compat() only if ioops is set at osmo_iofd_setup() * osmo_io_poll: Use -errno as result on write error * Fix file descriptor that is passed to io_uring_register_eventfd() * osmo_io_uring: Run check of tests/osmo_io with io_uring also [ Harald Welte ] * core: Add software UART implementation * add new osmo_sockaddr_from_str_and_uint() function * io_uring: add some more source code comments/docs * osmo_io: rename unsupported SCTP mode to OSMO_IO_FD_MODE_SCTP_RECVMSG_SEND * osmo_io: Reject unknown/unsupported modes in osmo_iofd_setup() * sim/class_tables: Prevent out-of-bounds access * libosmosim: Support Microsoft smart card discovery process * Add a GSM RLP decoder and encoder * rlp: Add support for 576bit RLP frames * osmo_io: Change struct osmo_io_ops to contain struct, not union * osmo_io: sendmsg/recvmsg support * osmo_io: Add osmo_io_get_ioops() function * ctrl: Don't expose write_queue in ctrl_cmd_send() api * cbsp: Add osmo_cbsp_segmentation_cb for message segmentation * osmo_io: Guard osmo_iofd_register() with invalid file descriptor * osmo_io: Log error message in case call-backs incompatible with mode * osmo_io: Don't pretend to support backends without close_cb * osmo_io: avoid OSMO_ASSERT one each API call * osmo_io: Avoid implementing non-existant situations * ctrl: re-introduce duplicate declaration of ctrl_cmd_send() * io_uring: more verbose error messages if io_uring setup fails * io_uring: check all operations in osmo_iofd_uring_init() * osmo_io: Dont use __linux__ but !EMBEDDED * osmo_io: Massive improvement of API documentation * osmo_io: Make {write,sendto,sendmsg} completion callback optional * Add funding link to github mirror * libosmosim: class_tables: Resolve conflicting CLA=8x INS=F2 definitions * libosmosim: class_tables: Fix GlobalPlatform CLA=8x INS=CA/CB GET DATA * [cosmetic] libosmosim/class_tables: Add a quick reminder about the cases [ Alexander Couzens ] * gsup: add message type for osmo-epdg CEAI interface * gsup: fix error log message * gsup.h: define newly added PCO IE [ Neels Hofmeyr ] * util: add OSMO_STRBUF_REMAIN() * util: add osmo_strbuf macros to manipulate the strbuf tail * logging: fix nul octets in log output / use osmo_strbuf * comment: gsm_04_08.h: add a spec hint * sockaddr_str: add conversion to,from osmo_sockaddr * fix update_exp: s/soft_uart.ok/soft_uart_test.ok * add jhash.h, copied from linux/jhash.h [ Philipp Maier ] * ecu: fix alignment of fr_ecu_state [ Eric ] * logging: add log level cache [ Hoernchen ] * Revert "logging: add log level cache" * Revert "Revert "logging: add log level cache"" [ Matan Perelman ] * ctrl: Add lchan node [ Oliver Smith ] * osmo-release: don't default to REL=patch * osmo-release: use script from PWD if available * osmo-release: use colored output * osmo-release: rework cleaning of TODO-RELEASE * osmo-release: fix libversion updating comment -- Oliver Smith Wed, 24 Jul 2024 10:19:45 +0200 libosmocore (1.9.0) unstable; urgency=medium [ Oliver Smith ] * gsm0808_dec_channel_type: add missing len check * test_gsm0808_enc_dec_channel_type -> …_speech * gsm0808_chan_indicator: add SPEECH_CTM_TEXT_TELEPHONY * gsm0808_enc/dec_channel_type: support data * Fix typo endianess -> endianness * Run struct_endianness.py * gsm0808_dec_channel_type: fix dec of ch_rate_type * tests: add test_gsm0808_enc_dec_channel_type_sign * gsm0808_enc/dec_channel_type: fix transparent flag * libosmocore.map: add tall_{ctr/msgb}_ctx * rsl: put values for Channel Mode into enums * rsl: RSL_CMOD_CSD_T: make enum values consistent * gsm0808: make CSD enum values consistent with RSL * on_dso_load_select: run after on_dso_load_ctx * debian: set compat level to 10 * debian: depend on liburing-dev for debian >= 11 * contrib/libosmocore.spec: centos7: disable uring * debian: fix build on ubuntu 20.04 without liburing [ Neels Hofmeyr ] * add contrib/talloc_count.sh * add osmo_prim_operation_name() * add gsm0808_amr_modes_from_cfg * improve test output for gsm0808_sc_cfg_from_gsm48_mr_cfg() * fix 'make vty-test' for --disable-gb * fix 'make vty-test' for --disable-external-tests --enable-gb * contrib/talloc_count.sh: improve hexadecimal masking * error log: osmo_sock_init2_multiaddr() v4/v6 mix * logging vty: probe 'print' and 'logging timestamp' cmds * vty: show bug in implicit go_parent_node * vty: fix vty->index for implicit go_parent_node * vty: move struct vty_parent_node to private API * gsm: add osmo_mobile_identity_decode_from_l3_buf() * gsm_04_08_gprs: add IEI "GMM TMSI Based NRI Container" * improve API for osmo_routing_area_id [ Max ] * socket: propagate error in osmo_sock_unix_init() to the caller * GSMTAP: fix typo * GSMTAP: add gsmtap_source_init*2() * GSMTAP: add missing parameter docstrings * logging: print talloc report on exit from vty test [ Philipp Maier ] * i460_mux.c fix apidoc * i460_mux: make osmo_i460_subchan_count public * gsmtap_util: remove whitespace at the end of line * i460_mux: add define constant for maximum number of subchannels * codec: add define constants for RFC5993 and TS101318 * gprs_bssgp_rim: also print NSEI when sending RIM messages * gprs_bssgp_rim: allow sending of encoded RIM messages * gprs_bssgp_rim: add decoder for RIM ROUTING ADDRESS [ Vadim Yanitskiy ] * gsm: fix invalid check in gsm48_decode_ssversion() * gsm: add missing features to osmo_bts_features_names[] * gsm: ensure completeness of osmo_bts_features_{descs,names}[] * gsm/{bsslap,bssmap_le}: zero-initialize structs using memset() * msgb: use OSMO_ASSERT in msgb_alloc_headroom[_c]() * gsm: use OSMO_ASSERT() in osmo_iuup_msgb_alloc_c() * debian/control: make libosmocore-doc depend on libosmo{ctrl,gb}-doc * debian/control: fix typo * doxygen: also generate documentation for libosmo{sim,usb} * contrib/struct_endianness.py: simplify file extension check * doxygen: remove documentation for non-existent params * doxygen: fix various typos in commands \param and \returns * gsm0502: add burst length definitions from chapter 5.2 * coding: clean up Makefile.am * utils/Makefile.am: remove duplicate libosmogsm.la * utils/Makefile.am: do not overwrite AM_CFLAGS * utils/osmo-stat-dummy/Makefile.am: drop empty variables * gsmtap: add missing entries to gsmtap_type_names[] * tests/v110: assert(user_data_chunk_bits) in test_ra1() * isdn: fix identical operands in v110_adapt_IR8000_to_2400() * gsm_04_08: document/clarify enum gsm48_chan_mode values * gsm_04_08: add more enum gsm48_chan_mode speech values * gsm_04_08: add more enum gsm48_chan_mode data values * gsm0808: handle new enum gsm48_chan_mode speech/data values * tests: make VTY tests depend on the respective binaries * fixup (partial revert): "coding: clean up Makefile.am" * core: remove unnecessary #include * libosmocore.map: add missing symbols needed for osmo-qcdiag * coding: fix doxygen doc for _xcch_encode_cB() * copyright: fix typo: sysmocom s/s.m.f.c./s.f.m.c./ GmbH * coding: use GSM_MACBLOCK_LEN gsm0503_tch_fr_decode() * coding: gsm0503_tch_f96_[de]interleave() not applicable to TCH/F2.4 * coding: declare gsm0503_tch_f96_[de]interleave() * coding: fix API doc: TCH/H needs 6 bursts, not 8 * coding: fix API doc: TCH/AFS vs TCH/AHS * coding: use gsm0503_tch_hr_decode2() in coding_test * gsm: fix convolutional code definition for TCH/F4.8 * coding: implement TCH/F9.6, TCH/[FH]4.8, TCH/H2.4, TCH/F14.4 * coding: implement dedicated codec API for FACCH/[FH] * coding: test FACCH/[FH] bitstealing in test_csd() * coding: fix _tch_csd_burst_map(): do not overwrite FACCH * struct osmo_sub_auth_data: remove OSMO_DEPRECATED_OUTSIDE * coding: fix a copy-paste bug in gsm0503_tch_afs_decode_dtx() * gsm: add gsm0502_fn2ccch_block() * gsm0502: cosmetic: use ARRAY_SIZE in gsm0502_fn2ccch_block() * ipa: fix a typo in ipa_ccm_rcvmsg_base(): PING -> PONG * core: fix pointer access in msgb_l[1-4] macros * coding: remove redundant memset()s in gsm0503_tch_fr{96,144}_encode() * coding: implement encoding/decoding API for TCH/F2.4 * lapdm: cosmetic: simplify lapdm_phsap_up(), use OSMO_PRIM[_HDR] * gsm_08_08: define GSM0808_SCT_EXT (separately) * gsm48_ie: fix gsm48_encode_bearer_cap(): encode bcap->data.transp * isdn: mux_timeslot_provide_bits(): remove unused 'count' * .gitignore: add include/osmocom/core/socket_compat.h * tests/{v110,gsm44021}: change naming: 'test_' -> '_test' * gsm_12_21.h: add flags for NM_ATT_IPACC_SUPP_FEATURES * gsm_12_21.h: fix typo: NM_IPAC_F_CHANT_P{C->D}CHF [ Pau Espin Pedrol ] * gsm_04_60.h: Better describe origin of enum osmo_gprs_nmo * Move libosmogsm TS 44.060 declarations under include/osmocom/gsm/ * libosmogb.pc.in: Fix missing dependency on libosmogsm * gsm: gsm_gsmtime2fn(): constify param * cosmetic: stats_tcp: Fix typo in comment * logging: Unregister osmo_fd before closing fd * select: Optimize osmo_fd_get_by_fd * select.c: Clarify osmo_fd_(un)register() API expectations of registered fd * select.c: Clarify osmo_fd_unregister() can only be called on registered osmo_fds * configure.ac: Fix logic enabling osmo_fd fd checks * configure.ac: Fix typo in enable flag description * select.c: osmo_fd_unregister(): Avoid assert hit with old buggy users of the API * tests/Makefile.am: Move system libs at the end of list * tests/Makefile.am: Drop duplicated libosmogb.la in LDADD * tests/Makefile.am: Move LDADD to right position * logging.c: Sanitize calls to osmo_fd_unregister() * Fix parsing of TLV_TYPE_SINGLE_TV * gsm: Add missing TS 24.008 SM layer IEs * gsm_04_08_gprs.h: Add missing GMM IEs for T3302 and T3346 * gsm_04_08_gprs.h: Add enum field for GMM 'P-TMSI type' IE * gb: ns2: Rename parameter name in gprs_ns2_nsvc_by_sockaddr_bind() * tlv: Show bug in decoded tlv_parsed for type TLV_TYPE_SINGLE_TV * Fix 'Fix parsing of TLV_TYPE_SINGLE_TV' * ns2: Count transmitted/dropped in each layer implementation * cosmetic: codec/Makefile.am: list sources one file per line * osmo_io: Make name optional, add _set_name() API * socket: Cache errno before calling further functions * gsm0502.h: Document spec number * gsm: Add missing IE definition for GMM Receive N-PDU Number list * exec: osmo_system_nowait2(): Improve logging and error checks * sockaddr_str: Introduce macro OSMO_SOCKADDR_STR_FMT_ARGS_NOT_NULL * cosmetic: lapdm: Fix typo in comment * tlv: Introduce API msgb_tv32_push() * lapdm: Track fn of primitives in struct lapdm_msg_ctx * gsm: Introduce functions to convert between FN and RFN (Reduced FN) * socket: Add osmo_sock_init flag to enable SCTP ASCONF features * rsl: Introduce new osmocom extension IE RSL_IE_OSMO_ABS_FRAME_NUMBER * lapdm: Append RSL_IE_OSMO_ABS_FRAME_NUMBER to RSLms msgs towards upper layers * Revert "lapdm: Append RSL_IE_OSMO_ABS_FRAME_NUMBER to RSLms msgs towards upper layers" * Revert "rsl: Introduce new osmocom extension IE RSL_IE_OSMO_ABS_FRAME_NUMBER" * lapdm: Update public lapdm_msg_ctx upon CCCH data ind * socket: Avoid aborting socket creation if setsockopt for ASCONF fails * gsm_12_21.h: Introduce packed structs for NM_ATT_IPACC_RLC_CFG{,_2,_3} values * gsm_12_21.h: Introduce packed structs for NM_ATT_IPACC_BSSGP_CFG values * gsm_12_21.h: Introduce packed structs for NM_ATT_IPACC_NS_CFG values * socket: Remove OSMO_SOCK_F_SCTP_ASCONF_SUPPORTED, add osmo_sock_init2_multiaddr2() * socket: Support setsokopt SCTP_INITMSG in osmo_sock_init2_multiaddr2() [ Matan Perelman ] * gsm0808_enc_channel_type: Add spare byte [ Harald Welte ] * Implement the XOR-2G authentication algorithm * New unit test for XOR-2G authentication * Rename OSMO_AUTH_ALG_XOR to OSMO_AUTH_ALG_XOR_3G * convolutional coding for CSD * Interleaving for CSD * libosmocore.map: Add two missing entries for gsmtap*2() API * Makefile.am: Make libraries depend on .map files * isdn: Add V.110 encoder/decoder * gsm: TS 44.021 modified V.110 frame encoding/decoding support * gsm_08_58: Document IPAC RTP CSD modes in at least a few words * New osmo-gsmtap-logsend utility * gsmtap.h: Define a packet type for encapsulation of GSM RLP frames * rate_ctr: Add rate_ctr_add2() similar to rate_ctr_inc2() * Add osmo_io with initial poll backend * Add osmo_gsm48_si1ro_nch_pos_{encode,decode} functions * cosmetic: Fix spec reference in RSL header file * gsm_08_58.h: Add 'struct rsl_ie_nch_drx_info' * libosmogsm: Support authentication with 256-bit K and/or OP/OPc * libosmogsm: Add OSMO_ASSERT() to ensure correct algorithm * libosmogsm: Ensure MILENAGE + XOR-3G K length is 128 bit * osmo-auc-gen: Convert over to osmo_auth_gen_vec*2 API * libosmogsm: Allow auth API caller to specify RES length * libosmogsm: Factor out the C2 derivation function * libosmogsm: Avoid executing MILENAGE crypto twice (for UMTS and GSM) * libosmogsm: Add support for TUAK authentication algorithm * gsmtap_source_free(): Don't crash if NULL is passed [ Daniel Willmann ] * Add libosmocore.map * Add osmo_sockaddr_size() to return the size of the variant used * tests: Add initial osmo_io tests * osmo_io: Avoid read of uninitialized variable * gpsr_ns2_udp: Use osmo_io_fd instead of osmo_fd * osmo_io: Improve handling and documentation of segmentation_cb * osmo_io: Support detecting non-blocking connect() * osmo_io: Consistency - put read/recv callback first in osmo_io_ops * osmo_io: Don't make msg in write_cb const * osmo_io: Remove osmo_iofd_read/write_enable/disable * socket: Ensure fd is not negative in osmo_sock_get_name_buf() * osmo_io: Return early on error in osmo_iofd_register() * osmo_io: Use LOGPIO instead of LOGP * osmo_io: Use bitfield for various boolean flags * osmo_io: Make the test more deterministic between backends * osmo_io: Fix write_enable handling in iofd_txqueue * osmo_io: Remove missing functions from map file * osmo_io: Add osmo_iofd_notify_connected() * osmo_io: Document expectation that segmentation_cb() can modify msgb * osmo_io: Add function to change the maximum length of the tx_queue * cosmetic: Fix doc comment * osmo_io(cosmetic): End in a dot for doxygen AUTO_BRIEF * osmo_io: Fix length calculation in iofd_handle_segmentation() * osmo_io: Ensure correct ownership of msgb when sending * osmo_io: Use MSG_NOSIGNAL to avoid SIGPIPE on write * osmo_io: Add iofd_handle_recv() * osmo_io: Avoid potential double free when sending msgb * osmo_io: Add io_uring backend * ns2: Add VTY option to change the max write queue size for UDP * osmo_io: Change parent of msghdr to iofd (instead of msg) * osmo_io: Use local variable to reference msghdr->msg [ Eric ] * fix _thread order * logging: remove log_initialized(void) * gsm48_rest_octets: fix wrong value [ Mychaela N. Falconia ] * codec: add osmo_efr_check_sid() function * codec: add SID classification functions per GSM 06.31 & 06.81 * codec: add SID preening functions for FR & EFR * codec: add osmo_{fr,efr}_is_any_sid() inline functions * codec: add osmo_gsm611_silence_frame[] datum * codec cosmetic: move old FR ECU code to ecu_fr_old.c * codec: replace GSM-FR ECU with new implementation * coding: fix decoding of EFR triplicated bits * gsm0503_tch_hr_decode(): look at all 8 stealing bits * gsm0503_tch_hr_encode(): accept both TS101318 and RFC5993 payloads * gsm0503_tch_hr_decode2(): new function, emits TS101318 format * libosmocoding.map: export gsm0503_tch_hr_decode2() * coding cosmetic: gsm0503_tch_{fr,hr}_encode(): remove extra spacing * codec: new functions osmo_{fr,efr}_sid_reset() * codec: new function osmo_hr_sid_reset() * coding: gsm0503_tch_{fr,hr}_encode(): add ability to emit BFI * ecu: add is_dtx_pause() method [ arehbein ] * core: Check return value of osmo_fd_register() * core: Add function to update osmo_io_ops field for osmo_io_fd * core/osmo_io: Rename variables for readability * core/osmo_io: Fix reception of partial packets * gsm/ipa: Add segmentation callback * Revert "gsm/ipa: Add segmentation callback" * select: Prevent negative index lookup on osmo_fd_lookup.table [ Andreas Eversberg ] * ASCI: Add 3GPP TS 44.068 and 44.069 protocol definitions * ASCI: Add IE transcoding according to 3GPP TS 48.008 * Added generation of include/osmocom/core/socket_compat.h * ASCI: Add message definition and encoding according to 3GPP TS 48.008 * Add support for sending Bter UI frames at lapdm.c * Add support for receiving Bter UI frames at lapdm.c * Add short L3 header to gsm_04_08.h * Fix short L3 header of SI 10 at gsm_04_08.h * ASCI: Add Notification/NCH message to gsm_04_08.h * lapdm: Do not return an error when enqueuing a frame * Add VGCS UPLINK GRANT message structure to gsm_04_08.h * ASCI: Also display group/broadcast call message names * Allow 'configure ' at VTY to enter config mode * ASCI: Add decoding of mobile identity in TALKER INDICATION * ASCI: Add missing check for return value of gsm0808_enc_speech_codec_list2() * ASCI: Add BCC call state definitions * LAPDM: Use correct offset to short header on recevied frame * ASCI: Add definition for TALKER INDICATION and UPLINK RELEASE [ Sylvain Munaut ] * gsm: Fix comment for TCH/F4.8 code * gsm: Improve the TCH/H2.4 coding routines -- Pau Espin Pedrol Tue, 12 Sep 2023 13:15:52 +0200 libosmocore (1.8.0) unstable; urgency=medium [ Vadim Yanitskiy ] * fix uninitialized err pointer passed to osmo_bssap_le_dec() * gsm0408_test: do not return early in test_bearer_cap() * gsm0408_test: add a testcase for gsm48_decode_bearer_cap() * gsm48_ie: fix coding style: while is not a function * gb: fix uninitialized ptr access in bssgp_encode_rim_pdu() * fsm: add unit tests verifying state timeout s/ms accuracy * fsm: fix state_chg(): pass microseconds to osmo_timer_schedule() * tests/tdef: assert pointer returned by osmo_tdef_get_entry() * gb/gprs_ns: call osmo_timer_del() unconditionally * fsm: osmo_fsm_{event,inst,state}_name(): make *fi pointer const * logging: add a new category DLCSN1 for libosmo-csn1 * {gb,sim,usb}: ensure -no-undefined is present in *_la_LDFLAGS * include: use '#pragma once' everywhere * gsm0502: use parentheses in GSM_TDMA_FN_{SUM,SUB} macros * configure.ac: fix 'AM_CONDITIONAL(ENABLE_GNUTLS, false)' listed twice * {gsm,gb}/Makefile.am: drop undefined $GCC_FVISIBILITY_HIDDEN * gsm0502: gsm0502_fn_remap(): use GSM_TDMA_FN_SUB() macro * */Makefile.am: do not mix up AM_CFLAGS with AM_CPPFLAGS * gsm0808: cosmetic: switch is not a function * gsm0808: remove unneeded assignment in enc_speech_codec() * gsm0808: remove redundant assert() in enc_speech_codec() * gsm0808: remove over-defensive assert()s for function parameters * gsm0808: add gsm0808_enc_speech_codec[_list]2() * gsm0808: use new gsm0808_enc_speech_codec[_list]2() API * gsm48_ie: gsm48_decode_freq_list(): make 'cd' argument const [ Pau Espin Pedrol ] * iuup: Explicitly mark default case as unexpected with assert * cbsp: avoid potential msgb write overflow in osmo_cbsp_recv_buffered * gsm_23_041.h: Define CBS ETWS Warning Type values * cbsp: Return error if decoding any of the cell id lists fail * tests: Run smscb/gsm0341_test during make check * cbsp: Guard against malformed msgb without l1h,l2h being passed * cbsp: Fix decoding of Fail List * cosmetic: tlv.h: Fix trailing whistespace * tlv.h: Fix TLVP_PRESENT returning a pointer instead of a boolean * gsm: Add BTS feature for Osmux * gsm: rsl: Define new osmocom extension TLV IE to pass Osmux CID * gsm: bts_features: Add missing entries to osmo_bts_features_names * utils.h: protect param with parenthesis in OSMO_BYTES_FOR_BITS() * vty: Allow using hex representations in cmd numeric ranges * socket.h: Reorder sockaddr APIs to have them all together * socket: Introduce API osmo_sockaddr_is_any * gsm: constify several readonly params * ctrl: error if program forgot to initialize the ctr handler before installing cmds * socket.h: Introduce API osmo_sockaddr_netmask_to_prefixlen() * Move src/*.{c,h} to src/core/ * src/core/Makefile.am: reformat SOURCES list * Split include/Makefile.am content into subdirs * Makefile.am: Remove unexsiting all_includes variable * Fix all references to config.h * Introduce netns API * Introduce netdev API * Introduce tundev API * configure --enable-libmnl: Add libmnl to libosmocore.pc.in Requires * netdev: Fix compilation building with --disable-libmnl * tun: Fix potential unpaired call to osmo_netns_switch_exit() * gprs_ns2_fr: use osmo_netdev to monitor and operate network device * debian/rules: Fix moved path crc*gen.c [ Mychaela Falconia ] * gsm48_ie: fix parsing of Bearer capability IE without octet 3a [ Harald Welte ] * sim/class_tables: Add GET IDENTITY, SUSPEND UICC, EXCHANGE CAPABILITIES * allocate VTY port number 4270 for osmo-isdntap * logging.h: Allocate DLM2PA and DLM2UA for libosmo-sigtran * Support building with -Werror=strict-prototypes / -Werror=old-style-definition * Disable -Wstrict-prototypes for logging_vty_add_cmds() * vty/logging.h: Avoid -Werror=pragmas error in C++ code * Add -Werror=implicit-int -Werror=int-conversion -Werror=old-style-definition * Fix typos in copyright statements. * gsmtap.h: Add definitions for various ISDN sub-types * create libosmoisdn sub-library * isdndlc: Fix documentation [ Oliver Smith ] * gsm0808_enc_aoip_trasp_addr: add length check * utils/osmo-stat-dummy: check for ENABLE_UTILITIES * d/control: libosmocore-dev: depend on libmnl-dev * gsm_08_08.h: fix typo in GSM0808_DATA_FULL_PREF [ Alexander Couzens ] * gprs_ns2: add vty `nse <0-65535> restart sns` * gb: add bssgp2_enc_flush_ll encode FLUSH-LL [ Neels Hofmeyr ] * enrich API doc for gsm0808_speech_codec * gsm0408_test: do not print errno in expected output * comments: gsm_08_08.h: AMR cfg: explain in much more detail * osmo_tdef_get(): clarify API doc on val_if_not_present [ Max ] * Ignore osmo-ns-dummy * Add function to guess AF_UNSPEC address * Add osmo_sockaddr_strs_to_str() * cosmetic: remove trailing space * cosmetic: make linter happy with LAPD code * LAPD: log unknown format value * LAPD: use bool for T200 reset flags * msgb: expand copy test * doc: correct typo in ticket reference * msgb: introduce extended copy functions * Add define for unset Frame Number * LAPD: move tx_hist code into static functions * osmo-ns-dummy: add ctrl interface * jenkins_arm.sh: disable external tests * vty: fix doc typo * telnet_init_dynif: propagate error * telnet_init_dynif: don't allow negative port * rate_ctr: convert to timerfd * rate_ctr: drop rate estimation code * osmo-stat-dummy: add rate counters and statsd tester * ctrl: add optional port to bind command * ASCI: add VBS/VGCS support to BTS features list * SI: add RR short PD message types * Fixup .gitignore * SI: add missing header * Add SI10 support [ neels ] * Revert "Add osmo_sockaddr_strs_to_str()" * Revert "Add function to guess AF_UNSPEC address" [ Daniel Willmann ] * use_count: Return if uc is NULL [ Keith Whyte ] * Fix LCLS-CONNECT-CONTROL generation * Fix Typo in gsm0808_msgt_names[] [ Philipp Maier ] * msgb: assert msgb->lXh to be not NULL * msgb: do not use msgb_l4 instead of msgb_sms * bits: fix typo * uitils: add floored and euclidian modulo functions * gsm0408_test: add unittest for gsm_gsmtime2fn() * gsm_utils: improve gsm_gsmtime2fn() [ arehbein ] * gb/vty: Show if NSVC is blocked locally by O&M/vty or by remote * libosmocore: Deprecate APIs telnet_init(_dynip)() * libosmocore: Transition to use of 'telnet_init_default' [ Eric ] * bitgen test: fix concat macro -- Pau Espin Pedrol Tue, 07 Feb 2023 11:20:41 +0100 libosmocore (1.7.0) unstable; urgency=medium [ Vadim Yanitskiy ] * .gitignore: add utils/osmo-aka-verify binary * tests/vty: fix use of GNU 'missing =' extension in designator * debian/control: minimum version of libtalloc-dev must be >= 2.1.0 * tests/tdef: rename the binaries to end with '_test' * tdef: fix wrong path in documentation: tests/vty -> tests/tdef * bitvec_read_field(): indicate errors using errno * bitvec_read_field(): fix incorrect bit-shift issue found by UBSan * bitvec_read_field(): optimize by expanding bytenum_from_bitnum() * tests/testsuite.at: ensure empty stderr for the bitvec_test * VTY: enable talloc introspection for OTC_GLOBAL * VTY: implement 'no log gsmtap [HOSTNAME]' command * contrib/libosmocore.spec.in: mention osmo-config-merge in utils * gsm_7bit_encode_n(): use regular malloc() instead of calloc() * tests/logging: ensure both stream and wqueue modes are tested * tests/logging: also test printing the filename information * logging: fix coding style issues in _output_buf() * logging: fix printing of '\0' when filename printed last * tests/logging: merge both logging_test_{stream,wqueue}.err * core/utils.h: add OSMO_LIKELY / OSMO_UNLIKELY macros * core/utils.h: wrap OSMO_ASSERT() with do { ... } while (0) * core/msgb.h: make use of OSMO_LIKELY / OSMO_UNLIKELY * core/utils.h: make use of OSMO_LIKELY in OSMO_ASSERT * libosmocodec: osmo_hr_check_sid(): simplify the logic * contrib/jenkins_amd64.sh: remove FreeBSD specific quirks * bssmap_le: support additional IEs in Perform Location Request * Use internal everywhere * coding: fix comments for detect_afs_sid_{first,update,onset} * coding: cosmetic: move 'dtx_prev' to the scope where it's used * coding: use switch statement in gsm0503_tch_a[fh]s_decode_dtx() * coding: properly handle AFS_SID_UPDATE frames in DTX mode * coding: prevent marking FACCH frames as AMR's special DTX frames * tests/dtx: test detection/decoding of A[FH]S_SID_UPDATE * tests/dtx: test tagging of FACCH/[FH] frames * coding: fix decoding of AHS_SID_UPDATE frames (BER ~50%) * coding: do not reset codec ID on receipt of DTX frames * coding: add gsm0503_detect_a[fh]s_dtx_frame2() * coding: separate gsm0503_tch_a[fh]s_decode_inband() [ Eric ] * fix isdigit taking unsigned as input * logging: allow disabling macros using a new define: LIBOSMOCORE_NO_LOGGING [ Daniel Willmann ] * bssgp_bvc_fsm: Move log message to the correct place * bssgp_bvc_fsm: Add a hook to notify when a reset was acknowledged [ Harald Welte ] * logging: Fix memory leak in case async log write queue overflows * write_queue: Document it that caller is responsible if enqueue fails * gsmtap: Add gsmtap_sendmsg_free() as alternative to gsmtap_sendmsg() * Introduce CRC and FSM for IuUP (user plane) as used in 3G RTP data * tcp_stats: fix compilation on CentOS 7 * iuup: Fix signed/unsigned loop counter control flow issue * src/conv.c: Align better with Osmocom coding style * bitvec: Fix -Wsign-compare warnings * utils: Fix -Wsign-compare warnings * log_taget_find() should use enum log_target_type, not int * bits.c: Fix -Wsign-compare warnings * socket, select: Fix -Wsign-compare warnings * msgb: Fix -Wsign-compare warnings * osmo_libusb: Fix NULL check in osmo_usb_removed_cb() * osmo_libusb: Use libusb_get_pollfds() to get initial file descriptors * osmo_libusb: Print log message on libusb initialization error * gsm0808: Test if we properly decode a SRVCC cell identifier list * usb: Match device by VID/PID without path/addr if it is unique * clean-up pkg-config files: Make use of "Requires" as documented * debian/control: libosmocore-dev must depend on libsctp-dev and libusb-1.0-0-dev * libosmo{gb,vty}.pc.in: Add talloc to 'Requires' * libosmocore.spec: Make libosmocore-devel require libsctp * libosmovty: Link libosmovty against libpthread * vty: Support platforms that don't support pthread_getname_np() * vty: Add a 'skip-zero' version of 'show stats' and 'show rate-counters' * stats: Functions with no arguments should specify(void) * stats: Avoid NULL pointer deref in allocation failure paths. * stats: don't try to save unknown stats reporter types * fsm_vty: use unsigned int when left-shifting 31 bits! * update git URLs (git -> https; gitea) [ Eric Wild ] * logging: make LIBOSMOCORE_NO_LOGGING work as expected [ Oliver Smith ] * treewide: remove FSF address * select_main: don't poll forever during shutdown * Cosmetic: linuxlist.h: fix misleading comment [ Philipp Maier ] * stats: fix typo * stat_item: tolerate NULL pointer argument in osmo_stat_item_group_free * select: gather statistics for TCP connections * stats_tcp: use a default batch size of 5 instead of 1 * stats_tcp: fix stats item identifier * gsm23003: fix docstring for osmo_plmn_from_bcd() * iuup: do not use illegal characters in state/event names. * logging: log to stderr when logging is not initialized * reader: more meaningful null pointer check in get_sw [ Pau Espin Pedrol ] * include/: Adapt some headers to match contrib/struct_endianess.py format * logging: Fix Not enough tailroom msgb_put in _output_buf callers * osmo-release.sh: Use variable containing bumpversion path everywhere * iuup: Fix decoding of 1byte-length subflow size fields * iuup: Submit RNL-STATUS-Initialization.ind upon rx of Init * iuup: Improve CRC checksum error logging * gsm: [ABI BREAK] Support CellId SAI, change CellId CGI-PS id number * gsm: lapd_core: Change log line NOTICE->INFO * gsm0808_test: Add new unit test showing dec error * gsm0808: Fix decoding of IE GSM0808_IE_LCS_CLIENT_TYPE * cosmetic: gsm_08_08.h: Add space between assignment sides * gsm0808: Add missing IEs in bss_att_tlvdef * jenkins: Validate IEs are added to tlv_definition * libosmocore.pc.in: put libsctp in Requires.private * configure: Support libsctp < 1.0.17 without libsctp.pc * rsl: Fix tlv_parse of IPAC_DLCX_IND message * jenkins: Validate gsm 08.58 IEs are added to tlv_definition * gsm: Introduce helper rach_tx_integer_raw2val() * cosmetic: logging.h: fix indentation * gsm_12_21.h: Fix abis_nm_avail_state InTest and Failed values * gsm_12_21.h: Add header description pointing to TS files * coding: Refactor function to avoid gcc false positive warn * osmo-arfcn: Fix false positive in gcc 12.1.0 * coding: Use ARRAY_SIZE macro * iuup: Rework API to support RFCI IDs != RFCI index * cosmetic: iuup.h: Fix indentation * iuup: Fix IPTIs_present not set to 0 if no IPTIs received * cbsp: Add enum and value string for Cause * iuup: Add missing state to bitmask for st SMpSDU_Data_Transfer_Ready * iuup: Drop unused events * tests/iuup: Showcase IuUP stack not answering subsequent Init msgs * iuup: Fix Handling of subsequent Initialization msgs * vty: command.c: Add assert [ Sylvain Munaut ] * conv: Fix the traceback for tail biting codes * build: Disable libusb and libmnl for embedded builds [ Neels Hofmeyr ] * PFCP: add DLPFCP and osmo-upf port numbers * ports.h: add osmo-pfcp-tool ports * add osmo_sockaddr_to_str_c(), osmo_sockaddr_to_str_buf2() * log: socket.c: rather use the osmo_sockaddr_str _FMT * add osmo_quote_str_buf3, osmo_escape_str_buf3 * add osmo_sockaddr_from/to_octets() * follow-up to osmo_sockaddr_from/to_octets() * BSSAP: HO Request Ack: add missing Codec List (BSS Supported) * add osmo_sockaddr_set_port() * osmo_time_cc: rate_ctr presence should not affect counting * cosmetic tweak in Makefile.am [ Michael Iedema ] * stats: use tcp stat names as provided [ Karsten Ohme ] * APDU parsing support for GlobalPlatform -- Pau Espin Pedrol Tue, 28 Jun 2022 17:00:51 +0200 libosmocore (1.6.0) unstable; urgency=medium [ Pau Espin Pedrol ] * osmo-release.sh: Check configure.ac dependency versions match those in rpm *.spec.in * osmo-release.sh: Drop repeated DRY_RUN early exit * osmo-release.sh: Check LIBVERSION matches rpm *.spec.in * osmo-release.sh: Properly rearrange var init and sanity checks * tests/gb: Fix printf format errors on ARM 32 bits * Skip RPM checks if no *.spec.in available * gsm_08_08.h: Add extra field elements defined in other sections * cosmetic: tlv_parser: fix typo in func description * cosmetic: Fix trailing whitespace * gsm: Support Sending Last EUTRAN PLMN Id in Handover Required * cosmetic: fix typo in comment * gsm0808: Introduce gsm0808_old_bss_to_new_bss_info_att_tlvdef * osmo_timer_pending: Make arg const * gb: Fix naming and export symbol bssgp_enc_rim_pdu * Revert "gb: Fix naming and export symbol bssgp_enc_rim_pdu" * gb: Fix missing exporting symbol bssgp_encode_rim_pdu * vty: Implement missing public API host_config_file() * vty: Introduce API vty_read_config_filep * range_enc_determine_range(): Don't dereference array on size=0 * stat,rate_ctr: Introduce new API to get counter at given index * Use new stat item/ctr getter APIs * stat,rate_ctr: Allow setting group name and use it at report time * ns2: Use NSVC bufid in stats report * ipaccess: Add new osmo extension IPAC_PROTO_EXT_PCU * bts_feature: Introduce feature to speak to PCU * msgb_alloc_headroom: Change size args to be uint16_t * ctrl: Pre-calculate required size before allocating msgb * ctrl: Support recovering from short write * cosmetic: gsm_12_21.h: Fix trailing whitespace * Rename osmo dyn ts enums * bts_feature: Introduce feature to confiure dyn ts as sdcch8 * Make gcc 11.1.0 false positivies happy * cosmetic: gb/gprs_ns.c: fix trailing whitespace * gb/bssgp: Abort clearly if backward-compat API is used in wrong way * utils: Fix c++ warn in OSMO_STRBUF_APPEND * cosmetic: Fix missing space in comment * gsm_08_58.h: Extend IPA Power Control Params IEs to pass C/I params * gsm: Mark gsm0858_rsl_ul_meas_enc() pointer param const * cosmetic: gsm: meas_rep.h: Fix typo in comment * logging: Change LLAPD category color to purple-like one * {ctrl,vty}/ports.h: Allocate ports for osmo-hnodeb * configure.ac: Depend on talloc 2.1.0 * logging: Fix double lock of log_tgt_mutex * contrib/libosmocore.spec.in: Depends on talloc 2.1.0 * osmo-release.sh: Blacklist script file from LIBVERS matches [ Oliver Smith ] * osmo-release.sh: support epoch * tests/stats: enable logging in test output * stats: log error when missing stats values * Revert "stats: log error when missing stats values" * stat_item: make next_id argument name consistent * stat_item: add comment with struct overview * stat_item: make value ids item specific * stats_test: restore stat_item_get_next asserts * stats: log error when missing stats values (v2) * stats: have_value is a bool, not int * vty: add "show uptime" * vty: add "show pid" * vty: add "shutdown" * vty: show uptime: use timespecsub * vty: clear screen with ^L * vty/ports: prepare formatting for a long define * vty/ports: move pcap server/client ports * tests: add 'make update_exp' target * tests/stats: show how last item sent may be wrong * stats: send real last value if no new values come [ Alexander Couzens ] * gprs_bssgp: add support for SGSN oriented RESET * gprs_bssgp: use BVCI_SIGNALLING/BVCI_PTM instead of 0/1 * gprs_ns2: don't OSMO_ASSERT() while freeing NS-VC. * gprs_ns2: rework logging of Rx and Tx NS PDU * gprs_ns2: always use the same method to print NSVCs * gprs_ns2_vty: hide dynamic NSE information when ask for persistant only * gprs_ns2_vty: make the `show ns entities` and `show ns binds` look similiar * gprs_ns2: dump_nsvc: correct indention * gprs_ns2: add vty command `nsvc reset` * gprs_ns2: fix memory leaks when receiving SNS or invalid packets * gprs_ns2: vty: remove a white space in `show binds` * gprs_ns2: nsvc_fsm: reorder notification st_alive_on_enter() * gprs_ns2: sns: ensure the sns->alive state is correct * gprs_ns2: sns: remove the initial SNS NSVC if it's not part * gprs_ns2_vty: print a response to vty `nsvc (block|unblock|reset) * gprs_ns2: fix nsvc block and unblock vty command * gprs_ns2: SNS: allow transition missing transition GPRS_SNS_ST_UNCONFIGURED * gprs_ns2: add functions for SNS add/del/change-weight messages * gprs_ns2: sns: fix del bind() * gprs_ns2: vty: fix removing a bind from a SNS * gprs_ns2: rework id strings of nsvcs * gprs_ns2_sns: move selection of the next bind into own function * gprs_ns2_sns: bss: improve validation of configuration * gprs_ns2_sns: refactor local and remote entries into a struct * gprs_ns2_sns: refactor ns2_clear_ipv46_entries_local to use new elems functions * gprs_ns2_sns: use struct ns2_sns_elems in add/update/remove remote_elems * gprs_ns2_sns: move gss->remote specific check out of add_ip4_elem/add_ip6_elem * gprs_ns2_sns: add check for duplicates to add_ip6_elem() * gprs_ns2_sns: refactor ip4_weight_sum/ip6_weight_sum * gprs_ns2_sns: refactor nss_weight_sum_data -> ip46_weight_sum_data * gprs_ns2_sns: replace ns2_sns_type with address family * gprs_ns2_sns: bss: set gss->family * gprs_ns2: use llist_add_tail to keep order * gprs_ns2: fix missing notify towards the NSE when NSVC become blocked * gprs_ns2_vc_fsm: reset the ALIVE response time when stopping test * gprs_ns2: fix crash when changing the MTU * gprs_ns2: fix check of MTU changes for frame relay * gprs_ns2: correct mtu value in the log line * gprs_ns2: use gprs_ns2_free_bind() to clean up a bind * gprs_ns2: fix wrong format string in Tx Size logline * gprs_ns2_vty: dump_nsvc: change output depending on NSVCI * gprs_ns2: ensure the NSE becomes dead when FR link went down * gprs_ns2_udp: don't start the NSVC fsm for SNS * gprs_ns2_sns: refactor SNS failures into a function * gprs_ns2_sns: free the NSE if the SIZE PDU is not valid * gprs_ns2: add recursive anchor to protect against double free * gprs_ns2: move sns_event into internal.h to direct emit events * gprs_ns2_sns: rework sns clean up * gprs_ns2: use an event to free the nsvscs when using SNS * gprs_ns2: gprs_ns2_free_bind() should remove itself before removing nsvcs * gprs_ns2: don't use llist_for_each when freeing an element * gprs_ns2_sns: implement local change weight procedure * gprs_ns2_sns: implement outbound SNS ADD procedures * gprs_ns2_sns: implement outbound SNS DEL procedures * gprs_ns2: also prevent recursive events when SGSN side cleans up * gprs_ns2: calculate the nse->*_sums before notifing the sns fsm * gprs_ns2: add correct filename/linenr to sns failed log message * gprs_ns2: improve reselection protection * gprs_ns2_sns: ensure the SNS fsm behave correct when no signalling NSVCs are present * gprs_ns2: ensure the incoming NSVC is also the outgoing NSVC * ns2: nsvc: reject UNITDATA when the remote BLOCK'ed * ns2: fix a crash when receiving a SIZE while configured * gprs_ns2: fix NS STATUS validation * gprs_ns2: fix a white space * gprs_ns2: nsvc: react on STATUS PDUs with cause code NSVC UNKNOWN/NSVC BLOCKED * vty: add vty_out_uptime() print the uptime to the vty * ns2: nse: add a uptime/downtime to track the last state change * ns2: nsvc: add a uptime/downtime to track the last state change * ns2: message: BLOCK/BLOCK ACK allow to use a given NSVCI instead of using the nsvc nsvci * ns2: ensure the NSVC is in the correct mode for NSVC UNKNOWN/NSVC BLOCKED cause codes * ns2: fsm: add comment don't answer on a STATUS with a STATUS * ns2: message: allow to pass a foreign NSVCI to STATUS PDU * ns2: correct parse a STATUS PDU which was received over a different NSVC * ns2: improve log line when receving a PDU with wrong NSE * ns2: don't forward an invalid RESET PDU to the FSM * ns2: correct parse a BLOCK PDU which was received over a different NSVC * include: add enum for UTRAN cipher [ Harald Welte ] * cosmetic: ssn: some more comments * gprs_ns2: Log all transmitted SNS messages * gprs_ns2_sns: Dispatch inbound SNS-ACK to FSM * gprs_ns2: Remove any references to DNS; we use DLNS in NS2. * gprs_ns2: Pass peer/remote sockaddr argument to ns2_create_vc() * TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release * gprs_ns2_sns: Implement error log in case no binds found for NSE * gprs_ns2_sns: Remove TODO (spec agrees, the correct cause code is used) * gprs_ns2_vty: Clarify VTY help string wording * gprs_ns2_sns: refactor ns2_sns_st_size_onenter() * gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 * gprs_ns2: Encapsulate setting NSE dialect * gprs_ns2_sns: Split allstate action in generic and BSS-specific part * utils: osmo-aka-verify to verify UMTS AKA (SIM side) * osmo-aka-verify: Fix use case with OP and not OPc * gprs_ns2_sns: Support for SGSN-side IP-SNS * gprs_ns2_sns: Add some more OSMO_ASSERT about BSS role * gprs_ns2_sns: Rename BSS-side states to include 'bss' in name * gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS * gprs_ns2_vty: Allow creating NSE in sgsn-role * gprs_ns2_sns: Don't clear remote IP endpoints in SGSN role * gprs_ns2_sns: Verify mandatory IE presence in incoming SNS-SIZE * gprs_ns2_sns: SNS-SIZE contains the actual number of local endpoints * gprs_ns2_sns: Assume the SGSN has a very large number of max. NSVC * gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE * gprs_ns2_vty: Permit VTY configuration of bind->accept_sns * gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role * gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS * gprs_ns2: Add comments explaining the nsvc->sns_only field * gprs_ns2_vc_fsm: In IP-SNS/ALIVE mode, initial state is ALIVE/UNBLOCKED * gprs_ns2: Actually start Tns-test after SNS-CONFIG creates NS-VC * gprs_ns2_sns: Compute local endpoints before using them * gprs_ns2_sns: remove code duplication in create_missing_nsvcs() * gprs_ns2_sns: Don't create NS-VCs for binds outside the NSE * gprs_ns2_sns: Fix memory leak when creating ip[46]_local arrays * sim: Obtain card ATR when opening the card * sim: Remove 'printf' from library code * frame_relay: Export osmo_fr_network_free() * ns2: Dump frame relay state to VTY during "show ns" * socket: Introduce osmo_sock_set_dscp() to set socket DSCP value * ns2: Fix setting the DSCP value. * socket: Introduce osmo_sock_set_priority() helper function * socket: reduce code duplication, introduce socket_helper_tail() * socket: QoS support for all our socket init functions * socket: IPv6 support for osmo_sock_set_dscp() * gprs_ns2: Fix yet another DSCP vs. TOS mix-up * gprs_ns2_frgre: Ensure DSCP is sin premitted value range * ns2: migrate from osmo_sock_set_dscp() to OSMO_SOCK_F_DSCP() * gprs_ns: Fix another DSCP vs. TOS mistake in old NS code * ns2: Allow setting the socket priority for a UDP bind * Fix ipa_ccm_make_id_resp_from_req * Fix ipa_ccm_make_id_resp_from_req to work at all * ipa_ccm_make_id_resp: Make it work at all * ns2: change the 'priority' setting name to 'socket-priority' * osmo_sock_*_ofd(): Mark OSMO_FD_WRITE on non-blocking connect() * sim: Add osim_card_{reset,close}() API * osmo-auc-gen: Permit specifying the SQN in hex (0x12345) format * copy base64 implementation from mbedtls * base64: Migrate over to osmocom * base64: reformat using Lindent to conform to our coding style * osmo-auc-gen: Print RFC3310 IMS HTTP-AKA style base64 nonce/res * logging: Change stderr + file target to use non-blocking write * logging: Avoid memcpy from stack to msgb in _file_output() * logging: Attempt a synchronous, non-blocking write first (file, stderr) * rate_ctr: Make it safe to call rate_ctr_init() several times [ Daniel Willmann ] * stats: Ensure that each osmo_stat_item only reports once per interval * tlv: Fix length returned by t{l16,16l}v_put * stats_vty: Improve generation of osmo counters * ns2: Ignore NSVC with data_weight 0 for data * Aggregate NSVC stats inside the NSE * ns2: Avoid use-after-free when SGSN-side non-persistent SNS-NSE fails * frame_relay, gprs_ns2_fr: Fix log messages, remove unused struct [ Vadim Yanitskiy ] * utils/osmo-aka-verify: fix swapped CK/IK arguments * vty/logging: use consistent quiting in warning messages * vty/logging: ensure consistent '%' prefix for warnings * vty/logging: logp: properly handle library specific sub-systems * protocol/gsm_08_58.h: add RSL_CMOD_SP_{GSM4,GSM5,GSM6} * protocol/gsm_08_58.h: add more 'Channel rate and type' values * protocol/gsm_08_58.h: add asymmetric CSD data rates * gsm/abis_nm: add missing NM_OC_IPAC_* value-string entries * rsl: make rsl_dec_chan_nr() more readable, use RSL_CHAN_NR_MASK * gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOS * gsm_08_58.h: add mask for Osmocom specific VAMOS C-bits * fsm: cosmetic: fix weird spacing in osmo_fsm_inst_alloc() * stats_vty: also show rate counter group name (if present) * bts_features: add feature for BCCH carrier power reduction mode * fix rsl_chan_nr_str_{buf,c}(): enlarge the buffer size * utils: remove misleading comments for osmo_hexdump[_nospc]_c() * utils: introduce osmo_talloc_replace_string_fmt() * gsm_08_58: extend struct abis_rsl_osmo_temp_ovp_acch_cap * Revert "Prevent GCR encoder/decoder functions from being used directly" * gsm/protocol/gsm_44_004.h: fix missing include of 'endian.h' * gsm/protocol/gsm_04_08.h: add gsm48_meas_res_is_valid() * tests/stats: add VTY transcript tests * stats: use llist_add_tail() in osmo_stats_reporter_alloc() * stats: allow configuring reporter's name in the VTY * stats: cosmetic: print 'stats interval' before the reporters * stats: don't mark reporter as 'disable' beforehand * stats: clarify error messages in cfg_no_stats_reporter_{statsd,log} [ Neels Hofmeyr ] * add BTS_FEAT_VAMOS * deprecate osmo_bts_feature_name(), add osmo_bts_features_desc() * add osmo_bts_features_names: short BTS feature strings * RR: add VAMOS channel modes * RR: add missing Extended TSC Set IE * gsm48_mr_cfg_from_gsm0808_sc_cfg(): drop bitmask without effect * fix default_timeout type of osmo_tdef_fsm_inst_state_chg default_timeout * add RSL_IE_OSMO_TRAINING_SEQUENCE * add RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm, RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm * fixup for gsm48_chan_mode_to_non_vamos() * osmo_select_shutdown_request(): allow finishing pending writes on SIGTERM * add Kc128 to gsm0808 Create Ciphering Command * gsm0808: add Kc128 to Handover Request * add fixme: enforce 8 byte length of Kc * fix api doc of osmo_identifier_sanitize_buf() * vty 'stats reset': do not reset stat_items * utils: add osmo_str_to_int() and osmo_str_to_int64() * add osmo_stat_item_get_group_by_name_idxname() * CTRL: expose stat_item groups on CTRL * stat_item: cosmetic: s/desc/group_desc in osmo_stat_item_group_alloc() * stats_test: assert counter and stat item val counts separately * refactor stat_item: get rid of FIFO and "skipped" error * refactor stat_item: report only changed values * cosmetic: get rid of 3 deprecation warnings * revisit some calls of strtol(), stroul(), strtoull() * add osmo_time_cc, moved from osmo-bsc [ Eric ] * kdf: add key derivation functions * vty: allow flushing * gsmtap: allow 127.0.0.x local listeners [ Michael Iedema ] * ns2: use same name in ctr_group as stat_item_group [ Philipp Maier ] * control_cmd: fix typo * vty: make function cmd_range_match() public * linuxlist: add macro to get last element of a list * command: fix sourcecode formatting * codec: add missing osmo_amr_type_name function. * gsm0503_coding: use ahs tables when encoding ahs codec id * rsl: add new RSL IE to signal temporary overpower * bts_features: Add new feature to indicate support for temporary overpower * gsm_08_58: fix sourcecode formatting * gsm_08_58: fix sourcecode formatting [ Keith ] * GPRS: Add PDP_TYPE_N_IETF_IPv4v6 -- Pau Espin Pedrol Tue, 16 Nov 2021 13:08:22 +0100 libosmocore (1.5.1) unstable; urgency=medium [ Pau Espin Pedrol ] * osmo-release.sh: Fix rc!=0 on TODO-RELEASE file without comment lines [ Harald Welte ] * attempt to fix RPM spec file after recent soversion bump -- Harald Welte Wed, 24 Feb 2021 09:35:21 +0100 libosmocore (1.5.0) unstable; urgency=medium [ Vadim Yanitskiy ] * debian/control: change maintainer to the Osmocom team / mailing list * vty/command: cosmetic: simplify conditions in in config_list_cmd * vty/command: cosmetic: fix formatting of config_help_cmd * vty/command: cosmetic: drop redundant line break * vty/command: fix switch / case coding style in vty_go_parent() * vty/command: cosmetic: swap i and j in vty_dump_element() * gsm0808: add gsm0808_create_sapi_reject_cause() * macaddr: fix osmo_get_macaddr(): return -1 if no device is found * macaddr: fix osmo_macaddr_parse(): return meaningful error codes * lapdm_pad_msgb(): cosmetic: use GSM_MACBLOCK_PADDING * lapd_test: fix wrong comment in lapdm_establish() * lapd_test: rename func=UA (RR) CM Service Request: s/ua/ua_cm/ * lapd_test: fix: print all messages to stdout, not stderr * lapd_test: add a test checking SAPI0/SAPI3 prioritization * lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH * logging: refactor and simplify log_target_destroy() * logging: fix log_target_destroy(): properly close syslog * logging: fix memleak in log_target_create_file() * vty: fix 'Unsigned compared against 0' generate_cpu_hex_mask() * gsm0808: fix: do not encode invalid encryption algorithm * vty: add program specific attributes to VTY commands * vty: print program specific attributes in the XML reference * vty: cosmetic: drop redundant 'break' statements * vty: cosmetic: s/width/cmd_width/g in vty_describe_command() * vty: cosmetic: fix missing curly braces in vty_describe_command() * vty/command: introduce new attribute CMD_ATTR_IMMEDIATE * vty/command: reflect global attributes in the XML reference * tests: do not ignore stderr of vty_test, also match it * vty: check for duplicate flags in application specific attributes * vty: check for reserved flags in application specific attributes * vty/command: add global command attribute CMD_ATTR_NODE_EXIT * vty/command: add CMD_ATTR_LIB_COMMAND and install() API wrappers * vty: use install_lib_element() and install_lib_element_ve() * vty/command: introduce API for the library specific attributes * vty: introduce and use VTY_CMD_USR_ATTR_NUM * vty/command: introduce a command to list attributes * vty/command: print attribute flags in the output of 'list' * tests/vty: verify 'show vty-attributes' / 'list' commands * vty/command: assign flags to CMD_ATTR_{IMMEDIATE,NODE_EXIT} * vty/command: restrict the use of '.', '!', and '@' as flags * vty: fix vty_dump_element(): do not print empty * socket: make the arguments of osmo_sockaddr_cmp() const * gprs_ns2: make struct osmo_sockaddr pointers const * rsl: rsl_chan_nr_str_buf(): use ABIS_RSL_CHAN_NR_CBITS_* macros * logging: introduce 'systemd-journal' target * vty: introduce the expert mode and a command to enable it * vty/command: make some 'struct cmd_element' pointers const * vty/command: introduce vty_dump_xml_ref_mode() * vty/command: add CMD_ATTR_HIDDEN to CMD_ATTR_PUBLIC_MASK * application: do not document unrelated forward-declarations * vty/command: fix: restrict the expert mode to the current session * fix spelling in 'value_string' arrays: existAnt -> existEnt * gsm48: add missing RR cause value definitions * vty/command: add 'hidden only' VTY reference generation mode * bts_features: add missing description for BTS_FEAT_ACCH_REP * core/linuxlist: do not use 'new' as a parameter name * protocol/gsm_08_58.h: add ip.access Power Control structures * protocol/gsm_08_58.h: add Osmocom specific EWMA AVG algo * logging: revert color of LGLOBAL category back to white * gsm_08_58: fix wrong field order in 'struct ipac_preproc_pc_thresh' * gsm_08_58: add flexible array member to 'struct ipac_preproc_ave_cfg' * gsmtap_util: SNR can be negative, use a signed integer * gprs_ns2_sns: always check rc of osmo_sockaddr_str_from_sockaddr() * gprs_ns2_fr: fix resource leaks due to early return in set_ifupdown() * gprs_bssgp: fix uninitialized struct fields in bssgp_create_rim_ri() * bts_features: s/Repeation/Repetition/ in osmo_bts_features_descs[] * gprs_bssgp: abuse gsm48_encode_ra() to encode TAC * fixup: configure.ac: fix: do not define HAVE_NEON unconditionally * gsm_7bit_encode_n(): test encoding of more than 250 septets * gsm_7bit_encode_n(): fix integer overflow in gsm_septets2octets() * gsm0808: use msgb_tv16_put() and osmo_store32be() * bssgp_bvc_fsm: check return value of osmo_fsm_register() * tlv: add msgb_tv32_put(), similar to msgb_tv16_put() * tlv: clarify documentation for msgb_tv{16,32}_put() [ Eric ] * vty cpu sched: do not assert if sched impossible * pkgconfig: link to mnl if available [ Pau Espin Pedrol ] * vty: Fix cpu-sched VTY node name * sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket creation * socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations * socket: Log proper getaddrinfo() error * osmo_sock_get_ip_and_port(): Support IPv6 sockets * l1sap.h: Fix typo in doxygen documentation * osmo_sock_inti2_multiaddr: Fix memleak and free uninitialized mem * socker: Remove AI_ADDRCONFIG from getaddrinfo flags * tests: Split SCTP tests to its own file and run them conditionally * ipa: Fix wrong output log formatting * socket: Allow binding to :: (IPv6) and connecting to IPv4-only on the remote * socket: Add support for AF_INET6 in osmo_sockaddr_to_str_and_uint() * socket: Use AF_UNSPEC instead of PF_UNSPEC calling getaddrinfo * socket: Fix stack-buffer-overflow in osmo_sock_local_ip() * socket: fix wrong ipv6 dst buf size passed in osmo_sock_local_ip * socket: Add some osmo_sockaddr print helpers * tests: Add test to showcase osmo_sock_init2 bug with AF_UNSPEC * socket: Fix bug in osmo_sock_init2(AF_UNSPEC) matching IP versions * logging: Avoid printing OSMO_LOGCOLOR_END if no color was used * osmo_strlcpy: Avoid calling memcpy with size=0 * osmo_strlcpy: Clarify length calculation * cosmetic: Fix typo in API doc * gprs_ns2_udp: Avoid dangling freed struct in list if binding fails * vty: Fix left shifting out of range on signed variable * cosmetic: vty: Fix trailing whitespace * gsm: Fix make distcheck with parallel make * contrib: jenkins: Enable parallel make in make distcheck * lapdm: Drop log lines printing fmt=B * lapdm: Split lapd_rx_u() spaghetti into one function per message type * lapdm: Allow SABM L=0 in Timer Recovery State * gb: ns2_sns: Fix missing trailing newline char in log line * gb: ns2_sns: Add missing value_string entry for GPRS_SNS_EV_NO_NSVC * vty: Mark cpu_sched_vty commands with attr immediate * tdef: Introduce OSMO_TDEF_US unit * tests: Fix tdef_test on 32bit platforms * bitvec: Fix left shifting out of range on signed variable * cosmetic: serial: Fix typo in comment * serial: Fix typo in debug log line * serial: Log error if tcgetattr() or tcsetattr() fail * serial: Introduce API osmo_serial_speed_t * Revert "tests: Fix tdef_test on 32bit platforms" * tests: Fix tdef_test on 32bit platforms * statsd report: Fix wrong fmt specificier generating wrong stats * gsm: Add enum for Network Feature Support IE * Include mnl.h iif --enable-libmnl * gb: Import mnl.h iif --enable-libmnl * bssgp: Remove newly added log line warning about NOOP * rest_octets: add Serving Cell Priority Parameters * gsm: si13: Fix encode of EGPRS_PACKET_CHANNEL_REQUEST * si2quater: fix budget calculation for multiple EARFCNs * gsm: append_eutran_neib_cell: Fix SI2quater EARFCN list * GPRS Cell Options (SI13): Add REL-4 CCN_ACTIVE bit * Revert "rest_octets: fix encoding of 3G Early Classmark Sending Restriction" * rest_octets: Fix decoding of SI3 3G Early Classmark Sending Restriction * gitignore: Ignore *~ * ctrl: Allow handling CTRL get/set replies in user defined code * Intoduce Packet Switch CGI * ctrl: ports.h: Add OSMO_CTRL_PORT_BSC_NEIGH * gsm: Add missing osmo_*_cmp symbols to libosmogsm.map * gsm: Introduce osmo_{rai,cgi_ps}_cmp() APIs * gprs_bssgp_prim.h: Add missing includes * Revert "gprs_ns2: drop gprs_ns2_vty, rename vty2 -> vty" * ctrl_connection: Initialize write_queue.bfd.fd to -1 during allocation * cosmetic: fix typo in comment * gsm: Fix wrong length in SI13 GPRS Cell Options IE * gsm: bts_features: Introduce BTS_FEAT_CCN * Fix struct bitfields on big endian systems * cosmetic: Move comment one line below in append_gprs_cell_opt * gsm: Fix bitfield order in dtap_header * comsetic: gsm0808_test: Fix trailing whitespace * gsm: Support converting to cgi-ps in gsm0808_cell_id_from_cgi() * gsm0808_utils: Move static function further up in file * gsm: Fix encoding of gsm0808_cell_id_list2 with CGI-PS types * logging: gsmtap: Fill PID field for each message * Introduce osmo_gettid() API * logging: gsmtap: Fix fill PID field not stored in network byte order * logging: gsmtap: Store TID instead of PID in pkt hdr * gsm: Introduce API osmo_gsm48_rest_octets_si13_decode * logging: Allow prefixing thread ID to each log line * tests: Set print_category values explicitly * Drop use of log_set_print_filename() API inside libosmocore * logging: Deprecate API log_set_print_filename * osmo-release.sh: Omit tab whitespace matching debian/control versions [ Harald Welte ] * gsmtap: Add definitions for E1/T1 payload (LAPD, TRAU, FR) in GSMTAP * Add VTY + CTRL ports for upcoming OsmoSMLC * gprs_ns2_sns: Fix compilation on Debian 8 * ipaccess.h: Add more enum values and 'official' names * ns2: Improve/extend doxygen comments for new ns2 implementation * ns2: Use NULL and not '0' when returning a NULL-Pointer * gprs_ns2: Mark gprs_ns2_validate_* as static * write_queue: Add osmo_wqueue_enqueue_quiet() * write_queue: use msgb_{en,de}queue_count() * write_queue: Re-enqueue msgb if write_cb returns -EAGAIN * logging_vty: set osmo_stderr_target to NULL on "no log stderr" * logging: Introduce MAX_LOG_SIZE for the magic number 4096 * bssgp: Don't include RA-ID in BVC-RESET for BVCI=0 (signalling) * bssmap_le/bsslap tests: We must use %td for ptrdiff_t printing * osmo_float_str_to_int: When using strtoll(), use LLONG_{MAX,MIN} * gprs_ns2: Fix parsing of SNS-{ADD,DEL,CHANGE_WEIGHT} * gsm48_rest_octets: Add parser for SI4 rest octets * [cosmetic] rest_octets: Follow coding style regarding {} * ns2: More verbose comments on gprs_ns2_vc_mode * select: Introduce osmo_fd_{read,write}_{enable,disable}() * select: Migrate over to poll() * card_fs_usim.c: Add support for DF.5GS directory * Revert "gsm_04_08: add parser for Mobile Station Classmark 3" * card_fs_usim: Add definitions of DF.ProSe and DF.ACDC * bssgp: Input argument to bssgp_tlv_parse() should be 'const' * ns2: permit multiple nsvci in one nse in VTY * frame_relay: Fix some spelling/language issues * Revert "ns2: permit multiple nsvci in one nse in VTY" * gprs_ns2_vty: Fix VTY documentation errors * frame_relay: Fix null pointer dereference in DLC/PVC delete * frame_relay: Fix error path on ioctl() failure * gprs_ns2: Introduce gprs_ns2_lltype_str() for link layer name * gprs_ns2_fr: Print Frame Relay 'role' in VTY * gprs-ns2: Fix stringification of NS/FR NSVCI * gprs_ns2: Don't return an empty string in case of unknown LL * cosmetic: frame_relay: Fix typos * gprs_ns2: Print link layer and global ALIVE/DEAD state * gprs_ns2_vty: Differentiate 'show ns binds' and 'show ns entities' * gprs_ns2_vty: Show NSVCI in dump_nsvc() * gprs_ns_vty: Unify display of NSVCI on VTY in 'show ns entities' * gprs_ns2_vty: Print all relevant data on each NS-VC * gprs_ns2_udp.c: Fix typo - it's a DSCP and not a DCSP * Integrate libmnl (minimal netlink) library with libosmocore select loop * gprs_ns2_fr: Monitor the kernel net-device link state * gsm_08_18.h: Update enums for message types and IEs with Release 15 * gprs_ns2_vty: Re-introduce a 'show ns' command * libosmogb: Add missing LIBMNL_CFLAGS * mnl: Use mnl_socket_open() insatead of mnl_socket_open2() * gprs_ns2_fr: remove include * bssgp: Use TLVP_PRES_LEN instead of TLVP_PRESENT * gprs_ns2: Use TLVP_PRES_LEN instead of TLVP_PRESENT * bssgp: Update bssgp_pdu_strings with Release 15 * bssgp: Fix typo in BSSGP Message Type enum * Add hlist and hashtable from Linux kernel * Use explicit type-casting in hlist_del() for C++ compatibility * gsm_08_18.h: Add some PDU definitions still missing * hash/log2: Add generic implementations of fls() and fls64() * log2.h: Use uintXX_t instead of kernel specific types * log2.h: Avoid redefining __always_inline * ns2: Accept NS-UNBLOCK-ACK in UNBLOCKED state * Introduce 'osmo_tlv_prot' abstraction for validation of TLV protocols * tlv: Introduce enum with error codes for TLV parser functions * bssgp: Add osmo_tlv_prot_def for BSSGP * gsm_08_18.h: Add #defines for [extended] feature bits * tlv.h: Add msgb_tvlv_put_{16,32}be() * logging: Introduce DLBSSGP logging constant * gb: Add beginnings of a new BSSGP implementation * logging: Assing different 8bit colors to built-in subsystems * bssgp2: Encoding + Decoding functions for BVC and MS flow control * bssgp_bvc_fsm: Add basic BVC flow control rx/tx support * gprs_ns2_fr.c: Skip extraneous FIONBIO * gprs_ns2_fr: guard against race between socket(AF_PACKET) and bind() * gprs_ns2_fr: use ETH_P_HDLC instead of ETH_P_ALL * Fix VTY syntax for newly-introduced NS2 timers * gors_ns2_vty: Fix saving of new NS2 timers * gprs_ns2_fr: Avoid stringop-truncation warning * gprs_ns2_fr: Use OSMO_STRLCPY_ARRAY() where possible * fsm: Add osmo_fsm_inst_broadcast_children() * vty: Fix left shifting out of range on signed variable * lapd_core: Don't dereference data link after sending PRIM_DL_REL * cbsp: Fix encoding of "ETWS Warning Security Info" IE * cbsp: Fix osmo_cbsp_recv_buffered() for KEEP-ALIVE-COMPLETE * cbsp: Fix parsing DCS in decode of WRITE-REPLACE * Add inter-thread queue * tlv_parser: Fix various out-of-bounds accesses * gprs_ns2_fr: reduce duplication between gprs_ns2_fr_connect / connect2 * gprs_ns2: Give NS-VC FSMs a proper name/identifier * ns2: delay NS_AFF_CAUSE_RECOVERY until NS-VC for data + sig are unblocked * vty/fsm_vty: Add vty_out_fsm2() + vty_out_fsm_inst2() with prefix * ns2: Properly indent VTY output * ns2: Unify logging context via log macros * logging_vty: Fix saving of "logging print file .. last" * gprs_ns2_test: Fix compilation on Debian 8 * Revert "gprs_ns2_vc_fsm: check NSVCI match the NSE" * Revert "gprs_ns2_vc_fsm: check NSEI match the NSE" * ns2: Use proper return value from write_queue callback function * ns2: Log ERROR if we cannot transmit a packet due to ENOBUFS * osmo-ns-dummy: Add simple NS traffic generator * ns2: Work around AF_PACKET socket ENOBUFS problems * ns2: Use named array initializers to avoid mistakes * ns2: encapsulate calls to nsvc->bind->send_vc() * ns2: Increment Rx and Tx byte / packet counters * ns2: Properly report packet drops in FR code * ns2: count number of dropped packets / bytes on transmit * ns2: Implement more rate counters * ns2: Add a rate_ctr for each NS-UNBLOCK * ns2: Move to one common/shared ns2_bind_alloc() * ns2: Memory allocation failures are ENOMEM, not ENOSPC * ns2: Rename nsi->rate_ctr_idx to nsi->nsvc_rate_ctr_idx * ns2: Introduce a per-bind stat_item group with backlog length * ns2: Fix typos in comments * ns2: Print NS-STATUS.ind primitives to the log * ns2: cosmetic: fix indent levels * frame_relay: Send "Fuil Status" ENQUIRY after link recovers * frame_relay: Add status call-backs for link + DLC status changes * frame_relay: Discard received messages for DLC not yet active * frame_relay: cosmetic: Unify log syntax when discarding Rx packets * ns2: Don't automatically re-start FSM at FORCE_UNCONFIGURED * ns2: Stop test procedure when going into unconfigured state * ns2: Don't start sending NS-RESET until FR DLC is available * osmo-ns-dummy: Add "mirror-mode" to mirror back any received packets * initial support for static userspace probes via systemtap * Enable systemd-journald log target in debian + rpm packaging * gb: frame_relay: Factor-out function to set link as dead * gb: frame_relay: Detect link outage on "last receive seq nr == 0" * frame_relay; Fix Q.933 async STATUS at DLC creation * ns2: Name NSVC FSM events consistently * ns2: Don't queue Q.933 LMI messages; only store most recent ones * ns2: improve backlog handling on interface up/down * ns2: Don't try to add packets to the backlog on real errors * README.md: Use https everywhere * ns2_fr: Fix null pointer deref in error path * ns2_fr: Fix heap-use-after-free in error recovery path * BVC FSM: Treat overlapping BVC-RESET as implicit ACK * support for stats static userspace probes via systemtap * CBSP: fix encoding/decoding of keep-alive repetition period * CBSP: Fix encoding of warning period [ Neels Hofmeyr ] * comment: mention spec reference in cbsp.[ch] * comment: typo in cbsp.h * bitXXgen: ensure not reading/storing past valid size * bitXXgen: add bitgen_test.c * bitXXgen: add osmo_loadXXbe_ext_2() to get right-adjusted values * add osmo_use_count_to_str_c() * osmo_use_count_to_str: make robust against unused use_count * add osmo_float_str_to_int() and osmo_int_to_float_str_*() * add GAD coding for Location Services * add BSSLAP coding for Location Services * add BSSMAP-LE coding for Location Services * add BSSMAP coding for Location Services * doc tweaks for osmo_float_str_to_int(), osmo_int_to_float_str*() * gad.c: try to workaround warning for "h.type >= 0" * gad.c: fix rc for osmo_gad_enc_ell_point_unc_circle() * gprs_ns2_fr.c: compiler error: replace strncpy() with OSMO_STRLCPY_ARRAY() * fix strncpy bug in gprs_ns2_fr_bind() [ Alexander Couzens ] * sockaddr_str: add osmo_sockaddr_str_from_str2() which doesn't set the port * tests/socket: add testcase test_get_ip_and_port * socket: introduce osmo_sock_init_osa & osmo_sock_init_osa_ofd * socket: add osmo_sockaddr_cmp() * gb/gprs_bssgp: remove superfluous whitespace * gb/common_vty: use void * * add osmo_sockaddr_local_ip() to determine the local address for a remote. * Gb: add a second NS implementation * libgb/ns: allow to create NS_ALIVE NSVC * gb/gprs_bssgb: check if talloc failed on btsctx->fc * gb/gprs_bssgb: ensure the fc timer has been stopped when freeing bssgp_bvc * ns2: remove bssgp specific msgb->cb parts * ns2: vty: add missing docs for IPv6 address * ns2: check the specific bit of NS SDU Control bits * ns2: refactor nsvc_by_ functions * ns2: ns2_recv_vc: remove unused parameter nsi * ns2: vty: fix behavior of vtyvc_by_nsei when vtyvc isn't found * ns2: refactor handle_nsip_read/handle_nsfrgre_read * ns2: fix a msg leak when receiving REJECTED messages * gsm_12_21: add osmo_oml_nsvc_address_type for OML NM_ATT_OSMO_NS_LINK_CFG * ns2: parse the return code of gprs_ns2_ip_bind * ns2: refactor ns2_prim_status_ind() * ns2: status ind: add additional flags (first and persistent) * ns2: vty: show all nse * ns2: vty: allow the users (pcu/sgsn) to set a default bind * ns2: vty: on `show ns` add information of NS binds * gprs_ns2_vty_create: remove bind pointer check * gprs_ns2: gprs_ns2_free(): add missing talloc_free * gprs_ns2: fix SNS_ADD for IPv4 * gprs_ns2: fix empty prefix in TLV Parse error * gprs_ns2: add gprs_ns2_ip_bind_by_sockaddr() to search for binds by sockaddr * gprs_ns2: gprs_ns2_ip_bind() check if the bind already exists * gprs_ns2: add gprs_ns2_nse_nsei() to get the nsei of a nse * gprs_ns2: add gprs_ns2_free_binds() to free all binds * gprs_ns2: add gprs_ns2_free_nses() to free all NS-E * gprs_ns2: const the return value of gprs_ns2_ip_vc_sockaddr / gprs_ns2_ip_bind_sockaddr * gprs_ns2: rename gprs_ns2_ip_vc_sockaddr -> gprs_ns2_ip_vc_remote * gprs_ns2: add gprs_ns2_ip_vc_local() return the local sockaddr * gprs_ns2: add gprs_ns2_nse_sns_remote() returns the initial SNS address * gprs_ns2: gprs_ns2_ip_vc_remote() the nsvc can be also const * gprs_ns2: add gprs_ns2_nse_foreach_nsvc() * gprs_ns2: Partial revert 48f63867 allow to create NS_ALIVE NSVC * gprs_ns2: add gprs_ns2_ip_vc_equal() * add osmo_sockaddr_to_str_buf/osmo_sockaddr_to_str * gprs_ns2: remove the nsvc fsm timer when cleaning up the fsm * ns2: add value strings for ns2_affecting_cause_prim_str & ns2_prim_str * gprs_ns2: convert gprs_ns2_cause_str into an static inline * libosmocore: change the memory management of NS2 * ns2: fixup gprs_ns2_prim_strs * ns2: check if ns_vc_alloc() fails in bind_connect() * ns2: add support for frame relay * ns2: implement link sharing selector * ns2: move LL into public api * ns2: move link layer type into NSE * ns2: remove obsolete type GPRS_NS2_LL_E1 * gprs_ns2_fr: remove include * gprs_ns2: fix typo in comment * gprs_ns2: use switch() case instead of multiple if in ns2_create_vc() * gprs_ns2_sns: add missing transistion UNCONFIGURED -> SIZE * gprs_ns2_sns: dynamic calculate the maximum NS-VCs * gprs_ns2_sns: add missing S() to allow GPRS_SNS_EV_NO_NSVC happen * gprs_ns2_sns: fix whitespaces and superflous comment * gprs_ns2_sns: correct dynamic calculation * gprs_ns2: introduce NS dialects * gprs_ns2: move allocation of the SNS fsm into create_nse * gprs_ns2: add member name to bind * gprs_ns2: rework gprs_ns2_fr_connect*() * gprs_ns2: add gprs_ns2_free_nsvcs() to free all NS-VC of a NSE * gprs_ns2_sns: rework IP-SNS initial remote * gprs_ns2_sns: use different binds for the initial connection * gprs_ns2_sns: introduce SNS Size/Config retries * gprs_ns2: make nsvc argument const * gprs_ns2: add gprs_ns2_fr_bind_role() to retrieve the fr role * gprs_ns2: on ns2_create_vc parse the tlv before using it * gprs_ns2_vty: udp: fixup dialect changes * gprs_ns2: fr: fix crash when frame relay interface doesn't exists * gprs_ns2: improve handling of TLV errors on new nsvcs * gprs_ns2: don't pass the return code of reject_status_msg * gprs_ns2: fr: implement a write queue * gprs_ns2: fr: setup the device to correct FR/LMI settings * gprs_ns2: add new vty2 * gprs_ns2: sns: correct log message when no nsvcs available * gprs_ns2: sns: don't send duplicated packets on retries * gprs_ns2: sns: add log message when size/config retries exhausted * gprs_ns2: don't start unconfigured fsm via FORCE_UNCONFIGURED * gprs_ns2: fix force-unconfigured for IP-SNS NSE * frame_relay: prevent null pointer exception when talloc fails * frame_relay: link_alloc: move log message to the end * gprs_ns2: rework frame relay load distribution function * gprs_ns2_fr: setup_device: allow to setup a new dahdi device * gprs_ns2: fr: check the device state before changing state * gprs_ns2: use zero initialized memory for vty_binds * utils: add osmo-ns-dummy * gprs_ns2: call python vty tests * gprs_ns2: set transfer cap in NS Status primitive * gprs_ns2: check if persistent nsei or nsvc exists when creating dynamic NSE * osmo-ns-dummy: allow to create dynamic NSEs * gprs_ns2_vc: answer UNBLOCK on unblocked nsvc * gprs_ns2: when calling nsvc_force_unconf for a dynamic NSE drop the NSE. * gprs_ns2_sns: clear local and remote entries when SNS failed * gprs_ns2: flag then NSE as dead in nse_free() * gprs_ns2_vc_fsm: fix spaces and remove wrong comment * test: gprs_ns2: don't leak the talloc context * test: gprs_ns2: replace free_bind() with clear_pdus() * test: gprs_ns2: free the nsi after each test * gprs_ns2: add assert on most bind calls * gprs_ns2: allow to use free_vc() with NULL * osmo-ns-dummy: don't leak primitive messages * gprs_ns2: implement BLOCK/UNBLOCK of a NSVC by vty * gprs_ns2: correct handle BLOCK message on initator * gprs_ns2_vc_fsm: rename all event to match RX_ or REQ_ * gprs_ns2_vc_fsm: ensure all state is resetted via force_unconf * gprs_ns2_vc_fsm: in RESET accept RESET as ACK * gprs_ns2_vc_fsm: fix transitions for ALIVE state * gprs_ns2_message: remove wrong comment * gprs_ns2_vc_fsm: check NSEI match the NSE * gprs_ns2_vc_fsm: check NSVCI match the NSE * tests: gprs_ns2: add unitdata unit test * gprs_ns2: always pass a tp to gprs_ns2_vc_rx * gprs_ns2_vc_fsm: check NSEI match the NSE * gprs_ns2_vc_fsm: check NSVCI match the NSE * gprs_ns2: drop GPRS_ prefix of gprs_ns2_cs * gprs_ns2: drop prefix of all internal exposed function * gprs_ns2: drop the public prefix gprs_ from all static functions/structs/.. * gprs_ns2: refactor: ensure all enums have GPRS_NS2_ * gprs_ns2: drop gprs_ns2_vty, rename vty2 -> vty * gprs_ns2: drop gprs_ns2_vty, rename vty2 -> vty * gprs_ns2: remove api call gprs_ns2_dynamic_create_nse * gprs_ns2: introduce gprs_ns2_vty_init_reduced() for the PCU * gprs_ns2: correct vty config write * gprs_ns2: prevent division by zero in load_sharing * gprs_ns2_vc_fsm: reset ALIVE N counter when restarting the test procedure. * gprs_ns2_vc_fsm: rename ST_ALIVE -> ST_RECOVERING * gprs_ns2: unify the handling of **result when bind already present. * gprs_ns2_fr: free_bind(): first do the NULL check before using members * frame_relay: fix NULL pointer deref * gprs_ns2_frgre: set a correct gre pointer for ipv6 * gprs_ns2_frgre: check iph/ip6h before passing them to rx functions * gprs_ns2_sns: rework tracking of NS-VC unblocked/alive state * gprs_ns2_sns: add timeout to ST_CONFIG_SGSN * gprs_ns2_sns: reset the N of timeout when entering a new state * gprs_ns2: rename vty-command ip-sns -> ip-sns-remote * gprs_ns2_vty: fix memory leak of vty_binds * gprs_ns2: add signalling & data weights for UDP binds * gprs_ns2_vc_fsm: use CLOCK_MONOTONIC for alive elapsed timer * gprs_ns2_vc_fsm: reset the alive elapsed timeout everytime * gprs_ns2_vty: use strcmp() instead of strncmp() * gprs_ns2_vc_fsm: remove debug line of the alive_timer * gprs_ns2: fix comment of alive NS-VC * gprs_ns2_sns: fix typo in doxygen comment * gprs_ns2: inform the NS user (BSSGP) about the MTU of a NSE * gprs_ns2: rework IP-SNS binds * gprs_ns2_vty: add optional argument signalling and data weights to `nsvc udp` * gprs_ns2: implement a simple load sharing for UDP * gprs_ns2: fix typo in function name ns2_load_sharing_modulo * gprs_ns2: make gprs_ns2_recv_prim() always take msgb ownership * gprs_ns2_sns: rename fsm events to include RX or REQ prefix * gprs_ns2_fr: pass MTU changes to the NSE * gprs_ns2: truncate the NS_STATUS to the MTU * gprs_ns2_message: tx_status: move all cause dependent code into the switch/case * gprs_ns2: add value_string for GPRS_NS2_AFF_CAUSE_SNS_NO_ENDPOINTS * gprs_ns2: ensure no duplicate UDP NSVC can be created * gprs_ns2: free_nse: free the SNS fsm early [ Daniel Willmann ] * gsm_08_16.h: Add missing header * gprs_ns2: Make reason const * libosmogb: Add a function to tx BVC RESET by nsei/bvci * Add exported function btsctx_alloc to public header * ns2: Add gprs_ns2_nsvc_state_name() to get the current state of a VC * ns2: Send NSVC representation in NS_AFF_CAUSE_VC_* status indication * ns2: Improve NSVC output * ns2: Split 'initiater' into initiate_{reset,block} * ns2: Add a function to set the NSVC FSM back to unconfigured * ns2: Add a VTY command to reset NSVC FSM * ns2: Fix docs for some NS2 vty commands * logging: Calculate LOG_MAX_{CTX,FILTERS} from the enum * ns2: Add log filtering by NSE/NSEI, fix NSVC filter on receive * ns2: Fix argv index in logging filter VTY commands * Declare osmo_ctx_init() in talloc.h * bssgp: Add SUSPEND_NACK to osmo_pdef_bssgp * logging: Remove duplicate color for DLSMS * ns2_frgre: Fix missing break statement for recv from IPV6 * bssgp_bvc_fsm: Handle block request from application correctly * NS2: Fix bind selection of SNS NSVCs * ns2: Add sanity check * Refactor ns2_nsvc_create_ip* * ns2: Fix memory leak in IP-SNS * ns2: Fix assert when removing a bind listen * ns2: Fix incompatible VTY configs when writing config * tests/gb: Add more complex osmo-ns-dummy.cfg * bssgp_bvc_fsm: Set/get maximum BSSGP PDU length * bssgp2_enc_status: Truncate STATUS message to maximum PDU length * bssgp_bvc_fsm: Consistent naming [ Philipp Maier ] * command: add library command attribute for libosmo-sccp * command: add library command attribute for libosmo-abis * gsm_08_58: add proprietary IE to signal Repeated ACCH Capability * gsm_04_08: add parser for Mobile Station Classmark 3 * gsm_04_08: add parser for Mobile Station Classmark 3 * bts_features: add feature BTS_FEAT_ACCH_REP * gsm_08_58: add struct for RSL_IE_OSMO_REP_ACCH_CAP * gsm_08_58: add rxqual field to RSL_IE_OSMO_REP_ACCH_CAP * gprs_bssgp_util: complete bssgp_pdu_strings * gprs_bssgp: add IE parser/generator for RIM Routing Information * gprs_bssgp: add handling for BSSGP RIM primitives * gsm_08_18: add struct to parse RIM PDU Indications * bssgp_rim: add encoder/decoder for NACC related RIM containers * bssgp_rim: move bssgp_parse_rim_ri and bssgp_create_rim_ri to gprs_bssgp_rim * gprs_bssgp: add utilities to send and parse BSSGP rim PDUs * gprs_bssgp_rim: Return with EOPNOTSUPP on unsupported containers * gprs_bssgp_rim: fix bug in dub_tlvp_header() * gprs_bssgp_rim: add value strings for enum bssgp_nacc_cause * gprs_bssgp_rim: add value strings for enum bssgp_ran_inf_app_id * gprs_bssgp_rim: add value strings for enum bssgp_rim_routing_info_discr * gprs_bssgp_rim: add functions to convert a RIM-RI to a string * gprs_bssgp_rim: cosmetic: connect routing identifier strings with "-" * gprs_bssgp: log source and destination RIM routing information * gprs_bssgp: agregate RIM related code in gprs_bssgp_rim.c * gsm48: add compare function for struct gprs_ra_id * gsm_08_58, gsm_44_004: add struct for l1 information [ laforge ] * Revert "pkgconfig: link to mnl if available" [ Oliver Smith ] * tests/*: fix control reaches end of non-void func * configure.ac: set -std=gnu11 * sim: fix gcc 4.9.2 + -std=gnu11 error -- Pau Espin Pedrol Tue, 23 Feb 2021 14:03:31 +0100 libosmocore (1.4.0) unstable; urgency=medium [ Pau Espin Pedrol ] * bitvec: Fix return value in doc for bitvec_write_field() * gb: Fix typo in bssgp_cause_strings description * logging_vty.c: Avoid acquiring log tgt lock in logging level cmd when not needed * value_string: Switch val from unsigned to int * gsm0503_coding: Fix misleading comment UL vs DL * gsm0503_coding: Fix USF encoding in MCS1-4 * gsm0503_tables: Document USF encoding tables * tests/coding: Test decoding of DL EGPRS data packet * tests/coding_test: Fix test_pdtch() results * gsm_04_06.h: Remove repeated egprs header struct definitions * configure.ac: Fix HAVE_CLOCK_GETTIME undef when func in -lrt * Drop old BSC references in fd check configure option * Revert "gsmtap_makemsg_ex: NULL for unknown chan_type" * use_count.h: Fix API doc example * tests/fsm_test.c: Disable use color in logging output * tests: vty: Extend test to do some numeric range validations * vty: Allow 64 bit values in numeric ranges if system supports it * vty: Don't match negative values on purely positive ranges * vty: Introduce support to set cpu-affinity and scheduler policy [ Harald Welte ] * usb: Use OSMO_STRLCPY where appropriate * usb: Add osmo_libusb_find_matching_dev_{path,serial} * osmo_libusb: Check return of libusb_get_string_descriptor_ascii() * osmo-sim-test: Recurse through subdirectories * osmo-sim-test: Fall-back to classic SIM * chantype_rsl2gsmtap(): Add entries for CBCH * gsmtap.h: Add definitions for voice inside GSMTAP * Add GSMTAP_CHANNEL_VOICE to gsmtap_gsm_channel_names[] value_string * Add CTRL port number for osmo-mgw * gsmtap: Solve TCH / FACCH confusion once and for all * fixup depreciation warning * socket: Add osmo_sock_mcast_iface_set() to bind multicast to device * libosmosim: Build irrespective of PC/SC support * sim: card_fs_usim.c: Fix FID of EF.EXT4 * card_fs_sim: Avoid '/' in file names * osmo-sim-test: Use stderr for error messages * osmo-sim-test: don't print SW in successful case of dump_file() * osmo-sim-test: Optionally dump card files to host filesystem * sim: add osim_file_desc_find_aid() * sim: re-structure how we support cards + applications * osmo-sim-test: Also [attempt to] dump DF.GSM on USIM cards * card_fs_{usim,isim}: Update to 15.7.0 / Release 15 * sim: Add HPSIM application support * osmo-sim-test: Avoid double-close * ports.h: Add 4268 for UECUPS VTY * exec: Introduce osmo_system_nowait2() to allow specify a user * select.c: Introduce support for signalfd * timerfd: call osmo_fd_unregister() when closing on read error * gsm0503_parity: Fix compilation with gcc-10 * gsm_29_118.h: Fix compilation with gcc-10 * sim: When decoding SW, take application specific SW into account * README.md: fix typo (coore -> core) * README.md: We don't build libosmotrau. The latter is in libosmo-abis.git * usb: Add osmo_libusb_find_open_claim() all-in-one API * codec: Add functions for AMR s->d bits and d->s bits * libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() * Implement ITU-T I.460 multiplex / demultiplex * NS: Optionally disable NS-{RESET,BLOCK,UNBLOCK} when using UDP/IP * NS: replace use of gprs_nsvc_create() with gprs_nsvc_crate2() * lapd/lapdm: print user-defined string name instead of (dl=%p) * lapd_core: Fix log line being about LAPD and not LAPDm * Revert "add osmo_mobile_identity API" * bts_features.h: Introduce BTS_FEAT_PAGING_COORDINATION * gsm0808: Add gsm0808_create_common_id() * gprs_bssgp: Add bssgp_tx_bvc_reset2() * gprs_ns: Set sockaddr_in.sin_family for persistent NSVCs * vty/ports.h: Add VTY port for osmo-e1d * lapd_core: Ensure we always have some tailroom * lapd_core: After calling into L3, check if the state has changed * vty: Avoid ultra-long multi-line strings cluttering talloc reports * gsm0411_{smc,smr}.c: Work around newlib bug * bits.c: Use faster look-up-table approach for osmo_revbytebits_{buf,u8} * i460: Add back-pointer from sub-channel to timeslot * i460: pass more context to call-back functions * i460: Fix bit- and subslots ordering of I.460 mux + demux [ Neels Hofmeyr ] * add crcXXgen.c.tpl to EXTRA_DIST * jenkins.sh: simpler invocation of verify_value_string_... * gsm_04_08.h: fix big endian structs * add missing endian.h in gsm_23_041.h * struct_endianess.py: also recognise unnamed substructs * cosmetic: apply changes to match struct_endianess.py output * enable vty xml dumping to stdout * api doc: clarify 'returns' of gsm48_mi_to_string() * api doc: clarify OSMO_NAME_C_IMPL() required FUNC_BUF signature * fix osmo_mi_name_c() to always return talloced strings, via osmo_mi_name_buf() * add gsm23236: MSC pooling: TMSI and NRI utility functions * tlv.h: add msgb_tvl_put() to add a TvLV without the value part * osmo_bcd2str: also validate start_nibble parameter * add osmo_mobile_identity API * add osmo_mobile_identity API * gsm0408_test: allow deprecated API * api comment: fix example of osmo_mobile_identity_encode_msgb * fixup for gsm0808_create_common_id(): add API doc, use new MI API [ Philipp Maier ] * l1sap: add measurement related struct members * osmo-sim-test: check tlv_parsed struct tp before access * parity: add amr crc14 definition * conv: add convolutional coder for AMR SID UPDATE frames * gsm690: Fix amr speech bit length table * dtx: add decoding for AMR-DTX frames * exec: osmo_system_nowait2: initalize *pw pointer with NULL * logging: use LOGL_NOTICE when no loglevel is set * logging: do not allow multiple calls of log_init() * gsm0505_amr_dtx: add missing value strings * gsm0808: fix endieness of call identifier * i460_mux: correctly reset subchannels * gsm_08_58: add missing RSL error cause codes * i460_mux: add callback to notify empty tx queue [ Vadim Yanitskiy ] * usb/Makefile.am: fix copy-pasted library name: s/libosmosim/libosmousb/ * gsm/gsm48049.c: fix use of GNU 'missing =' extension in designator * tdef_vty: do not enforce enum 'node_type' in osmo_tdef_vty_groups_init() * conv: prevent theoretical NULL pointer dereference in osmo_conv_encode() * osmo_libusb: check return value of osmo_fd_register() * exec: prevent uninitialized memory access in osmo_system_nowait() * exec: propogate errors from osmo_environment_[filter|append] * bitvec: make bitvec_free() safe against NULL * tests/bitvec: add a unit test for bitvec_read_field() * bitvec: fix bitvec_unhex(): do not return 1 on success * bitvec: fix misleading description of bitvec_spare_padding() * bitvec: cosmetic: init i only once in bitvec_[un]pack() * bitvec: avoid redundant zero-initialization in bitvec_alloc() * tests/coding: check return value of encoding / decoding functions * tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests * tests/coding: cosmetic: use ARRAY_SIZE() macro from utils.h * coding: fix documentation of PDTCH encoding functions * tests/coding: add 11-bit Access Burst samples from a real phone * coding: fix bit ordering in 11-bit RACH coding functions * rest_octets: fix encoding of 3G Early Classmark Sending Restriction * libosmogsm: cosmetic: add spaces before and after PRIu32 * bts_features: fix: properly check the result of bitvec_get_bit_pos() * bts_features: introduce osmo_bts_unset_feature() * gsm0502: add TDMA frame number constants and modular arithmetic * utils/gsmtap_logread.py: make it executable * src/Makefile.am: add conv_acc_neon_impl.h to EXTRA_DIST * configure.ac: clarify description of --enable-neon * configure.ac: fix: do not define HAVE_NEON unconditionally * configure.ac: print ARM NEON instructions support status [ Eric Wild ] * pcsc: don't leak memory [ Alexander Chemeris ] * gb: Fix typos in gprs_ns.c comments * gb: Print signalling and data weights on NS-VC creation. * select: Fix typo in a comment Osmcoom->Osmocom * stats: Move cfg_stats_interval_cmd() function. * stats: Fix documentation for osmo_stats_set_interval() * stats: Support regular stats flush * stats: Change timer to timerfd to make it a true interval timer. * gsm0808: Fix encoding of the SAPI_N_REJECT BSSMAP message. * gsm0808: Make a function to extract Cause IE publicly available. * gsm0808_utils: Fix gsm0808_cause_class() function * gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a deprecation notice. * gsm0808: Implement helper functions for CONFUSION BSSMAP message decoding. [ Maksim Aristov ] * debian: Change python3 dependency to native arch [ Eric ] * configure.ac: fix libtool issue with clang and sanitizer * timer.c: make timers thread safe * pkgconfig/osmocodec/osmocoding: link to talloc * libomsocoding: NEON viterbi acceleration [ Kirill Zakharenko ] * statsd: fix rendering for groups with idx==0 [ Sylvain Munaut ] * libosmogsm: import hopping sequence generation code [ Oliver Smith ] * contrib: import RPM spec * gsmtap_makemsg_ex: NULL for unknown chan_type * contrib: integrate RPM spec * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in [ Alexander Couzens ] * gprs_ns.h: add missing prototype gprs_ns_rcvmsg() * gprs_ns: fix typo in comment * gprs_ns_frgre.h: add missing declaration of structs * bts_features: add feature BTS_FEAT_IPV6_NSVC * socket: osmo_sock_local_ip: correct doxygen comment * vty: add a define VTY_IPV46_CMD to require a IPv4/6 address * Gb/BSSGP: replace hardcoded Tx into NS library by a callback * gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG * osmo_sock_init2: improve support for AF_UNSPEC * socket.h: introduce osmo_sockaddr to hold v4 and v6 endpoints [ Daniel Willmann ] * rate_ctr: Add functions to reset rate counter (groups) * stat_item: Add function to reset stat items and groups * stats: Add stats commands related to testing -- Harald Welte Thu, 13 Aug 2020 11:06:35 +0200 libosmocore (1.3.0) unstable; urgency=medium [ Pau Espin Pedrol ] * osmo-release.sh: Add DRY_RUN mode * osmo-release.sh: Verify debian/rules dh_strip lines match LIBVERSION * osmo-release.sh: Verify consistency of dependency versions in configure.ac and debian/control * osmo-release.sh: Check patches under debian/patches apply * osmo-release.sh: Support releasing openbsc.git * vty: Register logp cmd next to logging commands * tdef: Introduce API osmo_tdef_set() * tdef_vty.h: Add missing header dependencies * logging_internal.h: Fix osmo_log_info definition * osmo-release.sh: update TODO-RELEASE for non-lib projects too * logging: Move extern declaration of osmo_log_target_list from logging.h to logging_internal.h * msgb: Allow size==headroom in msgb_alloc_headroom*() * tdef: Introduce min_val and max_val fields * tdef_test: verify case where osmo_tdef_set returns -EEXIST * vty: Optionally Set/replace cfg file during cmd 'write file' * logging: Introduce mutex API to manage log_target in multi-thread envs * socket.c: Move glibc workarounds to same place in addrinfo_helper() * vty: Fix go_parent_cb not called for indented nodes at end of cfg file * tdef: Return correct snprintf value for osmo_tdef_range_str_buf() * socket: Introduce API osmo_sock_init2_multiaddr() * socket: Remove unneeded condition check in osmo_sock_init2_multiaddr() * libosmocore.pc.in: Append -lsctp to Libs.private * socket.c: build multiaddr socket API helpers only if used by public APIs * configure: Introduce --disable-libsctp and error by default if libsctp not found * vty: Return error if cmd returns CMD_WARNING while reading cfg file * cosmetic: gsm_04_08.h: Fix trailing whitespace * gsm_04_08.h: Introduce API osmo_gsm48_rfpowercap2powerclass() * gsm: Fix compilation error under some compilers * gsm: gsm_utils: Fix return type of API ms_class_gmsk_dbm() and add unit tests * gsm: gsm_04_08.h: Allow accessing classmark2 as struct instead of uint32_t * Introduce fields related to DTAP DLCI * osmo-release.sh: Use set -e before applying changes to prepare release * osmo-release.sh: Improve of PKG_CHECK_MODULES from configure.ac * Drop empty file debian/patches/series [ Harald Welte ] * codec/ecu_fr: Mark input TCH frame as 'const' as we only read it * context: Add support for [per-thread] global talloc contexts * cbsp: Fix endless loop iteration when decoding cell list IEs * cbsp: Remove printf() statement from early development/debugging * cbsp: Fix decoding of WRITE-REPLACE payload * codec/ecu: Introduce new generic Error Concealment Unit abstraction * gsm_08_58: Add vendor-specific Message Type for ETWS Primary Warning * Introduce BTS_FEAT_ETWS_PN for communicating ETWS PN capability * sim/class_tables: Fix typo in comment * cosmetic: clarify c_iflag in osmo_serial_init() * select: Make file descriptor lists per-thread * 04.80: Deprecate gsm0480_create_ussd_resp() * Check for osmo_fsm_register() error return value * gprs_ns_instantiate(): propagate errors from gprs_sns_init() to caller * osmo-arfcn: Fix '-h' option * utils: exit(2) on unsupported positional arguments on command line * gsup: Introduce OSMO_GSUP_NUM_VECTORS_REQ_IE * gprs_bssgp: Work around gcc-9 claiming "error=stringop-overflow" * libosmocore libusb integration * usb: Import a variety of libusb utility functions from simtrace * debian/control: Add missing libusb-1.0-0-dev dependency * Introduce helper functions for safe fork+exec of processes [ Neels Hofmeyr ] * add vty logp command to echo on all log targets * osmo_tdef_get(): allow passing -1 as default timeout * fix: vty crash by logging during VTY_CLOSED event handling * OSMO_SOCKADDR_STR_FMT_ARGS: remove useless condition * OSMO_SOCKADDR_STR_FMT_ARGS: guard against NULL pointer * tdef: fixup osmo_tdef_set() * gsup: add OSMO_GSUP_SUPPORTED_RAT_TYPES_IE and OSMO_GSUP_CURRENT_RAT_TYPE_IE * API doc tweaks (mncc.h, gsm_08_08.h) * add osmo_fsm_set_dealloc_ctx(), to help with use-after-free * fsm: refuse state chg and events after term * add osmo_sockaddr_str_is_nonzero() * test: add OSMO_SOCKADDR_STR_FMT to sockaddr_str_test.c * fix OSMO_SOCKADDR_STR_FMT for IPv6 * add osmo_sockaddr_str_cmp() * utils.c: fix various inaccurate API doc about return values * logging.h: define ansi color constants * fix DLSMS logging category color: '[1:38m' isn't actually defined * cosmetic: logging.h: fix comment s/levels/subsystems * osmo_sockaddr_str: API doc: fix 32bit addr mixup of host/network byte order * utils.h: add OSMO_NAME_C_IMPL() macro * fix osmo_escape_str_c() and osmo_quote_str_c() * GSUP: rename E_ROUTING_ERROR to ROUTING_ERROR * fsm.h: add missing include of logging.h * msgb_put: more elaborate logging of head/tailroom failure * utils_test: add osmo_print_n_test() * utils: add osmo_strnchr() * osmo_sockaddr_str: deprecate osmo_sockaddr_str_*_32n() * vty: track parent nodes also for telnet sessions * vty_app_info.is_config_node: add OSMO_DEPRECATED * add osmo_escape_cstr and osmo_quote_cstr * add all missing OSMO_GSUP_TO_MSGT_*() macros [ Oliver Smith ] * Cosmetic: l1sap.h: change /* !< to /*!< * logging.h: add L1 SAPI related context and filter * gprs_ns_vty: return success for disabled FR/GRE * debian, utils: switch to python 3 [ Ruben Undheim ] * MAXPATHLEN set if not defined * No fail if no /proc/cpuinfo [ Philipp Maier ] * cosmetic: Move comment to the right place * cosmetic: Add comment on GSM-FR ECU struct * ecu_fr: increase test coverage for FR ECU implementation * gsm0508: add functions to calculate beginning of a block [ Vadim Yanitskiy ] * gsm29205_test: fix error: missing braces around initializer * GPRS/BSSGP: introduce bssgp_bvc_ctx_free() * logging/vty: do not print deprecated logging commands to stdout * logging/vty: use LOG_LEVEL_ARGS in logging_vty_add_deprecated_subsys() * logging/vty: fix: actually ignore deprecated logging commands * logging/vty: fix vty_read_file(): do not write warnings to stdin * logging/vty: fix: do not close stderr in vty_close() * libosmovty: properly initialize vty->fd in vty_new() * libosmovty: simplify condition checking vty->fd in vty_close() * core/defs.h: introduce and use OSMO_DEPRECATED_OUTSIDE [ Daniel Willmann ] * libosmogsm: add support for XOR authentication [ Vasil Velichkov ] * Add code coverage support [ Eric Wild ] * sim: allow opening reader# > 0 -- Pau Espin Pedrol Thu, 02 Jan 2020 18:42:29 +0100 libosmocore (1.2.0) unstable; urgency=medium [ Harald Welte ] * Add VTY and CTRL port numbers for OsmoCBC (Cell Broadcast Centre) * deal with rate_ctr_group_alloc() returning NULL * Fix osmo_quote_str_c() for strings larger than 32 bytes * Print error message if application fails to call rate_ctr_init() * gsm0808_utils: Introduce gsm0808_msgb_put_cell_id_u() * Revert "Print error message if application fails to call rate_ctr_init()" * osmo_sock_get_name_*: Ensure string is returned in error case * Revert "Change GSM48_PDISC_* to enum type" * pseudotalloc: turn talloc_steal() into #define * TLV: Add one-shot TLV encoder * lapdm_rslms_recvmsg: Fix memory leak in error path * rsl: Add osmocom-specific extensions to RSL channel numbers for CBCH * oap_client: Fix license: GPLv2+ instead of AGPLv3+ * tdef: Fix license: GPLv2+ instead of AGPLv3+ * gsm48_rest_octets: Fix license: GPLv2+ instead of AGPLv3+ * rest_octets: Use correct symbols names for range encoder * rest_octets: Actually include gsm48_rest_octets.c in Makefile.am * rest_octets: Fix export of osmo_gsm48_rest_octets * rest_octets: Suffix encoder functiosn with _encode * rest_octets: Add function to parse SI3 rest octets * rest_octets: Implement actual SI6 rest octets encoding * rest_octets: Remove SI2ter + SI2bis encoders that don't do anything * lapdm: Don't truncate L3 payload at 200 bytes length * make all library-internal static buffers thread-local * gsm0808_utils: Add gsm0808_decode_cell_id_u() * lapdm: Allow user to specify T200 values; Use correct N200 values * lapd_core: Perform N200 retransmissions, not N200-1 * fsm: Allow millisecond granularity in osmo_fsm built-in timer * fsm: Reduce amount of copy+pasted LOGPFSMSRC() statements * fsm.c: Print error message for FSM with allstate_action but no events * CBSP (Cell Broadcast Service Protocol; 3GPP TS 48.049) support * cbsp: Introduce osmo_cbsp_errstr * Add Cell Broadcast related definitions from 3GPP TS 23.041 * cbsp.c: Remove dead code * tdef: remove bogus OSMO_ASSERT(unsigned long >= 0) * osmo_get_rand_id(): Avoid dead code by proper #if/#else/#endif * avoid gcc format error on embedded builds * pseudotalloc: Simplistic wrapper of talloc_named() [ Keith ] * Add expect script: 'vty' for easy access to all vtys [ Kévin Redon ] * fix typo in FSM description * fix isdigit taking unsigned as input * minor: don't redefine macros * (minor) fix typo in comments [ Omar Ramadan ] * Add MO-FALLBACK-VALUE SGsAP IE [ Max ] * NS: log address:port on error * Change GSM48_PDISC_* to enum type [ Pau Espin Pedrol ] * gsm0808: Introduce Osmocom extensions to announce Osmux support * vty: command.c: Get rid of huge indentation block * vty: command.c: Fix is_cmd_ambiguous() returning always 0 * cosmetic: vty: command.c: Use upper case for enum match_type value names * vty: command.c: Get rid of huge indentation block * logging: Check return error from time() call * logging: Use reentrant ctime_r instead of ctime * command.c: Improve return check condition in cmd_execut_command_real() * vty: command.c: Get rid of big indentation block * vty: tests: Verify incomplete optional parameters are passed to vty funcs * vty: command.c: Fix: multi-choice args are no longer passed incomplete to vty func * vty: command.c: Fix: single-choice optional args are no longer passed incomplete to vty func * vty: Remove trailing whitespace in output from show asciidoc * gsm: lapd_core: Log timeout used upon start of T200 * vty: Simplify char escaping in asciidoc output * gsm0808_test: Fix wrong use of memcp * utils: share static buffer in osmo_str_to{lower,upper}() * Get rid of osmo_str_tolower() use inside libosmocore code * tests: logging: Remove undefined param passed to logging_vty_add_cmds * configure: Autodetect TLS bug on ARM with old gcc and apply workaround * configure: Allow disabling workaround for TLS bug in old ARM gcc versions * osmo-release.sh: Drop whitespace after = when parsing LIBVERSION [ Oliver Smith ] * gsm_23_003: add GSM23003_MSISDN_{MIN,MAX}_DIGITS * Cosmetic: GSUP: fix too long comment line * gsm48_decode_bcd_number2: fix ENOSPC edge case * gitignore: add doc/*.tag.prep * Makefile.am: don't delete example.xml, vtydoc.xsd * contrib/jenkins.sh: run "make maintainer-clean" [ Sylvain Munaut ] * codec/ecu: Add a bit of precision about the actual frame format used [ Daniel Willmann ] * Deprecate usage of osmo_counter_* * stats_vty: Add verb to sentence for show asciidoc counters [ Vadim Yanitskiy ] * protocol/gsm_12_21.h: fix copy-pasted struct description * gsm0408/gsm0408_test.c: introduce BCD number encoding / decoding test * gsm48_decode_bcd_number2(): fix output truncation * gsm48_decode_bcd_number2(): fix: return -ENOSPC on truncation * gsm48_decode_bcd_number2(): return -EINVAL if LV has too big length * gsm48_encode_bcd_number(): clarify optional LHV header initialization * vty/command.c: cosmetic: add missing curly brackets * socket.c: fix Doxygen doc for osmo_sock_unix_init_ofd() * vty_transcript_test.vty: add choice auto-complete tests * core/utils: drop meaningless const from return value of osmo_luhn() * protocol/gsm_04_08.h: do not check if unsigned is positive * Revert "fsm.c: Print error message for FSM with allstate_action but no events" * Revert "utils.h: require a semi colon after OSMO_ASSERT" * libosmogsm/l1sap.h: extend ph_rach_ind_param with lqual_cb * osmo_gsm48_rest_octets_si3_decode(): fix copy-paste error in comment * bitvec/bitval2mask(): cosmetic: get rid of temporary int variable * gsm/gsm0480.c: parse_ss(): drop needless debug print * gsm/gsm0480.c: use DLGLOBAL and LOGL_ERROR for logging * gsm/gsm48.h: drop meaningless 'const' from gsm48_mi_to_string() * vty/telnet_interface.c: use DLGLOBAL logging sub-system * vty/telnet_interface.c: avoid unneeded initialization * vty/logging_vty.c: fix writing of 'print category-hex' * vty/telnet_interface.c: log connection accept() / close() events * vty/vty.c: fix vty_read(): prevent further heap-buffer overrun * vty/vty.c: the command buffer can be accessed directly [ Alexander Couzens ] * utils: add gsmtap_logread.py a gsmtap log reader * bitvec: correct comment in bitvec_alloc * utils.h: require a semi colon after OSMO_ASSERT [ Eric Wild ] * add define for magic tmsi constant * tell ubsan to ignore SUN_LEN [ Ruben Undheim ] * Set HTML_TIMESTAMP to NO to make build reproducible -- Pau Espin Pedrol Tue, 06 Aug 2019 18:02:01 +0200 libosmocore (1.1.0) unstable; urgency=medium [ Oliver Smith ] * gsm_23_003.h: add GSM23003_IMEI_NUM_DIGITS_NO_CHK * GSUP: deprecate osmo_gsup_get_err_msg_type() * Revert "signal.c: Make non-exported tall_sigh_ctx static" * Revert "ipa_ccm_idtag_parse*: Fix reported length value" * GSUP: add inter-MSC handover related msgs and IEs [ Harald Welte ] * Bump version: 1.0.0 → 1.0.1 * gsm0408_test: Fix IMEI-SV related tests to use no more than 16 digits * constrain gsm48_generate_mid() output array bounds * Work around bogus gcc-8.2 array-bounds warning/error * Extend gsm_04_08.h with CSFB related definitiosn form 44.018 Rel 15 * gsm_08_08.h: Add IEI definitions from Release 15 * bitvec: Add bitvec_bytes_used() function * bitvec: Add bitvec_tailroom_bits() function * Fix BSSMAP length generated by gsm0808_create_clear_command2() * gsm0808: comment about difference of gsm0808_create_clear_command() * gsm0808: Add unit tests for test_create_clear_command2() * bssgp_tx_bvc_unblock(): Fix log message * gprs_ns: Use gprs_ns_tx_alive() instead of gprs_ns_tx_simple() * gprs_ns.c: cosmetic whitespace fixes * gprs_ns: Declare gprs_ns_tx_alive*() in header file * gprs_ns: Add missing NSVCI IE to NS-BLOCK-ACK message * select: Call log_reset_context() before calling file descriptor callbacks * NS: Don't print information about FR/GRE if not enabled! * NS: Add missing NS Cause strings * GPRS: Doxygen documentation for 'struct libgb_msgb_cb' * gprs_ns: Add code for SNS-SIZE and SNS-CONFIG encoding * NS: Factor out gprs_nsvc_start_test() and use it * NS: Add support for GPRS NS IP Sub-Network-Service (SNS) * gprs_ns.c: Update comment: IP SNS has recently been implemented * gprs_ns: Don't use initial IP/port for anything but SNS * gprs_ns_sns: Use "correct" remote IP address for local IP endpoint * tests: use -no-install libtool flag to avoid ./lt-* scripts * ipa_ccm_idtag_parse*: Fix reported length value * socket: osmo_sock_get_name() Use "const void *" as talloc context * gprs_ns_sns: Properly initialize sockaddr_in in gprs_nsvc_create_ip4() * select: Rename BSC_FD_* constants to OSMO_FD_* * signal.c: Fix osmo_signal_talloc_ctx_init() * signal.c: Make non-exported tall_sigh_ctx static * osmo_escape_str_buf: Always copy, don't return input string pointer * Add _buf() functions to bypass static string buffers * Add _c versions of functions that otherwise return static buffers * Re-introduce declaration of gsm0808_create_handover_request_ack() [ Neels Hofmeyr ] * gsm0808: add BSSMAP Cell Identifier matching API * add osmo_hexdump_buf() and test * add osmo_classmark_* API * osmo_fsm_state_name: make robust against NULL fi * build: add missing logging_vty_test.vty to EXTRA_DIST * jenkins distcheck: enable external tests * osmo_fsm_inst_state_chg(): set T also for zero timeout * osmo_fsm_inst_state_chg(): clamp timeout_secs to <= ~68 years * add generic vty_transcript_test.c, vty_transcript_test.vty * vty: enable optional-multi-choice syntax: ([one]|[two]) * vty: enable optional-multi-choice syntax: [(one|two)] * vty: enable tab-completion for optional-multi-choice args * vty telnet: consistently never change nodes upon CTRL-C * vty api: add vty_out_va() * doxygen: enable cross referencing everywhere * doxygen: add source files as dependencies * doxygen: allow manual 'make apidoc' even if --disable-doxygen * add osmo_tdef API, originally adopted from osmo-bsc T_def * platform independence fix: tdef range tests * get_value_string(): guard against NULL * fix osmo_gsm48_classmark* libosmogsm.map entries * add OSMO_STRBUF_PRINTF() * enlarge gsm0808 msgb headroom * log: fsm: allow logging the timeout on state change * fix api doc typo for osmo_plmn_name2() * api doc: tweak gsm0808_cell_id_matches_list() doc * represent negative T-timers as Osmocom-specific X-timers * tdef_test: tweak output to prepare for a fix * fix tdef_test.c: do call the function-to-test in all cases * fsm: add osmo_fsm_inst_state_chg_keep_or_start_timer() * add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() * osmo_gsm48_classmark_a5_name(): fix 'no-cm3' label * gsm_utils.h: remove unused include of gsm_08_08.h * add osmo_sockaddr_str API * add osmo_use_count API * add fsm_dealloc_test.c * fsm: add flag to ensure osmo_fsm_inst_term() happens only once * fsm: support graceful osmo_fsm_inst_term() cascades * fsm_dealloc_test: no need for ST_DESTROYING * make osmo_sockaddr_str_is_set() NULL-safe * add osmo_str_startswith() * tweak OSMO_STRBUF_APPEND(), add OSMO_STRBUF_APPEND_NOLEN() * add osmo_{escape,quote}_str_buf2() for standard args ordering * add identifier sanitation for setting FSM instance ids * add OSMO_IMSI_BUF_SIZE * GSUP: add Message Class IE * BSSMAP: tweaks * BSSMAP: add messages for inter-BSC and inter-MSC Handover * add gsm48_decode_bcd_number2() from osmo-msc * add osmo_bssap_tlv_parse2() for multiple identical T * add vty_is_active() * add comment to gsm_mncc_bearer_cap.speech_ver * gsm48_decode_bcd_number2(): fix input len check * gsm48_decode_bcd_number2(): allow avoiding deprecation * osmo_gsup_decode(): properly check IMSI, avoid deprecation * add gsm0808_create_handover_request_ack2 to add AoIP RTP addr [ Max ] * socket.h: add missing include * Enable remote SIM protocol log level * Add multipatch capability to osmo-config-merge * LCLS: add string dump helpers * coding: check gsm0503_rach_*() results * rate_ctr_group_free(): guard against empty or NULL input * BSSGP: use variable for NSEI [ Philipp Maier ] * gsm0808: Add CSFB indication IE to BSSMAP CLEAR COMMAND * gsm0808_utils: fix gsm48 multirate configuration generator * gsm0808_utils: fix gsm48 multirate to S-bit converter * gsm_utils: fix use buf_len instead of sizeof in osmo_dump_gsmtime_buf [ Sylvain Munaut ] * protocol/gsm_04_14: Fix the OPEN LOOP message type * gsm_08_08.h: Add constants for Channel Type in signalling mode [ Vadim Yanitskiy ] * gsm/gsm0480: introduce gsm0480_create_release_complete() * vty/tdef_vty.c: drop redundant comparison * src/signal.c: cosmetic: use talloc_zero() * Doxygen: fix incorrect / missing parameter description * core/linuxlist.h: fix and unify Doxygen documentation * core/linuxlist.h: fix white-space and inconsistent alignment * src/logging.c: fix syntax errors in Doxygen documentation * core/msgb.h: fix dead msgb2 reference in msgb_eq_* helpers * core/msgb.h: drop meaningless parameter of msgb_eq_* helpers * src/msgb.c: fix Doxygen documentation for msgb_printf() * core/msgb.h: fix incorrect Doxygen parameter description * Doxygen: fix documentation of rate_ctr_for_each_counter() * src/rate_ctr.c: drop some incorrect \ref references * Doxygen: fix documentation of osmo_timer_setup() * logging_gsmtap.c: document all params of log_target_create_gsmtap() * src/gsmtap_util.c: fix possible memleak in gsmtap_source_init() * gsm_03_40.h: define max SM-TP-UDL (User-Data-Length) values * vty/talloc_ctx_vty.c: allocate walk_cb_params on stack, not heap * vty/talloc_ctx_vty.c: use REG_NOSUB flag of regcomp() * gsm_utils.c: fix Doxygen description for gsm_get_octet_len() * Fix incorrect buffer size calculation * gb/gprs_ns_sns.c: fix incorrect sizeof() calculation * gsm/gsm_utils.c: indicate intentional fall-through * application.c: drop wrong \references of osmo_init_ignore_signals() * bitcomp.c: fix missing Doxygen group closing tag * gsm/gsm_utils.h: fix argument type of gsm_chan_t_name() [ Pau Espin Pedrol ] * rsl: Support PDCH in rsl_chan_nr_str * ipa: Document ipa_ccm_idtag_parse_off and fix ipa_ccm_idtag_parse * ipa: Fix ipa_ccm_id_resp_parse on big endian systems [ Karl Koscher ] * Fix build on non-glibc systems [ Alexander Couzens ] * add osmo_stat_item_inc/osmo_stat_item_dec to set it relative -- Pau Espin Pedrol Tue, 07 May 2019 18:36:51 +0200 libosmocore (1.0.1) unstable; urgency=medium [ Max ] * Rename msgb_wrap_with_TL() -- Harald Welte Mon, 21 Jan 2019 14:50:42 +0100 libosmocore (1.0.0) unstable; urgency=medium [ Kévin Redon ] * GSMTAP: add SIM sub_types * comp128v23 (minor): update original code site and author [ Neels Hofmeyr ] * fix strncpy bugs in gsm/ipa.c * fix strncpy bugs in socket.c * cosmetic: osmo-sim-test.c: use memcpy instead of strncpy * use __FILE__, not __BASE_FILE__ * log: add 'last' option to 'logging print file' * gsm0808: inter-bsc HO messages: add missing BSSMAP header, x4 * api doc: fix osmo_quote_str_* * add osmo_str_tolower() and _toupper() with test * fix tests linking: don't use system installed libs * logging vty: add VTY transcript test * gsm0808: implement BSSMAP Classmark Request * jenkins: add --enable-external-tests * logging vty: rewrite 'logging level' vty cmd generation * logging vty: deprecate the 'everything' keyword * logging vty: write: check logging levels validity * logging vty: deprecate 'all', introduce 'force-all' * Revert "gsm0808: add function to convert amr gsm0408 setings to gsm0808" * logging vty: add 'logging level set-all ' * vty reference: fix deprecation bit evaluation * vty list: fix deprecation/hidden bit logic * vty: omit HIDDEN from vty reference * vty logging: fix crash when missing 'logging enable' * jenkins: print gcc version in log * gsm_44_318.h: remove #if 0 from struct gan_cch_desc_ie * add contrib/struct_endianess.py * gsm0408_test: test encoding and decoding Mobile Identity * api doc: gsm48_mi_to_string(): warn of return value implementation * add osmo_bcd2str() * gsm48_mi_to_string: use osmo_bcd2str(), fix some corner cases * gsm48_generate_mid(): mask out ODD flag from mi_type * gsm48_mi_to_string(): guard against zero length output buffer * gsm48_mi_to_string(): do not read from zero length input buffer * fix api doc for osmo_bcd2str() * add to osmo_sock_get_name*() API * add/clean big-endian packed structs (struct_endianess.py) * define LOGPFSM fmt only once, in LOGPFSMLSRC * add API doc for LOGPFSM* macros * LOGPFSM*: guard against fi == NULL * add LOGPFSMSL(), LOGPFSMSLSRC() * gsm_utils: add enum osmo_rat_type, from osmo-msc enum ran_type * osmo_rat_type: add OSMO_RAT_EUTRAN_SGS * fix typo in enum BSS_MAP_MSG_TYPE: BSS_MAP_MSG_ASSIGMENT* * add osmo_mi_name(), for MI-to-string like "IMSI-123456" * add osmo_lu_type_names[], osmo_lu_type_name() * change GSM48_CMSERV_* to enum type, add names * comments: update/fix three 3GPP spec references [ Alexander Couzens ] * ctrl/vty: fsm: use correct element when iterating over fsm->proc.children * bssgp: introduce flush queue functions * configure.ac: check clock_gettime for glib < 2.17 [ Harald Welte ] * gsm0480: Factor out msgb allocation helper function * USSD: Introduce gsm0480_gen_ussd_resp_7bit() * 04.80: New gsm0480_gen_{reject,return_error}() functions * import oap_client into libosmogsm * oap_client: Rename symbols with osmo_ prefix * import oap_client_test from osmo-sgsn * cosmetic: More context / naming / comment for test_idtag_parsing() * Deprecate ipa_ccm_idtag_parse() with ipa_ccm_id_{get,resp}_parse() * jenkins_arm.sh: Use same Werror related options as on other builds * re-introduce ipa_ccm_idtag_parse_off() * debian/rules: Don't overwrite .tarball-version * Add RSPRO support to IPA and logging definitions * Add new osmo-config-merge utility * logging_vty: Ensure writing well-formed config files * osmo-config-merge: Don't use C99 'for' loop initial declarations * Revert "osmo-config-merge: Add manual page" * osmo-config-merge: fclose() what we fopen() * timerfd_create(): Fix error handling of osmo_fd_register() * telnet_interface: avoid double-close of fd() * vty.c: Set vty->fd to -1 after closing the FD * SGsAP protocol definitions (header + C file) * gsm23003: Add MME domain name related helper functions * Fix VTY documentation error introduced in "bind" VTY port change [ Vadim Yanitskiy ] * vty/vty.c: remove dead unused tall_bsc_ctx * gsm/gsm0480.c: prevent NULL-pointer dereference * gsm/gsm0480.c: use the local msgb allocator * libosmogsm: (re)introduce gsm48_push_l3hdr() * core/utils.h: drop duplicate '' include * core/utils.h: move includes to the top * vty/command.h: document and prettify CMD_ATTR_* flags * utils/osmo-config-merge: explicitly return from main() * libosmogsm/gsup.c: fix error code in osmo_gsup_encode() * gsm/gsup.h: cosmetic: use tab for comment alignment * core/msgb.h: introduce msgb_l4len() helper * gsm0480: fix copy-pasted note for gsm0480_gen_return_error() * GSUP/SMS: introduce MO-/MT-FORWARD-SM messages * GSUP/SMS: introduce READY-FOR-SM message * tests/gsm0808: use new msgb comparison API * logging/gsmtap: fix buffer overflow in _gsmtap_raw_output() * tests/gsup_test.c: drop session IEs from MO-ForwardSM Error [ Philipp Maier ] * socket: check return code of setsockopt * socket: do not set SO_REUSEADDR for IPPROTO_UDP * socket: add flag to enforce SO_REUSEADDR on UDP sockets * gsmtap_util: make sure SO_REUSEADDR is applied for GSMTAP * gsm0808: fix wrong codec defaults for OFR_AMR_WB * gsm0808: add function to convert amr gsm0408 setings to gsm0808 * gsm0808: add function to convert amr gsm0408 setings to gsm0808 * gsm0808_utils: constify parameter * gsm_utils: add function to get value strings for gsm48_chan_mode * gsm0808: add function to convert AMR S15-S0 to gsm0408 settings * gsm0808: allow decoding of zero length speech codec lists. * gsm0808: fix doxygen apidoc * gsm0808: cosmetic: rename parameter "reason" to "cause" * gsm48: correct apidoc for gsm48_generate_mid() * gsm_29_118: add missing include to header file * gsm29118: add value strings for SGSAP IEI * fsm: fix apidoc of osmo_fsm_state_name() * gsm0808: add message generator for BSSMAP HANDOVER PERFORMED * gsm_29_118: add missing extern for struct value_string decl. * cosmetic apn: correct whitespace error * gsm_29_118.h: Add constant for default port * gsm29118: add generator functions for GSM29118 messages * gsm0808: add encoder for cause codes and use it [ Mykola Shchetinin ] * vty/vty.c: fix bug in vty_config_write [ Pau Espin Pedrol ] * signal: Introduce API osmo_signal_talloc_ctx_init * msgb: Introduce msgb_{de,en}queue_count APIs * vty: Makefile: Fix LIBVERSION typo introduced in 0.12.0 release * ipa: Document ipa_msg_recv* functions * osmo-release.sh: Add quotes to string to fix shellcheck warning * osmo-release.sh: Allow forcing release without LIBVERSION bump * osmo-release.sh: Add checks to help avoid libversion debian major mismatch * gsm_08_58.h: Introduce struct abis_rsl_link_id * gsm_08_58.h: Introduce struct abis_rsl_chan_nr * gsm48: gsm48_decode_freq_list: Improve documentation of paramter f * gsm: Deprecate buggy gsm_arfcn2band API and introduce gsm_arfcn2band_rc * timer: Fix clockid_t undefined on MacOS < 10.12 * stats.h: Fix build on MacOS [ Stefan Sperling ] * properly handle mandatory cli param of gsm0808_create_paging2 * Properly deal with sockaddr_un socket path length limitations. * ensure unix socket paths are NUL-terminated for bind/connect * fix error handling gprs_ns_nsip_listen() * add support for ipaccess messages on the ctrl interface * stop printing group description in vty_out_rate_ctr_group_fmt() * make 'show rate-counters' show group index * send NS_POUT_UNBLOCK_ACK before signalling S_NS_UNBLOCK * document unblock-ack vs. signalling in gprs_ns_process_msg() * rename CELL_IDENT_LAI_AND_LAC to CELL_IDENT_LAI * port arfcn range encode support from osmo-bsc * port rest octets encoding code from osmo-bsc [ Keith ] * Add CC_CAUSE value_string array [ Alexander Chemeris ] * coding: Correctly count bits when decoding EDGE bursts with MCS >= 7. * coding: Always initialize bit counters in gsm0503_pdtch_egprs_decode(). [ Daniel Willmann ] * osmo-config-merge: Fix some small issues * osmo-config-merge: Add manual page * stats_statsd: Send all stat_items as gauges [ Shinjo Park ] * GSMTAP: add definitions for new LTE RRC channels * GSMTAP: add definitions for LTE NAS subtypes * GSMTAP: fix typos in comments [ Max ] * vty: adjust telnet log * Update cipher reject function * Fix deprecation warning in gsm0808_test * Add helper wrapper for BSSAP TLV parsing * Update 3GPP TS 08.08 Cause handling * Update GSM0808_LCLS enums * Move msgb_push helpers to public header * Support cipher mode reject with extended cause * Add missing header include * LCLS: add 48.008 parameter structure * Update gsm0808_create_ass() doxygen * ctrl: print textual error on IPA parsing failure * Move BSSMAP_MSG_* defines to header file * Update msgb Lx helpers * ctrl: use #define for TRAP id * Add msgb_tl_put() helper * LCLS: update osmo_lcls struct * Allow log_init() with NULL log_info * Add osmo_sockaddr_in_to_str_and_uint() * Constify llist_count() parameter * msgb: add test helpers * LCLS, TS 29.205: add GCR routines * LCLS, TS 48.008: add GCR IE encoding/decoding * LCLS: add gsm0808_create_ass2() * Fix typos in SS opcode names * LCLC: fix doc to match type signature * Use define for key buffers * TLV: fix doc copy-paste error * TLV: add convenience function for 1-byte values * LCLS: enc/dec entire parameter set instead of GCR * Streamline glibc version check * Automatically disable GnuTLS fallback * LCLS: fix LCLS-CONNECT-CONTROL encoder * msgb: fix debug print * LCLS: use proper types for value_string wrappers * LCLS: expand enc/dec tests * LCLS: add GCR comparison helper [ Oliver Smith ] * cosmetic: fix typo (soocket -> socket) * add osmo_sock_get_{local,remote}_ip{,_port}() * socket.c: fix IP and port buffer sizes * merge_doc.xsl: move to osmo-gsm-manuals.git * GSUP: fix missing osmo_gsup_get_err_msg_type()s * GSUP: add end marker to enum osmo_gsup_iei * GSUP: add CHECK-IMEI message * Cosmetic: GSUP: note "on wire" for imei_result * gsm23003: add osmo_imei_str_valid() [ Martin Hauke ] * gsm/protocol/gsm_08_58.h: Fix typo [ Holger Hans Peter Freyther ] * vty: The telnet interface is TCP only. Fix the comments * vty: Make TCP port configurable and introduce telnet_init_default -- Harald Welte Sat, 19 Jan 2019 21:59:07 +0100 libosmocore (0.12.0) unstable; urgency=medium [ Pau Espin Pedrol ] * control_if: Avoid heap-use-after-free in osmo_wqueue_bfd_cb * configure: Check separately for lib implementing dlopen and dlsym * tests: bitrev_test: Fix dynamic-stack-buffer-overflow * tests: gea_test: Use correct max size for key in buffer * tests: a5_test: Print wrong buffer correctly on error * gsm: kasumi: Fix dynamic-stack-buffer-overflow on out buffers not multiple of 64 bits * gsm: lapdm.c: Add missing new line char in notice log string * ctrl: Log CMD TYPE on invalid ID number * ctrl: Fix parsing of ERROR recvd msgs with id=err * gsm0808: Add value_string for encryption algorithms * ctrl: Introduce ctrl_cmd_parse3 API * ctrl: ctrl_handle_msg: Avoid sending back received ERROR msgs * tests: ctrl: Test received ERROR messages are handled correctly * libosmocoding: clarify return values for TCH decoding functions * libosmocodec: FR err concealment: Fix too many silent frames generated * tests: codec: ecu_fr: Print XMAXC fields * tests: codec: ecu_fr: Add buffer with unequal XMAXC values * rate_ctr: Improve logging * logging: log_vty_command_string: Fix undercount of buf alloc size * logging_vty: Simplify code in config_write_log_single * logging.c: Fix whitespace typo [ Harald Welte ] * lapdm: Fix back-pointer from lapdm_entity to lapdm_channel * lapdm: Implement SABM related constraints * lapdm: cleanup: send_rslms_rll_l3_ui(): Use msgb_tv_push() * lapdm: send_rslms_rll_l3_ui(): Don't include B4/SACCH IE unless needed * lapdm: don't enforce contention resolution on SAPI0/DCCH * Add osmo_timerfd_* functions for osmo_fd-wrapped timerfd * import isdn4linux HDLC code from linux kernel * isdnhdlc: Port from kernel to userspace * mncc: properly export osmo_mncc_name() * cosmetic: Whitespace fixes in control_if.c * ctrl: Introduce libosmoctrl.map to avoid unintended exports * ctrl: Add doxygen API documentation; generate html from it * debian: Add libosmoctrl-doc sub-package * gsm_08_08.h: Add enum for LCLS config, control and status * gsm0808: Add encoding functions for LCLS BSSMAP messages * gsm0808: Add value_string for LCLS related IEs * tlv: Add TLVP_VAL_MINLEN() to obtain value _if_ length is >= minimum * Add osmo_isqrt32() to compute 32bit integer square root * fsm: Change semantics of LOGPFSML() log-level * vty: Don't dump deprecated commands in XML export * vty: Add logging_vty_add_deprecated_subsys * gsup: Add osmo_gsup_get_err_msg_type() function * gsup: Add value_string for Session State IE * gsm 04.80: Add value_string for component type and op code * Fix embedded (arm-none-eabi) builds * jenkins_arm.sh: Don't run 'make check' on embedded builds * jenkins_arch.sh: Accept "arm-none-eabi" as alias for "arm" * jenkins_arch.sh: Exit with error on unknown architecture * Don't call abort() directly, always use osmo_panic() * osmo_panic(): Annotate as __attribute__ ((noreturn)) * gprs_ns.h: Declare gprs_ns_cause_str() which already existed in c file [ Stefan Sperling ] * define a constant for the max length of called party BCD IE * introduce vty_out_rate_ctr_group_fmt() function * Add a 'show rate-counters' VTY command. * remove unused argument from pad_append_ctr() helper function * check bssgp_tlv_parse() return code in bssgp_rcvmsg() * return error to sender upon bssgp_tlv_parse() failure [ Neels Hofmeyr ] * add gsm0808 channel enum to IE val conversion functions * add gsm0808_cell_id_to_list() * add support for gsm0808 HANDOVER REQUIRED message * add gsm0808_create_handover_request_ack() * add osmo_fsm_inst_state_chg_keep_timer() * fix gsm0808_permitted_speech(): don't return HR3 for TCH_F + AMR * add and tweak inter-BSC HO API * vty/command.c: talloc from tall_vty_cmd_ctx, not NULL * vty: cosmetic: cmd_deopt(): use talloc_strndup(), not memcpy() * vty: fix use-after-free and memleaks in is_cmd_ambiguous() * utils_test: fix isqrt_test calculation range * utils_test: check stderr to catch sanitizer issues * add osmo_sockaddr_to_str_and_uint() [ Philipp Maier ] * fsm: guard action callback * gsm_04_08: add function to get value string * gsm_08_08: gsm0808_permitted_speech does not have value strings [ Thorsten Alteholz ] * fix spelling [ Keith ] * Add enum gsm48_cause_coding from GSM 04.08 Section 10.5.4.11 * Add enum gsm48_progress_desc [ Daniel Willmann ] * ports.h: Add ctrl port for osmo-gbproxy * Add function gprs_nsvc_state_append * stats_vty: Add asciidoc sections between the different counters [ Vadim Yanitskiy ] * gsm0480: fix: don't overwrite the data of RELEASE_COMPLETE * GSUP: implement TCAP-like session management * GSUP: introduce new messages for SS/USSD payloads * Doxygen: gitignore generated files for libosmoctrl * gsm/gsm0480.c: introduce gsm0480_extract_ie_by_tag() * gsm/gsm0480: refactor and expose gsm0480_parse_facility_ie() * Don't enforce Python 2 for utilities [ Alexander Chemeris ] * coding: Fix (E)GPRS BER calculation to correctly account for puncturing. * coding: Documentation typo fix. [ Alexander Couzens ] * vty: initialize termios before using it * stats_statsd: sanitize statsd name -- Pau Espin Pedrol Fri, 27 Jul 2018 17:31:46 +0200 libosmocore (0.11.0) unstable; urgency=medium [ Max ] * Enable GnuTLS fallback * Ctrl: add rate counter group introspection * ctrl: log incorrect interval values * Improve get_rate_ctr() error handling * ctrl: make response easier to parse * coding test: cosmetic cleanup * coding test: enable debug output * coding test: move bit dump into functions * coding test: use OSMO_ASSERT * Fix embedded build * embedded: fix tests * Embedded: fix sercomm test * Add functions for extended RACH coding * Do not allocate already existing counter group * Fix incorrect spec reference * Use 127.0.0.1 for GSMTAP logging by default * coding: move eB adjustement to appropriate place * Add function to properly encode RAI * Use existing function for TLLI encoding * log: print loginfo assertions source * Allow multiple 'log gsmtap' sinks * Deprecate gsm48_construct_ra() * Log lapd_datalink state on errors * jenkins: add dispatcher script * Embedded: disable stats test * Embedded: add sercomm stubs * GSUP: don't fail test on first error * jenkins: remove obsolete scripts * jenkins: move make invocation into shared function * utils: add helper wrapper for osmo_strlcpy() * GSUP: change osmo_gsup_encode() return type * Use python 3 for utilities * Add test for gsm48_generate_mid_from_imsi() * Add generic Mobile Identity encoder * Add function to encode classmark [ Niro Mahasinghe ] * gsm0503_coding.c: Fix tch_efr_unreorder() of one bit * gsm0503_coding.c: Use majority vote in tch_efr_unreorder() [ Harald Welte ] * debian: build now depends on libgnutls * Fix/Update copyright notices; Add SPDX annotation * Print /proc/cpuinfo before executing testsuite * conv_acc: Our code requires SSSE3, not just SSE3 * ports.h: Use same VTY port number for osmo-mgw and osmo-bsc_mgcp * gsmtap.h: Introduce new GSMTAP type for LTE NAS messages * gsm0808_create_cipher_reject: Fix encoding of Cause IE * rate_ctr: print proper error message if rate_ctr already exists * timer: fixup whitespace issues * control_if: Close control connection socket/fd on read/write == 0 * control_if: Log the disconnect of a CTRL client * CTRL: Ensure peer/connection info is always printed the same way * MNCC: Add MNCC to string dumper * gsm48_pdisc_names: Use conscise, short names * SMS: Add value_string for TS 04.11 CP and RP state * gsm_04_08.h: Clearly annotate timers that don't have a 3GPP Default value * gsm_04_08.h: Reduce T310 default to 30s. * gsm48_hdr_msg_type[_r99]: Fix bit-masks * gsm48_hdr_msg_type(): SS is in the same group as MM/CC * tlv_parser: Report *first* occurrence of repeated IEs * msgb: Add msgb_hexdump_{l2,l3}() to dump l2 or l3 part of message buffer * Revert "Use python 3 for utilities" * Revert "fsm: do not terminate child FSMs early" * osmo_msgbdump_{l2,l3}(): Proper typecast * debian/control: Fix Vcs-Browser URL * Add GSM 04.08 type-of-number / numbering-plan-id definitions * talloc_ctx_vty: Fix help strings (missing \n at end of line) * Revert "Add function to encode classmark" * rate_ctr: Add rate_ctr_inc2() as convenience wrapper * coding: Add BER-reporting RACH decode functions * l1sap: Add RSSI, BER and quarter-bit accurate timing to PH-RACH.ind * l1sap: Add fields for higher-precision timing offset values * abis_nm: Introduce abis_nm_dump_foh() * VTY: Don't welcome the user to the "control" interface, if it's VTY * prevent integer underflow in ipa_ccm_make_id_resp_from_req() * RSL/LAPDm: Not all RLL message are "transparent" [ Neels Hofmeyr ] * vty: deprecate now empty node commands * memleak: osmo_config_list_parse: getline() needs free also on error * abis_test: sanitize: fix msgb memleak * lapd_test: sanitize: fix msgb memleaks * gsm0408_test: sanitize: cleanup msgb * gsm0808_test: sanitize: fix msgb memleak * msgb: add inline msgb_queue_free() * rate_ctr: fix mem leak for mangled desc * bssgp_fc_test: remove rounding to deciseconds * bssgp_fc_test: clarify by outputting ok / failure messages * bssgp_fc_test: sanitizer: free msgb context when done * gprs_bssgp: bssgp_fc_in(): fix mem leak on queue overflow * bssgp_fc_test: sanitize: free fc struct when done * tlv_put: guard against NULL val and 0 len * sercomm_test: sanitize: fix msgb mem leak * osmo_strlcpy: sanitize: don't memcpy from NULL src even if len is 0 * fsm_tmr_cb: don't set T=0, the fi may no longer exist * vty XML export: avoid repeating common node commands for each node * VTY reference: do not list empty nodes * VTY reference: use node names as section names * vty: set name for VIEW+ENABLE nodes, for VTY reference * vty reference: merge_doc.xsl: do not omit description tag * comment: utils: more accurately describe OSMO_STRINGIFY macro * logging vty: describe 'logging set-log-mask' command, add OSMO_STRINGIFY_VAL() * fix osmo_identifier_valid(): only allow printable characters * utils: add osmo_separated_identifiers_valid() * add osmo_auth_c3() (separate from gsm_milenage()) * utils: add osmo_escape_str() * ctrl_test.c: replace print_escaped() with new osmo_escape_str() * ctrl: prep test: separate new ctrl_handle_msg() from handle_control_read() * ctrl_test: expand to test message handling and detect mem leaks * ctrl_test: show memleak when receiving GET_REPLY and SET_REPLY commands * ctrl: fix mem leak when handling GET_REPLY and SET_REPLY * ctrl_test: add two more current parsing bugs to prep for fix * add ctrl_cmd_parse2() to return parsing errors * ctrl: on parse errors, return a detailed message to sender * rate_ctr: fix osmo-sgsn DoS: don't return NULL on already used index * ports: define proper VTY and CTRL ports for OsmoHNBGW * ctrl: tighten CTRL input parsing * ctrl: separate handling of GET_REPLY, SET_REPLY and TRAP * jenkins: add 'make V=1' for more verbose build logs * logging vty: tweak general 'logging' command doc * gsm: add gsm0808_speech_codec_type_names * logging-gsmtap: send only basename of source file * logging: add ability to log the log-level with API and vty * logging: color the log level * logging: color the log category according to level * fix -Werror build: logging.c: always use literal with snprintf * cosmetic: logging: if color is disabled, don't print "" * logging: separate the '<000b>' subsys from filename logging * logging: allow to log only the basename of each source * logging vty: add 'logging print file (0|1|basename)' cmd * vty: fix 'logging print file' output * gsmtap_sendmsg(): clarify API doc concerning msgb ownership * memleak: gsmtap_sendmsg(): don't return 0 when no data was written * memleak: fix all libosmocore callers of gsmtap_sendmsg() to free on failure * memleak: _gsmtap_raw_output(): free msg in case of vsnprintf failure * cosmetic: gsm0408_test: RA test cases as array-of-struct * gsm0408_test: cosmetically re-order MCC to come before MNC * gsm0408_test: include BCD and leading zeros in test output * gsm0408_test: RA test: include min/max value cases * gsm0408_test: also test gsm48_generate_lai() and gsm48_decode_lai() * implement support for 3-digit MNC with leading zeros * gsm0408_test: check for new mnc_3_digits flag * gsm0408_test: test new gsm48_{decode,generate}_lai2() functions * gsm0408_test: add test cases for MNC with leading zeros * gsm: add osmo_mnc_from_str(), osmo_mnc_cmp(), osmo_plmn_cmp() for 3-digit MNC * introduce GSM_MCC_MNC_INVALID * gsm23003_test: fix: compare members instead of bcmp * fix osmo_mnc_from_str(): don't try to parse NULL * gsm23003: add osmo_mcc_from_str() * configure: add --enable-werror * jenkins_amd64.sh: use --enable-werror configure flag, not CFLAGS * gsm0808_test: cosmetic: re-arrange struct init; print hexdump on failure * gsm0808_test: cosmetic: test non-hex MCC * show failure in gsm0808_enc_cell_id_list2() in gsm0808_test * fix gsm0808_enc_cell_id_list2 for leading-zero MNC * cosmetic: gsm0808_test: drop extraneous assertion * contrib/fsm-to-dot: add -h option to print basic instructions * contrib/fsm-to-dot: allow transition from and to the same state * contrib/fsm-to-dot: don't match on event names in comments * contrib/fsm-to-dot: warn and draw unallowed state transitions * contrib/fsm-to-dot: add default edge label '-' * contrib/fsm-to-dot: mark arrows that feed events * contrib/fsm-to-dot: less false positives on event parsing * contrib/fsm-to-dot: mark illegal states in red * contrib/fsm-to-dot: warn about identically named FSMs * vty/command.c: write_config_file(): sanely compose temp path * fix logging talloc ctx: add osmo_init_logging2() * ctrl: test deferred cmd, show current failure * ctrl: fix deferred commands (and hence fix osmo-bts-sysmo 'clock-info' cmd) * cosmetic: flatten ctrl_handle_msg() * fix ctrl_test sanitizer issues * use osmo_init_logging2() with proper talloc ctx * add osmo_quote_str(),osmo_quote_str_buf() and test * fsm_test: terminate the main loop instead of exit on timeout * osmo_fsm_inst_find_by_name(): guard against strcmp(NULL) * fsm_test: more thoroughly test FSM inst ids and names * fsm: id: properly set name in case of NULL id * cosmetic: osmo_fsm_inst_update_id(): don't log "allocate" * add osmo_fsm_inst_update_id_f() * add gsm48_reject_value_names * deprecate PLMN de-/coding functions incapable of 3-digit MNC with leading zeros * avoid warning in gsm0808_create_layer3 * add osmo_cgi_name() * add gsm0808_cell_id_list_add() to combine two cell identifier lists * add tlv_parse2(), capable of multiple instances of the same IE * add gsm0808_{enc,dec}_cell_id * test_gsm0808_enc_dec_cell_id_list_lac(): validate encoded bytes * test_gsm0808_enc_dec_cell_id_list_lac(): populate all LACs * test_gsm0808_enc_dec_speech_codec_with_cfg: initialize properly * cosmetic: log: fix typo, clarify msg for rate_ctr name mangling * tlv: add TLV_GET() and TLV_GET_MINLEN() * add gsm0808_cell_{id,id_list}_name() and friends * gsm0808_test: fix more missing inits (address sanitizer issues) * gsm0808_test: silence deprecation: use gsm0808_create_layer3_2() [ Philipp Maier ] * vty: add port number for osmo-mgw * libosmocodec: add FR bit offset definitions * libosmocodec: implement ECU (Error Concealment Unit) for FR * fsm: fix double llist_del in osmo_fsm_inst_term() * socket: fix socket leak in osmo_sock_local_ip() * socket: use inet_ntop() instead of inet_ntoa() in osmo_sock_local_ip() * fsm: add functions for unlinking and changing parents * fsm: do not terminate child FSMs early * fsm: allow graceful exit on FSM termination * features: move bts feature related functionality to libosmocore * features: define osmo_bts_*_feature() as static inline * gsm_08_08: correct speech codec defaults * gsm0808: Add value strings for BSSMAP cause codes [ Pau Espin Pedrol ] * vty: Fix bad use of vector_slot() * gsm: Use correct include for getrandom * utils: Fix false positive in compiler warning * cosmetic: Fix trailing whitespace * Fix malformed Abis/RSL messages with extra L3 Information field * tests: coding_test: Fix compilation with -O0 * tests: utils_test: Fix test failure when compiling with -O0 * ports.h: Add VTY and CTRL ports for osmo-trx * core: Add timespec helper macros and make timer_compat.h public * core/logging.h: Add logging category for jitter buffer * timer: Introduce osmo_clock_gettime to override clock_gettime * timer: Document osmo_gettimeofday API * osmo-release.sh: Set correct version when generating the changelog * socket.c: osmo_sock_init2: bind: Several logic fixes and log improvements * socket.c: osmo_sock_init2: connect: Several logic fixes and log improvements * socket.c: osmo_sock_init: Several logic fixes and log improvements * msgb: msgb_get: Drop unneeded tmp var * msgb: msgb_pull: Abort when pulling more than avail size * osmo_get_macaddr: Fix buffer read out of bounds * osmo_sockaddr_is_local: Fix memleak * gsm_08_58.h: Add Ericsson vendor-specific RSL message types * osmo-release.sh: Remove temporary file TODO-RELEASE.entries after use * osmo-release.sh: Exit with error if no description for new changelog entry provided * osmo-release.sh: Fix error condition no LIBVERSION modified * osmo-release.sh: Always generate entire commit changelog * osmo-release.sh: Allow user to add extra information to the release commit * debian: libosmoctrl: Use correct library version in pkg name * debian/changelog: Fix typo in maintainer e-mail [ Holger Hans Peter Freyther ] * logging: Extend the LOGPSRC macro to put cont in it as well * license: Fix the license to GPL [ Alexander Couzens ] * counters: add osmo_counters_count() returns the amount of counters * vty: show asciidoc counters: don't create an empty table for osmo_counters * gsm_08_58.h: introduce RSL_IE_ERIC_PAGING_GROUP * gsm_utils: call gnutls_global_init() as constructor [ Jean-Francois Dionne ] * Fix LAPD UA msgb memory leak. [ Vadim Yanitskiy ] * libosmocodec: add FR/HR/EFR frame length definitions * ussd_test.c: fix rc / len debug output confusion * gsm0480: fix USSD OCTET STRING length confusion * gsm0480: clean up the parse_process_uss_req() code * gsm0480: handle UnstructuredSS Request with DSC != 0x0F * gsm0480: parse GSM0480_MTYPE_FACILITY separately * gsm0480: handle GSM0480_CTYPE_RETURN_RESULT * gsm0480: handle USS_NOTIFY and USS_REQUEST with PROCESS_USS_REQ * gsm0480: handle GSM0480_OP_CODE_PROCESS_USS_DATA * gsm0480: add specification reference to SS message type * gsm0480: pass exact GSM 04.80 payload length to parse_ss() * gsm0480: move SS request length check to parse_ss() * gsm0480: refactor gsm0480_decode_ss_request * gsm0480: correct parse_ss_info_elements() declaration * tests/ussd: fix wrong GSM 04.80 payload length * gsm0480: parse all SS info elements in a message * gsm0480: parse optional IEs for RELEASE COMPLETE message * tests/ussd: prevent uninitialized memory access * libosmocoding: fix typo in library documentation * libosmocoding: use frame length definitions from codec.h * src/msgb.c: cosmetic: fix spelling mistakes * src/msgb.c: remove dead includes from OpenBSC * src/msgb.c: print an error if msgb allocation failed * src/msgb.c: avoid using internal talloc API * gsm0480: document the 'ss_request' structure * gsm0480: copy the raw USSD data, its DCS and length * gsm0480: drop messages with incorrect data length * protocol/gsm_04_08.h: drop incorrect GSM48_PDISC_USSD * gsm/gsm48.c: add call independent SS message names [ Stefan Sperling ] * TLVP_PRESENT() should not return TRUE after tlv_parse() fails. * Add helper functions for ACC bit flags in rach control IE. * ensure that osmo_fsm vty commands are only installed once * print BIG FAT ERROR message if osmo_fsm lacks event names * ensure VTY commands don't segfault if an FSM has no event names * support for more cell ID list types in libosmocore * fix a cell identifier parsing bug in libosmocore * fix cell identifier decoding in libosmocore * use gsm48_decode_lai2() in gsm0808_dec_cell_id_list() * fix bug in parse_cell_id_ci_list() * fix parse_cell_id_lac_and_ci_list() * add a test for CELL_IDENT_WHOLE_GLOBAL cell identifier lists * add a regression test for TLV parsing with repeated IEs [ Sergey Kostanbaev ] * gsm0480: skip length check for 'RELEASE COMPLETE' message [ allesklar2 ] * gsmtap.h: define TETRA DMO mode channels [ Martin Hauke ] * build: Ensure all .pc files are installed [ Daniel Willmann ] * fsm: Add a function to change the FSM instance ID later * contrib/jenkins_arch.sh: Fix script comparison and arm support * fsm: Update the name as well if the id is updated and accept NULL [ Thorsten Alteholz ] * fix spelling * fix issue on big endian architecture -- Pau Espin Pedrol Thu, 03 May 2018 15:47:11 +0200 libosmocore (0.10.2) unstable; urgency=medium * Revert "vty: Fix bad use of vector_slot()" * New upstream release of libosmocore -- Harald Welte Thu, 02 Nov 2017 18:51:02 +0100 libosmocore (0.10.1) unstable; urgency=medium * New upstream release of libosmocore -- Harald Welte Sun, 29 Oct 2017 10:46:47 +0100 libosmocore (0.10.0+nmu1) UNRELEASED; urgency=medium * Non-maintainer upload. * New upstream release of libosmocore -- Harald Welte Fri, 27 Oct 2017 19:45:00 +0200 libosmocore (0.9.6) unstable; urgency=medium * doc: osmocom-authn-protocol.txt: fix numbering, mark unused sync msgs * New upstream release of libosmocore. -- Max Tue, 13 Dec 2016 18:23:56 +0100 libosmocore (0.9.5) unstable; urgency=medium * fix: DLGSUP logging category "unusable" * New upstream release of libosmocore. * ph_data_param struct changed / Extend L1SAP PH-DATA with measurement information * size of ph_tch_param struct changed / Extend with RTP Marker * size of struct log_target changed / Extend with GSMTAP -- Max Tue, 13 Dec 2016 18:22:56 +0100 libosmocore (0.9.4) unstable; urgency=medium * New upstream release of libosmocore. * Internal API for GPRS cipher implementors updated to accommodate for arbitrary key lengths * external talloc dependency / internal talloc removal * size of ph_data_param struct changed / Extend L1SAP PH-DATA with presence information -- Max Tue, 13 Dec 2016 18:21:56 +0100 libosmocore (0.9.3) unstable; urgency=medium * Send all stats values after re-configuration. * Fix using an empty prefix. * Fix sending timing values. -- Holger Hans Peter Freyther Mon, 09 Nov 2015 21:34:37 +0100 libosmocore (0.9.2) unstable; urgency=medium * Fix the counter index after the NS reset. -- Holger Hans Peter Freyther Wed, 04 Nov 2015 14:47:48 +0100 libosmocore (0.9.1) unstable; urgency=medium * Fix rate_ctr attribute for GPRS NS counters. -- Holger Hans Peter Freyther Wed, 04 Nov 2015 10:23:39 +0100 libosmocore (0.9.0) unstable; urgency=medium * StatsD support * Disable building of static libraries * GTP Hub and OAP ports/identifiers assigned -- Holger Hans Peter Freyther Tue, 03 Nov 2015 09:31:41 +0100 libosmocore (0.8.3) unstable; urgency=medium * Prepare new release -- Holger Hans Peter Freyther Sun, 23 Aug 2015 17:38:55 +0200 libosmocore (0.8.2) unstable; urgency=medium * Add endian header * GPRS flow control changes * Add APN format routines to libosmocore. -- Holger Hans Peter Freyther Sat, 01 Aug 2015 20:18:45 +0200 libosmocore (0.8.0) unstable; urgency=medium * New upstream release of libosmocore. -- Holger Hans Peter Freyther Sun, 18 Jan 2015 19:04:10 +0100 libosmocore (0.7.0) unstable; urgency=medium * New upstream release of libosmocore. -- Harald Welte Thu, 21 Aug 2014 15:52:00 +0200 libosmocore (0.6.6) UNRELEASED; urgency=medium * New upstream release of libosmocore. -- Holger Hans Peter Freyther Mon, 31 Mar 2014 15:37:33 +0200 libosmocore (0.6.5) unstable; urgency=medium * New upstream release of libosmocore -- Holger Hans Peter Freyther Mon, 20 Jan 2014 10:37:23 +0100 libosmocore (0.6.4+git3) unstable; urgency=low * GPRS fix NS connections to a SGSN when configured via VTY -- Jacob Erlbeck Thu, 07 Nov 2013 16:07:20 +0100 libosmocore (0.6.4+git2) unstable; urgency=low * GPRS related changes, some GSM encoding/decoding changes * GPRS correctly determine routable NSVC. * Update with GPRS changes -- Holger Hans Peter Freyther Thu, 10 Oct 2013 14:16:37 +0200 libosmocore (0.6.3+git1-1) unstable; urgency=low * New upstream release with new primitives, USSD fixes. * Split libosmocore into several package. One lib per package. -- Holger Hans Peter Freyther Fri, 09 Aug 2013 17:47:30 +0200 libosmocore (0.6.2) unstable; urgency=low * New upstream release with NS UDP DSCP ABI changes -- Holger Hans Peter Freyther Wed, 26 Jun 2013 08:01:55 +0200 libosmocore (0.5.3+git1-6) unstable; urgency=low * Build new package with the new API required for osmo-bts/openbsc * Package the arfcn utility. * Add the SOCK_RAW work-around for glibc. * Re-enable the debug packages thanks to Jan. -- Holger Hans Peter Freyther Fri, 04 Jan 2013 09:54:55 +0100 libosmocore (0.5.3+git1-2) unstable; urgency=low * New upstream version -- Holger Hans Peter Freyther Mon, 05 Nov 2012 21:35:57 +0100 libosmocore (0.5.3+git1-1) precise; urgency=low * Fix issue with package version. -- Eric Butler Tue, 14 Aug 2012 20:43:17 -0700 libosmocore (0.5.3+git1) precise; urgency=low * Updated debian package. -- Eric Butler Tue, 14 Aug 2012 16:53:56 -0700 libosmocore (0.3.0) natty; urgency=low * New upstream version of libosmocore -- Harald Welte Tue, 10 May 2011 17:28:24 +0200 libosmocore (0.1.27) natty; urgency=low * New upstream version of libosmocore. -- Holger Hans Peter Freyther Thu, 13 Jan 2011 18:07:36 +0800 libosmocore (0.1.17-1) unstable; urgency=low * Initial release -- Harald Welte Tue, 24 Aug 2010 10:55:04 +0200