diff options
author | nia <nia@pkgsrc.org> | 2020-03-06 13:01:47 +0000 |
---|---|---|
committer | nia <nia@pkgsrc.org> | 2020-03-06 13:01:47 +0000 |
commit | a29aeaa56a091561b6cfcd9e757139bf2066e8c2 (patch) | |
tree | cb5b8c130acebb11579f300d6f5d1d6c86a2fd4e /net/libexosip | |
parent | 2bf86a78508f46f586d5d71d61abf0615b0af240 (diff) | |
download | pkgsrc-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/Makefile | 13 | ||||
-rw-r--r-- | net/libexosip/PLIST | 3 | ||||
-rw-r--r-- | net/libexosip/buildlink3.mk | 4 | ||||
-rw-r--r-- | net/libexosip/distinfo | 14 | ||||
-rw-r--r-- | net/libexosip/patches/patch-aa | 17 | ||||
-rw-r--r-- | net/libexosip/patches/patch-src_eXutils.c | 17 | ||||
-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 |