2014-01-05 Alfred E. Heggestad * Version 0.4.7 * build: added support for LLVM clang compiler * dns: added support for getting Android nameserver address * ice: minor debug tuning * sipsess: only send INFO when dialog is established 2013-11-12 Alfred E. Heggestad * Version 0.4.6 * bfcp: fix bitwise operator for bool (thanks Tomasz Ostrowski) * dns: do not connect the UDP socket * ice: fix deref of NULL-pointer (thanks Tomasz Ostrowski) * rtp: add support for RTCP AFB (Application-layer Feedback) make RTCP decoding more robust * udp: udp_connect() -- add peer address add udp_error_handler_set() 2013-10-03 Alfred E. Heggestad * Version 0.4.5 * udp: add functions for joining/leaving multicast groups * fmt: re_regex() fix va_end robustness * rtp: set sequence number in range 0-32767 * sa: sa_print_addr() fix build when HAVE_INET6 is not set 2013-08-27 Alfred E. Heggestad * Version 0.4.4 * base64: added base64_print() * http: added HTTP (Hypertext Transfer Protocol) parser * ice: cleanup and minor bug fixes * main: added external mutex for re_main() loop * sdp: added sdp_media_set_alt_protos() added sdp_media_proto() * stun: make API compatible with C++ fix endianess-bug in STUN attributes * sys: sys_rel_get() detect new kernels * tls: fingerprint: add SHA-256 proper error handling, call ERR_clear_error() 2013-05-05 Alfred E. Heggestad * Version 0.4.3 * bfcp: added udp * dns: added doxygen comments * fmt: added str_cmp() * mbuf: make mbuf_get_left() and mbuf_get_space() more robust added mbuf_fill() * mod: fixed a bug in mod_find() * mqueue: move handler to mqueue_alloc() * sa: fix building on some Windows platforms * sdp: added sdp_session_lbandwidth() added sdp_media_set_fmt_ignore() * stun: make stun_msg_vencode() public unlink element from attribute-list in destructor * tcp: make fd handling more robust * tls: added tls_get_remote_fingerprint() 2012-08-10 Alfred E. Heggestad * Version 0.4.2 * added debian build * build: fix building for Ubuntu 12.04 * re_types: increase ERRNO values * fmt: re_printf() add support for %m to print errno description added str_error() * hash: added hash_clear() * list: added list_clear() * net: added net_if_getlinklocal() * rtp: added rtcp_set_srate_tx/rx() rtcp_msg_print(): add all types * sa: added sa_print_addr() * sdp: added media encode handler sdp_format_add(): added fmtp encode handler (breaks API) * sip: handle merged SIP requests (482 Loop Detected) added doxygen comments * sipevent: fix bug in handler argument * sys: added sys_username() added fs_mkdir() and fs_gethome() * tcp: added tcp_conn_txqsz() fix enqueue buffer size handle scopeid for IPv6 linklocal * tmr: added tmr_status %H handler * udp: handle scopeid for IPv6 linklocal 2012-04-21 Alfred E. Heggestad * Version 0.4.1 * updated doxygen comments for sdp and tls * dns: dnsc_srv_set: copy DNS servers to fixed-size array * fmt: added str_isset() added fmt_param_exists() * rtp: fix lock protection of RTCP txstat during read * sdp: sdp_media_align_formats: move unsupported codecs to end of list * sip: limit startline to max 8192 bytes limit tcp buffersize to max 65536 bytes * tcp: limit the size of the tcp send queue 2011-12-25 Alfred E. Heggestad * Version 0.4.0 * updated doxygen comments * build: add support for CMake (thanks to Stefan Radomski) clean up OS and ARCH detection * dns: fix potential infinite loop in dname decode * sip: change struct sip_via transp to enum sip_transp (breaks API) added sip_transp_isladdr() and sip_transp_port() added sip_dialog_fork(), sip_dialog_lseq(), sip_dialog_established(), sip_dialog_cmp_half() * sipevent: new module for SIP Event framework (RFC 3265, RFC 3515) * sys: add portable sys_usleep() and sys_msleep() * tcp: add tcp_send_helper() * tls: add support for DTLSv1 (Datagram TLS) tls_alloc: add tls_method and layer (breaks API) tls_tcp: use custom BIO to send data * tmr: optimize tmr_start() where delay == 0 * turn: add stun_msg to turnc handler (breaks API) * udp: add udp_send_helper() 2011-09-07 Alfred E. Heggestad * Version 0.3.0 * build support for native mingw32 (thanks to Michael Erskine) * bfcp: new module for The Binary Floor Control Protocol (RFC 4582) * g711: module moved to librem * sipreg: fix a bug in failwait() calculation * stun: add support for STUNS (secure STUN) * tcp: added tcp_set_handlers() * turn: added send/recv functions 2011-05-20 Alfred E. Heggestad * Version 0.2.0 * updated doxygen comments * conf: added conf_get_bool() * dns: fixed a bug in get_resolv_dns() * fmt: added pl_x64() pl_float() fmt_gmtime() * hash: added hash_valid_size() * httpauth: clean up API * ice: many improvements and bugfixes * main: fix a bug if re_main() fails * mbuf: added mbuf_debug() * natbd: fixed some race conditions and memory leaks * rtp: added rtcp_enable_mux() (RFC 5761; RTP and RTCP multiplexing) * sdp: fixed setting RTCP port if RTP port is zero * sip: added support for SIP Outbound (RFC 5626) added sip_msg_hdr_count() sip_msg_xhdr_count() added sip_msg_hdr_has_value() sip_msg_xhdr_has_value() added sip_auth_reset() handle multiple authenticate headers with equal realm value fixed a bug with loose-routing in Route header fixed decoding of Via header * sipreg: added support for SIP Outbound (breaks API compatibility) * sipsess: fix a bug in sipsess_reject() if fmt is NULL * tcp: update tcp_register_helper() (breaks API) * tmr: removed tmrl from 'struct tmr' (breaks ABI) added tmr_isrunning() * udp: update udp_register_helper() (breaks API) * uri: fix optional username in uri_decode() 2010-11-05 Alfred E. Heggestad * Version 0.1.0 * Initial Release