pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/net/libexosip libexosip: Update to 5.1.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/a754ca2031aa
branches:  trunk
changeset: 424183:a754ca2031aa
user:      nia <nia%pkgsrc.org@localhost>
date:      Fri Mar 06 13:01:47 2020 +0000

description:
libexosip: Update to 5.1.0

eXosip2 (5.1.0) - 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.

diffstat:

 net/libexosip/Makefile                       |  13 ++++++-------
 net/libexosip/PLIST                          |   3 +--
 net/libexosip/buildlink3.mk                  |   4 ++--
 net/libexosip/distinfo                       |  14 +++++++-------
 net/libexosip/patches/patch-aa               |  17 -----------------
 net/libexosip/patches/patch-ab               |  21 ---------------------
 net/libexosip/patches/patch-src_eXutils.c    |  17 +++++++++++++++++
 net/libexosip/patches/patch-tools_sip__reg.c |  21 +++++++++++++++++++++
 8 files changed, 54 insertions(+), 56 deletions(-)

diffs (175 lines):

diff -r 17c585df5d24 -r a754ca2031aa net/libexosip/Makefile
--- a/net/libexosip/Makefile    Fri Mar 06 12:52:38 2020 +0000
+++ b/net/libexosip/Makefile    Fri Mar 06 13:01:47 2020 +0000
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.6 2020/01/18 23:33:17 rillig Exp $
+# $NetBSD: Makefile,v 1.7 2020/03/06 13:01:47 nia Exp $
 
-DISTNAME=      libeXosip2-4.1.0
-PKGREVISION=   2
-CATEGORIES=    devel net
-MASTER_SITES=  http://download.savannah.nongnu.org/releases/exosip/
+DISTNAME=      libexosip2-5.1.1
+PKGNAME=       ${DISTNAME:S/exosip/eXosip/1}
+CATEGORIES=    net devel
+MASTER_SITES=  https://download.savannah.nongnu.org/releases/exosip/
 
 MAINTAINER=    schwarz%NetBSD.org@localhost
 HOMEPAGE=      https://savannah.nongnu.org/projects/exosip
@@ -15,11 +15,10 @@
 USE_TOOLS+=    pkg-config
 USE_FEATURES+= getopt_long
 
-.include "options.mk"
-
 LIBS.SunOS+=   -lsocket -lnsl
 LIBS.Darwin+=  -framework CoreServices -framework Security
 
+.include "options.mk"
 .include "../../net/libcares/buildlink3.mk"
 .include "../../devel/libosip/buildlink3.mk"
 .include "../../mk/pthread.buildlink3.mk"
diff -r 17c585df5d24 -r a754ca2031aa net/libexosip/PLIST
--- a/net/libexosip/PLIST       Fri Mar 06 12:52:38 2020 +0000
+++ b/net/libexosip/PLIST       Fri Mar 06 13:01:47 2020 +0000
@@ -1,10 +1,9 @@
-@comment $NetBSD: PLIST,v 1.1 2013/07/16 02:12:26 rodent Exp $
+@comment $NetBSD: PLIST,v 1.2 2020/03/06 13:01:47 nia Exp $
 bin/sip_reg
 include/eXosip2/eX_call.h
 include/eXosip2/eX_message.h
 include/eXosip2/eX_options.h
 include/eXosip2/eX_publish.h
-include/eXosip2/eX_refer.h
 include/eXosip2/eX_register.h
 include/eXosip2/eX_setup.h
 include/eXosip2/eX_subscribe.h
diff -r 17c585df5d24 -r a754ca2031aa net/libexosip/buildlink3.mk
--- a/net/libexosip/buildlink3.mk       Fri Mar 06 12:52:38 2020 +0000
+++ b/net/libexosip/buildlink3.mk       Fri Mar 06 13:01:47 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.5 2020/01/18 21:48:19 jperkin Exp $
+# $NetBSD: buildlink3.mk,v 1.6 2020/03/06 13:01:47 nia Exp $
 
 BUILDLINK_TREE+=       libeXosip2
 
@@ -6,7 +6,7 @@
 LIBEXOSIP2_BUILDLINK3_MK:=
 
 BUILDLINK_API_DEPENDS.libeXosip2+=     libeXosip2>=3.5.0
-BUILDLINK_ABI_DEPENDS.libeXosip2?=     libeXosip2>=4.1.0nb2
+BUILDLINK_ABI_DEPENDS.libeXosip2+=     libeXosip2>=4.1.0nb2
 BUILDLINK_PKGSRCDIR.libeXosip2?=       ../../net/libexosip
 
 pkgbase := libeXosip2
diff -r 17c585df5d24 -r a754ca2031aa net/libexosip/distinfo
--- a/net/libexosip/distinfo    Fri Mar 06 12:52:38 2020 +0000
+++ b/net/libexosip/distinfo    Fri Mar 06 13:01:47 2020 +0000
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.3 2015/11/04 00:35:09 agc Exp $
+$NetBSD: distinfo,v 1.4 2020/03/06 13:01:47 nia Exp $
 
