summaryrefslogtreecommitdiff
path: root/net/libexosip
diff options
context:
space:
mode:
authornia <nia@pkgsrc.org>2020-03-06 13:01:47 +0000
committernia <nia@pkgsrc.org>2020-03-06 13:01:47 +0000
commita29aeaa56a091561b6cfcd9e757139bf2066e8c2 (patch)
treecb5b8c130acebb11579f300d6f5d1d6c86a2fd4e /net/libexosip
parent2bf86a78508f46f586d5d71d61abf0615b0af240 (diff)
downloadpkgsrc-a29aeaa56a091561b6cfcd9e757139bf2066e8c2.tar.gz
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 (limited to 'net/libexosip')
-rw-r--r--net/libexosip/Makefile13
-rw-r--r--net/libexosip/PLIST3
-rw-r--r--net/libexosip/buildlink3.mk4
-rw-r--r--net/libexosip/distinfo14
-rw-r--r--net/libexosip/patches/patch-aa17
-rw-r--r--net/libexosip/patches/patch-src_eXutils.c17
-rw-r--r--net/libexosip/patches/patch-tools_sip__reg.c (renamed from net/libexosip/patches/patch-ab)6
7 files changed, 36 insertions, 38 deletions
diff --git a/net/libexosip/Makefile b/net/libexosip/Makefile
index 933b55827af..3e76acdaf7c 100644
--- a/net/libexosip/Makefile
+++ b/net/libexosip/Makefile
@@ -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
HOMEPAGE= https://savannah.nongnu.org/projects/exosip
@@ -15,11 +15,10 @@ USE_LIBTOOL= yes
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 --git a/net/libexosip/PLIST b/net/libexosip/PLIST
index 49e7af1003c..45e8a6dd06b 100644
--- a/net/libexosip/PLIST
+++ b/net/libexosip/PLIST
@@ -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 --git a/net/libexosip/buildlink3.mk b/net/libexosip/buildlink3.mk
index 7816d99be75..47056377740 100644
--- a/net/libexosip/buildlink3.mk
+++ b/net/libexosip/buildlink3.mk
@@ -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 @@ BUILDLINK_TREE+= libeXosip2
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 --git a/net/libexosip/distinfo b/net/libexosip/distinfo
index 94656e3c13e..4b25adffc1b 100644
--- a/net/libexosip/distinfo
+++ b/net/libexosip/distinfo
@@ -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 --git a/net/libexosip/patches/patch-aa b/net/libexosip/patches/patch-aa
deleted file mode 100644
index 223f1940d76..00000000000
--- a/net/libexosip/patches/patch-aa
+++ /dev/null
@@ -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 --git a/net/libexosip/patches/patch-src_eXutils.c b/net/libexosip/patches/patch-src_eXutils.c
new file mode 100644
index 00000000000..3487ecae09e
--- /dev/null
+++ b/net/libexosip/patches/patch-src_eXutils.c
@@ -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 --git a/net/libexosip/patches/patch-ab b/net/libexosip/patches/patch-tools_sip__reg.c
index c55141f60a2..e368dd0ff77 100644
--- a/net/libexosip/patches/patch-ab
+++ b/net/libexosip/patches/patch-tools_sip__reg.c
@@ -1,10 +1,10 @@
-$NetBSD: patch-ab,v 1.1 2013/07/16 02:12:26 rodent Exp $
+$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 2012-11-15 17:51:44.000000000 +0000
+--- tools/sip_reg.c.orig 2020-01-16 21:29:27.000000000 +0000
+++ tools/sip_reg.c
-@@ -56,8 +56,14 @@
+@@ -60,8 +60,14 @@
#if !defined(WIN32) && !defined(_WIN32_WCE) && !defined(__arc__)
#define _GNU_SOURCE