Hi all,
update libstrophe to the latest stable version. See changelog:
- OpenSSL tls module verifies certificate by default. Set flag
XMPP_CONN_FLAG_TRUST_TLS to ignore result of the verification
- Certificate hostname verification is forced for openssl-1.0.2
and newer
- OpenSSL tls module disables insecure SSLv2 SSLv3 and TLSv1
- Support of handlers with the same callback function, but
different userdata
- System handlers are deleted on xmpp_conn_t
reconnection. Old system handlers could cause problems
- Default timeout for xmpp_run() is increased from
1 millisecond to 1 second in order to reduce CPU consumption
- Reduced memory usage in expat module
- New functions: xmpp_ctx_set_timeout(), xmpp_sha1_digest()
Tested with the only consumer net/profanity on amd64.
All test passed.
Ok? Comments?
Rafael Sadowsi
Index: Makefile
===================================================================
RCS file: /cvs/ports/net/libstrophe/Makefile,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 Makefile
--- Makefile 29 Nov 2016 22:24:40 -0000 1.2
+++ Makefile 15 Mar 2018 13:50:19 -0000
@@ -2,32 +2,32 @@
COMMENT = simple, lightweight XMPP C library
-GH_ACCOUNT = strophe
-GH_PROJECT = libstrophe
-GH_TAGNAME = 0.9.1
+V = 0.9.2
+DISTNAME = libstrophe-${V}
-SHARED_LIBS = strophe 1.0 # 1.0
+SHARED_LIBS = strophe 2.0 # 1.0
CATEGORIES = net devel
HOMEPAGE = http://strophe.im/libstrophe/
-MAINTAINER = Rafael Sadowski <[email protected]>
+MAINTAINER = Rafael Sadowski <[email protected]>
# Dual licensed: MIT and GPLv3
PERMIT_PACKAGE_CDROM = Yes
WANTLIB += crypto expat ssl
-BUILD_DEPENDS = ${MODGNU_AUTOCONF_DEPENDS} \
- ${MODGNU_AUTOMAKE_DEPENDS} \
- devel/libtool
+MASTER_SITES = https://github.com/strophe/libstrophe/releases/download/${V}/
+
+BUILD_DEPENDS = devel/libtool
# Only needed for tests, but cannot be a TEST_DEPENDS.
# Check must be present at build time for tests to work.
BUILD_DEPENDS += devel/check
USE_GMAKE = Yes
+
CONFIGURE_STYLE = gnu
MAKE_FLAGS = CC="${CC}" CFLAGS="${CFLAGS}"
@@ -35,14 +35,5 @@ MAKE_FLAGS = CC="${CC}" CFLAGS="${CFLAG
CONFIGURE_ENV += CPPFLAGS="-I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib"
-AUTOCONF_VERSION = 2.69
-AUTOMAKE_VERSION = 1.11
-
-post-patch:
- @mkdir -p ${WRKSRC}/m4 # need for autoreconf
-
-pre-configure:
- cd ${WRKSRC} && ${SETENV} AUTOMAKE_VERSION=${AUTOMAKE_VERSION} \
- AUTOCONF_VERSION=${AUTOCONF_VERSION} autoreconf --install
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/libstrophe/distinfo,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 distinfo
--- distinfo 29 Nov 2016 22:24:40 -0000 1.2
+++ distinfo 15 Mar 2018 13:50:19 -0000
@@ -1,2 +1,2 @@
-SHA256 (libstrophe-0.9.1.tar.gz) = yQST+YblvUBxMsWj4XQ3jALLgPpOruKYdeBrS7pq/MM=
-SIZE (libstrophe-0.9.1.tar.gz) = 153142
+SHA256 (libstrophe-0.9.2.tar.gz) = eH5qO5K5i2HMToo+cWWTyYZOL+KlWl9JyecOzRfEdNc=
+SIZE (libstrophe-0.9.2.tar.gz) = 500459
Index: patches/patch-src_tls_openssl_c
===================================================================
RCS file: patches/patch-src_tls_openssl_c
diff -N patches/patch-src_tls_openssl_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_tls_openssl_c 15 Mar 2018 13:50:19 -0000
@@ -0,0 +1,41 @@
+$OpenBSD$
+
+Index: src/tls_openssl.c
+--- src/tls_openssl.c.orig
++++ src/tls_openssl.c
+@@ -51,7 +51,7 @@ static void _tls_log_error(xmpp_ctx_t *ctx);
+
+ void tls_initialize(void)
+ {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ SSL_library_init();
+ SSL_load_error_strings();
+ #else
+@@ -66,14 +66,14 @@ void tls_shutdown(void)
+ * openssl after libstrophe finalization. Maybe better leak some fixed
+ * memory rather than cause random crashes of the main program.
+ */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ ERR_free_strings();
+ EVP_cleanup();
+ CRYPTO_cleanup_all_ex_data();
+-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER)
+ SSL_COMP_free_compression_methods();
+ #endif
+-#if OPENSSL_VERSION_NUMBER < 0x10000000L
++#if OPENSSL_VERSION_NUMBER < 0x10000000L || defined(LIBRESSL_VERSION_NUMBER)
+ ERR_remove_state(0);
+ #else
+ ERR_remove_thread_state(NULL);
+@@ -120,7 +120,7 @@ tls_t *tls_new(xmpp_conn_t *conn)
+ /* Trust server's certificate when user sets the flag explicitly. */
+ mode = conn->tls_trust ? SSL_VERIFY_NONE : SSL_VERIFY_PEER;
+ SSL_set_verify(tls->ssl, mode, 0);
+-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
++#if OPENSSL_VERSION_NUMBER >= 0x10002000L || !defined(LIBRESSL_VERSION_NUMBER)
+ /* Hostname verification is supported in OpenSSL 1.0.2 and newer. */
+ X509_VERIFY_PARAM *param = SSL_get0_param(tls->ssl);
+