-SHA1 (libeXosip2-4.1.0.tar.gz) = f85e93227f772acac1b3e17b69c6b8a708336ba8
-RMD160 (libeXosip2-4.1.0.tar.gz) = 816ef497a6ddaf3953a2b6fd490ad8061151fbfe
-SHA512 (libeXosip2-4.1.0.tar.gz) = a7f9584a391b652371319329c0f5064b290e6ea04a75dc1cb9c28da3c17542b1364acfe1c74261fa6d3243d23554dcf3a2eabec388100a85bbfa261bb30a478d
-Size (libeXosip2-4.1.0.tar.gz) = 530997 bytes
-SHA1 (patch-aa) = 9e3482cb6cbe00cc512dca313904f0e671a180df
-SHA1 (patch-ab) = 929e7949d783a6065bb34c1a622284ad4ad24603
+SHA1 (libexosip2-5.1.1.tar.gz) = df8f43e138d1e1c6e7574fe97243318c2fdfb446
+RMD160 (libexosip2-5.1.1.tar.gz) = 5a4e28f9e4ce321d223747f92ff878dd6997efd5
+SHA512 (libexosip2-5.1.1.tar.gz) = cec5931484aa1a5e4a0679cc715da163df9429016ad74841a518c52c2bea6d9038a312b252802607d9a836bd2e598e2f3a4a24a9f63b34a0fb8c737f32329b96
+Size (libexosip2-5.1.1.tar.gz) = 630264 bytes
+SHA1 (patch-src_eXutils.c) = d4ad34fdb94c5f7b0bb6259521450efe459cc650
+SHA1 (patch-tools_sip__reg.c) = b2b5d03ef89207d748c35e36802f4193b103ea56
diff -r 17c585df5d24 -r a754ca2031aa net/libexosip/patches/patch-aa
--- a/net/libexosip/patches/patch-aa    Fri Mar 06 12:52:38 2020 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-$NetBSD: patch-aa,v 1.2 2014/07/12 16:48:27 schwarz Exp $
-
-Defines INADDR_NONE, which is needed on Solaris.
-
---- src/eXutils.c.orig 2014-01-06 19:30:21.000000000 +0100
-+++ src/eXutils.c      2014-07-12 18:15:15.000000000 +0200
-@@ -509,6 +509,10 @@
- 
- #include <stdio.h>
- 
-+#ifndef INADDR_NONE
-+#define INADDR_NONE   ((unsigned long) -1)    /* needed on Solaris */
-+#endif
-+
- static int _eXosip_default_gateway_ipv4 (struct eXosip_t *excontext, char *address, int size);
- 
- static int _eXosip_default_gateway_ipv6 (struct eXosip_t *excontext, char *address, int size);
diff -r 17c585df5d24 -r a754ca2031aa net/libexosip/patches/patch-ab
--- a/net/libexosip/patches/patch-ab    Fri Mar 06 12:52:38 2020 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-$NetBSD: patch-ab,v 1.1 2013/07/16 02:12:26 rodent Exp $
-
-Pull in NetBSD compatibility headers for use with other headers.
-
---- tools/sip_reg.c.orig       2012-11-15 17:51:44.000000000 +0000
-+++ tools/sip_reg.c
-@@ -56,8 +56,14 @@
- 
- #if !defined(WIN32) && !defined(_WIN32_WCE) && !defined(__arc__)
- #define _GNU_SOURCE
-+#if defined(HAVE_NBCOMPAT_H)
-+#include <nbcompat/config.h>  /* needed for the other headers */
-+#include <nbcompat/cdefs.h>   /* needed for the other headers */
-+#include <nbcompat/getopt.h>
-+#else
- #include <getopt.h>
- #endif
-+#endif
- 
- #define PROG_NAME "sipreg"
- #define PROG_VER  "1.0"
diff -r 17c585df5d24 -r a754ca2031aa net/libexosip/patches/patch-src_eXutils.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/net/libexosip/patches/patch-src_eXutils.c Fri Mar 06 13:01:47 2020 +0000
@@ -0,0 +1,17 @@
+$NetBSD: patch-src_eXutils.c,v 1.1 2020/03/06 13:01:47 nia Exp $
+
+Defines INADDR_NONE, which is needed on Solaris.
+
+--- src/eXutils.c.orig 2020-01-17 12:52:50.000000000 +0000
++++ src/eXutils.c
+@@ -84,6 +84,10 @@
+ #include <unistd.h>
+ #endif
+ 
++#ifndef INADDR_NONE
++#define INADDR_NONE   ((unsigned long) -1)    /* needed on Solaris */
++#endif
++
+ int
+ _eXosip_closesocket (SOCKET_TYPE sock)
+ {
diff -r 17c585df5d24 -r a754ca2031aa net/libexosip/patches/patch-tools_sip__reg.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/net/libexosip/patches/patch-tools_sip__reg.c      Fri Mar 06 13:01:47 2020 +0000
@@ -0,0 +1,21 @@
+$NetBSD: patch-tools_sip__reg.c,v 1.1 2020/03/06 13:01:47 nia Exp $
+
+Pull in NetBSD compatibility headers for use with other headers.
+
+--- tools/sip_reg.c.orig       2020-01-16 21:29:27.000000000 +0000
++++ tools/sip_reg.c
+@@ -60,8 +60,14 @@
+ 
+ #if !defined(WIN32) && !defined(_WIN32_WCE) && !defined(__arc__)
+ #define _GNU_SOURCE
++#if defined(HAVE_NBCOMPAT_H)
++#include <nbcompat/config.h>  /* needed for the other headers */
++#include <nbcompat/cdefs.h>   /* needed for the other headers */
++#include <nbcompat/getopt.h>
++#else
+ #include <getopt.h>
+ #endif
++#endif
+ 
+ #define PROG_NAME "sipreg"
+ #define PROG_VER  "1.0"



Home | Main Index | Thread Index | Old Index