123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411 |
- eXosip2 (5.2.1) - 2020-05-21
- * [ENABLE_MAIN_SOCKET] fix epoll mechanism for server socket with TCP and TLS
- * [crash] check scheme upon processing 3xx
- * [ssl] fix to be compatible with libressl
- * [ssl] https://savannah.nongnu.org/patch/?10046 compatibility with openssl below 1.1.0
- * fix when Content-Type indicates application/sdp, but there is no body
- * [TLS] modify the code for TLS validation in order to improve logs and details on the connection
- * use time_t instead of int for r_retry_after_delay variable [fix 1367a34ca commited on March 1st]
- * eXosip_default_action will return OSIP_RETRY_LIMIT when limit is reached
- * make sure to obey the Retry-After header from REGISTER reply
- * use newer osip_timersub MACRO
- * [bug#60024] fix openssl usage to always use callback mode for private key password, even when missing
- * eXosip_reset_transports was not effective any more since [5.1.2] [commit 705643fa 2020-07-07] [do not use unless you understand it]
- * [windows] a HANDLE is leaked when loading trusted certificates
- * dp layer: handle WSAEMSGSIZE when buffer is too short for complete incoming messag
- * cleaner code to retreive an SDP from a SIP message
- * fix crash when ENABLE_MAIN_SOCKET is defined and epoll is used
- eXosip2 (5.2.0) - 2020-11-10
- * fix memory and socket leak [major] [affected TCP, TLS, UDP: since 5.1.2, need update asap]
- * fix to make sure a non yet established TLS descriptor with read descriptor set will be processed when no outgoing transaction is in a state to handle it [since 5.1.2]
- * fix SRV rotation for TLS [was rotating TCP records instead of TLS] [since 5.1.2]
- * fix duplicate packets for TCP and TLS when several outgoing NICT are happening at the same time [since 5.1.2]
- * add outbound proxy parameter in sip_monitor tool
- * ABI update: modification of "eXosip_tls_ctx_t"
- extend the structure to set
- - cipher list
- - add TLS openssl flags (to disable TLSv1, TLSv1.1, etc...)
- - add DTLS openssl flags (to disable DTLSv1, etc...)
- eXosip2 (5.1.3) - 2020-08-25
- * EXOSIP_OPT_FORCE_CONNECTIONREUSE; new option to force reusing established socket for ACK and dialog message
- * tls: fix building DH parameter with 5.1.2 and openssl < 1.1.0
- eXosip2 (5.1.2) - 2020-08-20
- * tls: use RFC 5114 dh param with 2048 bits size.
- * tls: use 2048 bits for ephemeral RSA key genearation.
- * tls: use SSL_OP_NO_COMPRESSION to make sure it's disabled.
- * tls: use SSL_OP_NO_TICKET to disable ticket.
- * tls: use HIGH:!COMPLEMENTOFDEFAULT:!kRSA:!PSK:!SRP cipher list for higher security and less ciphers
- * fix possible race condition in sample code [sip_reg and sip_monitor]
- * new format style using clang-format.
- * reduce and rewrite logs for readability.
- * fix broken epoll implementation. (DO NOT USE 5.1.1 with epoll)
- * rewrite UDP/TCP/TLS (and DTLS untested) for both select and epoll mode.
- complete rewrite of socket (c-ares and UDP/TCP/TLS) in order to accelerate
- socket esablishement, and correctly handle socket failure. The change also
- help to recover faster after a socket failure and to switch to the next SRV
- record available. This last feature was previously broken.
- * Fix NAPTR/SRV on windows when CARES is not used. (not advised)
- * ACK sent out of transaction with no existing connection may be sent later. (TCP/TLS)
- * Upon TLS loss, try to use domain or NAPTR SNI when TLS connection is not initiated by an outgoing transaction.
- * sip_monitor: new tool to monitor sip service
- * add support for authentication using SHA-256 (openssl required)
- * only use first supported proposed authentication when same realm is used
- * fix: upon UDP errors, like ICMP buffer size may reach abnormal values (avoid useless reallocation)
- eXosip2 (5.1.1) - 2020-01-16
- * new API:
- Generate random string: (low entropy, only hexa)
- int eXosip_hexa_generate_random(char *val, int val_size);
- Generate random string: (high entropy when compiled with openssl)
- int eXosip_byte_generate_random(char *val, int val_size)
- * provide more entropy with eXosip_byte_generate_random (with openssl when available).
- * fix TLS security issue reported by Alexander Traud regarding hostname validation when using NAPTR/SRV.
- * add support for epoll (detected by configured) // becomes the default on linux platforms with autotools
- * fix bug #56839: The cnonce should not be static -this is identified as replay attack by some services-.
- * fix tcp and tls connection failure detection (accelerate error detection and recovery)
- * fix: fixed a crash with DTLS
- eXosip2 (5.1.0) - 2019-03-27
- * minor API update:
- API parameter change: eXosip_call_build_ack/eXosip_call_send_ack API to use tid instead of did as parameter.
- * new API: add an API to insert one extra header in BYE:
- int eXosip_call_terminate_with_header(struct eXosip_t *excontext, int cid, int did, const char *header_name, const char *header_value);
- void eXosip_dnsutils_release(struct osip_naptr *naptr_record); required after usage of eXosip_dnsutils_naptr.
- * new OPTION:
- EXOSIP_OPT_SET_SESSIONTIMERS_FORCE option to force session timer to be used when remote side does not support it.
- * structure change:
- new param in eXosip_tls_credentials_t for pinning: "public_key_pinned". A file with the expected public key of server.
- If you use eXosip_tls_ctx_t/eXosip_tls_credentials_t/EXOSIP_OPT_SET_TLS_CERTIFICATES_INFO, you need to recompile.
- * fix processing response out of transaction. (avoid incorrect logs and extra work)
- * fix https://savannah.nongnu.org/bugs/?54628 where ACK was only retransmitted for initial outgoing INVITE.
- fix: retransmit ACK for both initial INVITE and re-INVITE.
- fix: retransmit ACK for 2xx from forking (with a BYE) even if call does not exist.
- ACK for "old transaction" within the established dialog won't be retransmitted because the parameter only hold the latest ACK.
- * fix bug report: https://savannah.nongnu.org/bugs/index.php?54624
- another patch to fix more issue related to cseq & PRACK.
- The newer code better handle forking use-case with PRACK.
- The newer code better handle several 1xx from same user.
- * fix bug report: https://savannah.nongnu.org/bugs/index.php?54624 cseq wasn't increasing after a PRACK.
- * improve portability code, detection of headers, windows compilation detection, sockaddr_storage was not correctly defined.
- * fix udp layer: set ipbuf before using it.
- * fix: allow socket descriptor to be 0 (posix requirement).
- * fix: compile with any openssl version.
- * allow compilation with OPENSSL_NO_DH, OPENSSL_NO_RSA, OPENSSL_NO_ECDH and/or OPENSSL_NO_DEPRECATED.
- * remove old windows specific RSA obsolete code.
- * add in eXtl_tls.c some explanations on usage of TLS with eXosip2. READ THEM.
- * improve reliability for naptr/srv lookup (but still a short time).
- * fix/improve _eXosip_mark_registration_expired: it was working correctly only if registration had previously failed.
- * fix: attach call/dialog to CANCEL transaction (so EXOSIP_CALL_MESSAGE_ANSWERED will be received instead of EXOSIP_MESSAGE_ANSWERED).
- * windows: fix DnsQuery to use UTF8 even if compiled without UNICODE (not applicable if you use c-ares).
- * windows: add ENUM capability and improve NAPTR/SRV record (not applicable if you use c-ares).
- * windows: you should use c-ares AND you should compile with UNICODE. (much better).
- * add ability to define a dnsserver when doing NAPTR and SRV record (c-ares only).
- * format of domain string for "eXosip_dnsutils_naptr" is "domain.com!+AUS|IP_DNSSERVER".
- * fix for on android, DNS are not available any more (restricted access) (c-ares only).
- * add support ENUM and regex for res_query API (not applicable if you use c-ares).
- * sync with newer osip: use newer osip_naptr & osip_srv_record structures to hold ENUM sip result and
- improvements to retreive (and release) it via eXosip_dnsutils_naptr and eXosip_dnsutils_release APIs.
- * TLS improvments: simplify client and server config, add ECDH cipher suite if missing,
- password for private key is optional, add support for public key pinning.
- * improve to report EXOSIP_CALL_NOANSWER upon transport error for INVITE for faster detection.
- * fix possible memory leak for X509 server certificate.
- * fix crash if dialog has been already closed between 200ok and a received BYE.
- * improve windows pipe replacement (use a free allocated port automatically).
- * fix to optimize detection of TCP or TLS establishement, fix to optimize sending REGISTER after establishement.
- * patch for call transfer to keep dialog after BYE, in order to be able to handle incoming/outgoing NOTIFY within calls after BYE.
- * handle incoming UPDATE from alternative dialogs in early dialog mode.
- * fix to reject any NOTIFY without established dialog coming later than 64 seconds after initial SUBSCRIBE.
- * After a NAPTR query, some DNS server returns SUCCESS without NAPTR answers. In such use-case, fallback to manual SRV records.
- * add SOCK_CLOEXEC option to sockets // add missing SO_KEEPALIVE options on TLS socket.
- * EXOSIP_OPT_ENABLE_IPV6 now support 0(ipv4 only), 1(ipv6 only) and 2(ipv4 OR ipv6).
- With option 2, choice is made based on DNS and the stack can fallback between IPv4 and IPv6.
- * fix possible memory leak when using wrong tid for eXosip_insubscription_send_answer.
- * fix possible memory leak upon allocation error.
- * fix leak upon syntax error in parameters provided for PUBLISH.
- * fix leak upon syntax error in parameters provided for REGISTER.
- * increase size of proto_ifs for IPv6 local address.
- * RFC 2617 erratum: Errata ID: 1649 (minor issue).
- * _exosip_isipv4addr: fix checking IPv4 address (minor issue).
- * other minor updates.
- eXosip2 (5.0.0)
- * major API update: add a new parameter to eXosip_call_build_prack in order to create the PRACK
- for this specific response and not for the latest.
- * major API update: removal of eX_refer.h API. REFER are now handled with subscriptions APIs.
- eXosip_refer_build_request removed
- eXosip_refer_send_request removed
- * major API update: subscription now handle both SUBSCRIBE and REFER with the same APIs:
- eXosip_subscription_build_initial_refer ADDED
- eXosip_subscribe_build_initial_request renamed eXosip_subscription_build_initial_subscribe
- eXosip_subscribe_send_initial_request renamed eXosip_subscription_send_initial_request
- eXosip_subscribe_build_refresh_request renamed eXosip_subscription_build_refresh_request
- eXosip_subscribe_send_refresh_request renamed eXosip_subscription_send_refresh_request
- eXosip_subscribe_remove renamed eXosip_subscription_remove
- EXOSIP_IN_SUBSCRIPTION_* and EXOSIP_SUBSCRIPTION_* events may now relate to REFER subscription.
- * major API change: eXosip_automatic_refresh is obsolete and has been removed.
- only use eXosip_automatic_action instead
- * API update:
- eXosip_options_send_request returns a positive transaction id (tid) on success.
- eXosip_publish returns a positive transaction id (tid) on success.
- note: eXosip_message_send_request was already returing the transaction id (tid) on success.
- * new API options:
- EXOSIP_OPT_REMOVE_PREROUTESET: to keep Route Set
- EXOSIP_OPT_SET_SIP_INSTANCE: define +sip.instance parameter in Contact headers
- EXOSIP_OPT_ENABLE_USE_EPHEMERAL_PORT: option to use/not use ephemeral port in Contact.
- EXOSIP_OPT_ENABLE_REUSE_TCP_PORT: option to reuse port.
- EXOSIP_OPT_AUTO_MASQUERADE_CONTACT: option to enable automatic masquerading for Contact headers.
- EXOSIP_OPT_UDP_LEARN_PORT: obsolete and will be removed in the future.
- EXOSIP_OPT_SET_DEFAULT_CONTACT_DISPLAYNAME: define a display name to be added in Contact headers
- * new API options: (high load traffic use-case: DO NOT USE FOR COMMON USAGE)
- EXOSIP_OPT_SET_MAX_MESSAGE_TO_READ: set the number of message to read at once for each network processing.
- EXOSIP_OPT_SET_MAX_READ_TIMEOUT: set the period in nano seconds during we read for sip message.
- EXOSIP_OPT_GET_STATISTICS: retreive numerous statistics.
- * rewrite/update autotools and ./configure options
- --enable-pthread=[autodetect|force]
- autodetect POSIX threads or force -DHAVE_PTHREAD [default=autodetect]
- --enable-semaphore=[autodetect|semaphore|sysv]
- select your prefered semaphore [default=autodetect].
- * fix selection of Contact header for 3xx (default to a tel/sip/sips one with any transport)
- * keep to call context enough time to handle redirection.
- * fix race condition for processing SRV results (not likely to happen)
- * fix bug when reading sip message longuer than 8000 over UDP and TLS.
- * improve eXosip_add_authentication_info to avoid duplicate credentials
- * if a SUBSCRIBE is rejected, the context will be released automatically
- * add failover after a DNS failure.
- * fallback to SRV even if we receive a NOTFOUND reply for NAPTR.
- * fix route set with strict router.
- * rename usage of -DHAVE_CARES_H into -DHAVE_ARES_H real name of header.
- * remove warnings mainly related to socket API (getnameinfo/bind/accept/recv/connect/sendto)
- * rewrite all loop using iterator to improve performance (useful for high load traffic)
- * rewrite Via and Contact management: both will now contains the IP of the real network interface
- instead of the default one.
- * improve NAPTR failover, more reliable // add failover for 503 answer
- * improve interval to force REGISTER refresh upon network error and failover.
- * improve TCP socket management
- * add a callback to simplify/optimize/accelerate usage of wakelocks in android application using exosip2.
- * improve TLS, add TLSv1.1, TLSv1.2, disable weak cipher (FREAK) and enable ECDHE cipher.
- * add support for SNI tls extension (openssl 1.0.2)
- * add try/except on windows to catch possible missing qwave (windows server)
- * implement a timeout (32 seconds) for establishing a TCP and TLS connection.
- * if a connection is failing, report the failure asap.
- * fix memory leak in eXosip_call_get_referto
- * remove extra connect on socket for TCP and TLS (not allowed for tcp stream)
- * fix to correctly discard INVITE retransmission with same branch received after original INVITE was replied
- * add WSACleanup for each WSAStartup call (windows)
- * do not include contact in BYE and CANCEL
- * fix to use sips when appropriate (in Contact)
- * fix to avoid handling negative content-length
- * do not start naptr for incoming transactions.
- * fix bug when rseq is empty but exist
- * add support for QOS on windows.
- * improve connection handling/failure detection, keep alive options, in TLS, TCP, UDP.
- * update static IDs (cid/did/rid/pid) to use range from 0 to INT_MAX to avoid possible collision
- * other minor updates.
- eXosip2 (4.1.0)
- * improve timer and use UPDATE if advertised, INVITE otherwise.
- * improve PRACK support.
- * option to disable automatic BYE answer.
- * option to enable/disable IPv6 per eXosip_t instance.
- * option to disable DNS cache.
- * improve network support for several eXosip_t instance.
- keepalive setting is per instance.
- ipv4/ipv6 setting is per instance.
- improve network setting to avoid conflict upon transport change.
- * fix tcp and tls connect() for slow connection.
- * use TCP_NODELAY on more platform.
- * use Authorization header for 401 // simplify authentication code.
- * minor expires for REGISTER improvments.
- * copy call-info over SUBSCRIBE refresh.
- * allow more TLS error if verification is disabled.
- * fix if NO NAPTR is availble.
- * add support for Windows Phone 8.
- * fix to use cache for TCP and TLS.
- * fix possible leaks on implementation errors.
- * add TSC experimental support.
- eXosip2 (4.0.0)
- * modify configuration APIs to use eXosip_set_option
- * fix bug: do not create new PRACK if it already exist for an answer.
- * update to latest osip // test time compensation for android.
- * use ephemaral port in standard TCP and TLS version.
- * return tid number so that we can match the response event.
- * use system independant time for osip_gettimeofday on unix platform.
- * major API update: several "struct eXosip_t" can be
- handled at the same time. This can be used to have several
- transport layer running at the same time.
- * many tiny other change.
- eXosip2 (3.6.0)
- * use optionnal c-ares DNS library for non blocking DNS access
- as well as improvments over DNS operation such as NAPTR and
- SRV records.
- * again, so many minor change/fix/improvments, sorry for not
- being able to have an history here... The git on savannah
- will bring you all details!
- eXosip2 (3.5.0)
- * iphone with TCP/TLS background support.
- * android support.
- * a lot of minor change/fix/improvments, sorry for not being
- able to have an history here...
- eXosip2 (3.4.0)
- * modification to allow using "windows certificate store" for TLS.
- * handle keep alive for TCP/TLS.
- * fix when receiving additionnal CRLF on reliable transport.
- * modification to allow non-blocking socket for reliable transport. (TLS/TCP)
- * fix tag issue with application where tag is missing.
- * fix compilation for mingw
- * fix Contact header in request within dialog for non-udp protocol.
- * fix some DNS issue with vista?
- * remove 481 auto answer for unsolicited NOTIFY.
- * fix static id range.
- * initial code for TCP fragmentation.
- * osip_list prototypes and warnings fix
- * fix transport matching for redirection using other transport than udp
- eXosip2 (3.3.0)
- * Fix when 200ok include a contact with an empty line parameter.
- * Fix for replaces header longuer than 256 char.
- * Fix SRV record with more than 10 answers.
- * Sort SRV record.
- * Option to disable NAPTR requests.
- eXosip2 (3.2.0)
- * Improve TLS support and add an API for ssl information & files.
- * return new error code for all API.
- * remove automatic answers to PRACK. (must be done in application now)
- * remove automatically outgoing non established susbscriptions.
- eXosip2 (3.1.0)
- * AKA authentication.
- * improve compliance & flexibility.
- eXosip2 (3.0.4)
- * fix building SUBSCRIBE refresh.
- * fix compliance issue with refer-to to-tag/from-tag parameters.
- * fix bug for retransmissions or ACK with proxy that resolve
- to several IP.
- * handle the "expires" parameter to update registration interval.
- * handle the "expires" parameter to update publication interval.
- * handle automatically publish refresh, and some error codes (423).
- eXosip2 (3.0.3)
- * Add TLS support.
- * rewrite transport layer.
- * add line= parameter in Contact headers for registrations.
- * a few changes related to interop. issues.
- * add missing *_REQUESTFAILURE events on no answer.
- * Update registration interval when Expires header is in 200ok.
- eXosip2 (3.0.2)
- * fix call transfer issue with "Replaces" header.
- * allow build/run eXosip in non-threaded model (without -DOSIP_MT).
- * initial support for ucos.
- * add support for qop authentication.
- * remove registration context immediatly upon eXosip_register_remove.
- * TCP: fix missing Contact in INVITE sent.
- * TCP: fix missing "transport" in Contact for answers within dialog.
- * TCP: fix possible race conditions.
- eXosip2 (3.0.1)
- * add Windows CE support with Visual Studio 2005
- (WM5.0,PocketPC 2003/2005, Smartphone)
- * Update to osip2-3.0.1
- * Add SRV record capabilities.
- * add new OPTIONS: do not send 101, remove pre-route set from message.
- eXosip2 (2.2.3)
- * announce NOTIFY answers to application.
- * fix authentication bugs from previous patch.
- * fix TCP bug
- * fix using code 699
- eXosip2 (2.2.2)
- * new version synchronized with osip2
- * total rewrite of eXosip.
- * -> new API for more flexibility
- * -> media negotiation must now be handled outside of eXosip2
- eXosip (0.9.1)
- * add publish support through a nice API.
- eXosip (0.9.0)
- * improve presence support (busy, away, onthephone...).
- * new eXosip_automatic_refresh() to refresh SUBSCRIBE and REGISTER.
- * Fix dialog establishement when receiving NOTIFYs.
- * This ChangeLog has not been updated seriously... Many changes
- * have been done but they don't appear here. Sorry.
- * status of libexosip:
- * call transfer : OK
- * redirection of calls (3XX) : OK
- * SUB/NOTIFY for presence : nearly OK (usable)
- * authenthication (REGISTER and INVITE only) : ok
- eXosip (0.8.0)
- * fix processing of 180 Ringing?
- * fix bug when BYE is processed before a 2xx for INVITE.
- eXosip (0.7.7)
- * memory leaks.
- * tiny bugs, code clean-up.
- eXosip (0.7.6)
- * fix bug when 1st proxy is using strict routing.
- * support for IPv4 and IPv6.
- * do not send 180 Ringing any more on new INVITEs.
- * close correctly rtp streams in josua.
- * improve the eXosip_event_wait method.
- * performance updated on win32 for event handling.
- eXosip (0.7.5)
- * small improvements for josua.
- * patch for IPv6 (uncomplete)
- * patch for authentication
- * improve configure.in file
- * allow fancy reason phrase in SIP answer.
- * allow to NAT traversal (firewall IP in SDP packet).
- eXosip (0.7.3)
- * warning fix.
- * support for multiple registrations.
- * support for authentifications for REGISTER.
- eXosip (0.7.2)
- * add RTP support with common ucl library.
- * fix some memory leak.
- * improve facility to change the local_sdp_port.
- * add an event when ACK for 2xx is received.
- eXosip (0.7.1)
- * rewrite of header files and new directory architecture.
- * support for INFO and OPTIONS within calls.
- * support for AUDIO.
- eXosip (0.6.3)
- * use of event oriented interface in josua.
- eXosip (0.6.2)
- * New Event oriented interface with applications.
- * support for both MSN or compliant UAs.
- * SUBSCRIBE/NOTIFY for SIMPLE support.
- * script for adding/updating subscribers. (eXosip_addsubscriber.sh)
- eXosip (0.6.1)
- * INVITE, CANCEL, BYE, REGISTER, MESSAGE, REFER
- * script for adding/updating contact. (eXosip_addfreind.sh)
- * script for adding/updating identity. (eXosip_addidentity.sh)
- * NCURSES interface.
- * options for current session.
|