Index: head/net-p2p/libtorrent/Makefile =================================================================== --- head/net-p2p/libtorrent/Makefile (revision 507683) +++ head/net-p2p/libtorrent/Makefile (revision 507684) @@ -1,45 +1,45 @@ # $FreeBSD$ PORTNAME= libtorrent -PORTVERSION= 0.13.7 -PORTREVISION= 4 +PORTVERSION= 0.13.8 CATEGORIES= net-p2p MASTER_SITES= https://rtorrent.net/downloads/ MAINTAINER= dbaio@FreeBSD.org COMMENT= BitTorrent Library written in C++ LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING USES= autoreconf compiler:c++11-lang libtool localbase:ldflags pathfix pkgconfig ssl + GNU_CONFIGURE= yes CONFIGURE_ARGS= --disable-debug CONFIGURE_ENV= OPENSSL_LIBS="-L${OPENSSLLIB} -lcrypto" OPENSSL_CFLAGS="-I\ ${OPENSSLINC}" USE_LDCONFIG= yes OPTIONS_DEFINE= KQUEUE OPTIONS_DEFAULT=KQUEUE KQUEUE_DESC= Use kqueue(2) support # This makes sure that /usr/local/lib appears before /usr/lib when # linking libtorrent to avoid linking with base's libcrypto. MAKE_ARGS= LDFLAGS="${LDFLAGS}" KQUEUE_CONFIGURE_WITH= kqueue .include # Disable instrumentation, which requires 64-bit atomic ops, on i386 (when # using gcc) and powerpc to avoid linking errors: # /usr/local/lib/libtorrent.so: undefined reference to `__sync_add_and_fetch_8' # /usr/local/lib/libtorrent.so: undefined reference to `__sync_fetch_and_and_8' .if ${ARCH} == i386 && ${CHOSEN_COMPILER_TYPE} == gcc || ${ARCH} == powerpc CONFIGURE_ARGS+=--disable-instrumentation .endif post-install: - @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libtorrent.so.20.0.0 + @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libtorrent.so.21.0.0 .include Index: head/net-p2p/libtorrent/distinfo =================================================================== --- head/net-p2p/libtorrent/distinfo (revision 507683) +++ head/net-p2p/libtorrent/distinfo (revision 507684) @@ -1,3 +1,3 @@ -TIMESTAMP = 1529447240 -SHA256 (libtorrent-0.13.7.tar.gz) = c738f60f4d7b6879cd2745fb4310bf24c9287219c1fd619706a9d5499ca7ecc1 -SIZE (libtorrent-0.13.7.tar.gz) = 782854 +TIMESTAMP = 1564447515 +SHA256 (libtorrent-0.13.8.tar.gz) = ed115a28f4ae8cfcd33b94a597c076ca74fd549867a26e4fac9505c27288e983 +SIZE (libtorrent-0.13.8.tar.gz) = 834027 Index: head/net-p2p/libtorrent/files/patch-socket-issue =================================================================== --- head/net-p2p/libtorrent/files/patch-socket-issue (revision 507683) +++ head/net-p2p/libtorrent/files/patch-socket-issue (nonexistent) @@ -1,47 +0,0 @@ -https://github.com/rakshasa/libtorrent/pull/181 - -From 0f957c2576d0d0c4c227e4453d92f67884e608af Mon Sep 17 00:00:00 2001 -From: Vladyslav Movchan -Date: Sat, 3 Nov 2018 19:52:56 +0200 -Subject: [PATCH] Prevent loss of 'm_ipv6_socket' attribute which led to - execution of setsockopt(..., IPPROTO_IP, IP_TOS, ...) on IPv6 socket - ---- - src/net/socket_fd.cc | 4 ++-- - src/net/socket_fd.h | 1 + - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/net/socket_fd.cc b/src/net/socket_fd.cc -index 54cb6ded..f04059f6 100644 ---- src/net/socket_fd.cc -+++ src/net/socket_fd.cc -@@ -251,7 +251,7 @@ SocketFd::accept(rak::socket_address* sa) { - socklen_t len = sizeof(rak::socket_address); - - if (sa == NULL) { -- return SocketFd(::accept(m_fd, NULL, &len)); -+ return SocketFd(::accept(m_fd, NULL, &len), m_ipv6_socket); - } - - int fd = ::accept(m_fd, sa->c_sockaddr(), &len); -@@ -260,7 +260,7 @@ SocketFd::accept(rak::socket_address* sa) { - *sa = sa->sa_inet6()->normalize_address(); - } - -- return SocketFd(fd); -+ return SocketFd(fd, m_ipv6_socket); - } - - // unsigned int -diff --git a/src/net/socket_fd.h b/src/net/socket_fd.h -index ca765e88..2329b4e9 100644 ---- src/net/socket_fd.h -+++ src/net/socket_fd.h -@@ -51,6 +51,7 @@ class SocketFd { - - SocketFd() : m_fd(-1) {} - explicit SocketFd(int fd) : m_fd(fd) {} -+ SocketFd(int fd, bool ipv6_socket) : m_fd(fd), m_ipv6_socket(ipv6_socket) {} - - bool is_valid() const { return m_fd >= 0; } - Property changes on: head/net-p2p/libtorrent/files/patch-socket-issue ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/net-p2p/libtorrent/files/patch-openssl-1.1.x =================================================================== --- head/net-p2p/libtorrent/files/patch-openssl-1.1.x (revision 507683) +++ head/net-p2p/libtorrent/files/patch-openssl-1.1.x (nonexistent) @@ -1,107 +0,0 @@ -https://github.com/rakshasa/libtorrent/commit/7b29b6bd2547e72e22b9b7981df27092842d2a10 - -From 7b29b6bd2547e72e22b9b7981df27092842d2a10 Mon Sep 17 00:00:00 2001 -From: rakshasa -Date: Tue, 20 Dec 2016 19:51:02 +0900 -Subject: [PATCH] Added support for openssl 1.1. - ---- - configure.ac | 4 ++++ - src/utils/diffie_hellman.cc | 36 ++++++++++++++++++++++++++++++++++-- - 2 files changed, 38 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 5b1ea237..b885714d 100644 ---- configure.ac -+++ configure.ac -@@ -71,12 +71,15 @@ AC_ARG_ENABLE(openssl, - [ --disable-openssl Don't use OpenSSL's SHA1 implementation.], - [ - if test "$enableval" = "yes"; then -+dnl move to scripts. - PKG_CHECK_MODULES(OPENSSL, libcrypto, - CXXFLAGS="$CXXFLAGS $OPENSSL_CFLAGS"; - LIBS="$LIBS $OPENSSL_LIBS") - - AC_DEFINE(USE_OPENSSL, 1, Using OpenSSL.) - AC_DEFINE(USE_OPENSSL_SHA, 1, Using OpenSSL's SHA1 implementation.) -+ AC_CHECK_LIB([crypto], [DH_set0_pqg], [AC_DEFINE(USE_OPENSSL_1_1, 1, Using OpenSSL 1.1.)]) -+ - else - AC_DEFINE(USE_NSS_SHA, 1, Using Mozilla's SHA1 implementation.) - fi -@@ -87,6 +90,7 @@ AC_ARG_ENABLE(openssl, - - AC_DEFINE(USE_OPENSSL, 1, Using OpenSSL.) - AC_DEFINE(USE_OPENSSL_SHA, 1, Using OpenSSL's SHA1 implementation.) -+ AC_CHECK_LIB([crypto], [DH_set0_pqg], [AC_DEFINE(USE_OPENSSL_1_1, 1, Using OpenSSL 1.1.)]) - ] - ) - -diff --git a/src/utils/diffie_hellman.cc b/src/utils/diffie_hellman.cc -index aa653d45..7ec13165 100644 ---- src/utils/diffie_hellman.cc -+++ src/utils/diffie_hellman.cc -@@ -54,11 +54,23 @@ DiffieHellman::DiffieHellman(const unsigned char *prime, int primeLength, - m_secret(NULL), m_size(0) { - - #ifdef USE_OPENSSL -+ - m_dh = DH_new(); -+ -+#ifdef USE_OPENSSL_1_1 -+ BIGNUM * const dh_p = BN_bin2bn(prime, primeLength, NULL); -+ BIGNUM * const dh_g = BN_bin2bn(generator, generatorLength, NULL); -+ -+ if (dh_p == NULL || dh_g == NULL || -+ !DH_set0_pqg(m_dh, dh_p, NULL, dh_g)) -+ throw internal_error("Could not generate Diffie-Hellman parameters"); -+#else - m_dh->p = BN_bin2bn(prime, primeLength, NULL); - m_dh->g = BN_bin2bn(generator, generatorLength, NULL); -+#endif - - DH_generate_key(m_dh); -+ - #else - throw internal_error("Compiled without encryption support."); - #endif -@@ -74,7 +86,19 @@ DiffieHellman::~DiffieHellman() { - bool - DiffieHellman::is_valid() const { - #ifdef USE_OPENSSL -+ if (m_dh == NULL) -+ return false; -+ -+#ifdef USE_OPENSSL_1_1 -+ const BIGNUM *pub_key; -+ -+ DH_get0_key(m_dh, &pub_key, NULL); -+ -+ return pub_key != NULL; -+#else - return m_dh != NULL && m_dh->pub_key != NULL; -+#endif -+ - #else - return false; - #endif -@@ -103,8 +127,16 @@ DiffieHellman::store_pub_key(unsigned char* dest, unsigned int length) { - #ifdef USE_OPENSSL - std::memset(dest, 0, length); - -- if ((int)length >= BN_num_bytes(m_dh->pub_key)) -- BN_bn2bin(m_dh->pub_key, dest + length - BN_num_bytes(m_dh->pub_key)); -+ const BIGNUM *pub_key; -+ -+#ifdef USE_OPENSSL_1_1 -+ DH_get0_key(m_dh, &pub_key, NULL); -+#else -+ pub_key = m_dh->pub_key; -+#endif -+ -+ if ((int)length >= BN_num_bytes(pub_key)) -+ BN_bn2bin(pub_key, dest + length - BN_num_bytes(pub_key)); - #endif - } - Property changes on: head/net-p2p/libtorrent/files/patch-openssl-1.1.x ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/net-p2p/libtorrent/pkg-plist =================================================================== --- head/net-p2p/libtorrent/pkg-plist (revision 507683) +++ head/net-p2p/libtorrent/pkg-plist (revision 507684) @@ -1,68 +1,68 @@ include/torrent/bitfield.h include/torrent/chunk_manager.h include/torrent/common.h include/torrent/connection_manager.h include/torrent/data/block.h include/torrent/data/block_list.h include/torrent/data/block_transfer.h include/torrent/data/chunk_utils.h include/torrent/data/download_data.h include/torrent/data/file.h include/torrent/data/file_list.h include/torrent/data/file_list_iterator.h include/torrent/data/file_manager.h include/torrent/data/file_utils.h include/torrent/data/piece.h include/torrent/data/transfer_list.h include/torrent/dht_manager.h include/torrent/download.h include/torrent/download/choke_group.h include/torrent/download/choke_queue.h include/torrent/download/download_manager.h include/torrent/download/group_entry.h include/torrent/download/resource_manager.h include/torrent/download_info.h include/torrent/error.h include/torrent/event.h include/torrent/exceptions.h include/torrent/hash_string.h include/torrent/http.h include/torrent/net/socket_address_key.h include/torrent/object.h include/torrent/object_raw_bencode.h include/torrent/object_static_map.h include/torrent/object_stream.h include/torrent/path.h include/torrent/peer/choke_status.h include/torrent/peer/client_info.h include/torrent/peer/client_list.h include/torrent/peer/connection_list.h include/torrent/peer/peer.h include/torrent/peer/peer_info.h include/torrent/peer/peer_list.h include/torrent/poll.h include/torrent/poll_epoll.h include/torrent/poll_kqueue.h include/torrent/poll_select.h include/torrent/rate.h include/torrent/throttle.h include/torrent/torrent.h include/torrent/tracker.h include/torrent/tracker_controller.h include/torrent/tracker_list.h include/torrent/utils/directory_events.h include/torrent/utils/extents.h include/torrent/utils/log.h include/torrent/utils/log_buffer.h include/torrent/utils/net.h include/torrent/utils/option_strings.h include/torrent/utils/ranges.h include/torrent/utils/resume.h include/torrent/utils/signal_bitfield.h include/torrent/utils/thread_base.h include/torrent/utils/thread_interrupt.h include/torrent/utils/uri_parser.h lib/libtorrent.so -lib/libtorrent.so.20 -lib/libtorrent.so.20.0.0 +lib/libtorrent.so.21 +lib/libtorrent.so.21.0.0 libdata/pkgconfig/libtorrent.pc