pkgsrc-Changes archive

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

CVS commit: pkgsrc/net/libtorrent



Module Name:    pkgsrc
Committed By:   adam
Date:           Sun Jun 24 16:57:58 UTC 2018

Modified Files:
        pkgsrc/net/libtorrent: Makefile PLIST distinfo
        pkgsrc/net/libtorrent/patches: patch-src_torrent_poll__kqueue.cc
Added Files:
        pkgsrc/net/libtorrent/patches: patch-config.h.in patch-configure
            patch-src_utils_diffie__hellman.cc

Log Message:
libtorrent: updated to 0.13.7

0.13.7:
If you want news, watch CNN or something.


To generate a diff of this commit:
cvs rdiff -u -r1.58 -r1.59 pkgsrc/net/libtorrent/Makefile
cvs rdiff -u -r1.12 -r1.13 pkgsrc/net/libtorrent/PLIST
cvs rdiff -u -r1.37 -r1.38 pkgsrc/net/libtorrent/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/net/libtorrent/patches/patch-config.h.in \
    pkgsrc/net/libtorrent/patches/patch-configure \
    pkgsrc/net/libtorrent/patches/patch-src_utils_diffie__hellman.cc
cvs rdiff -u -r1.1 -r1.2 \
    pkgsrc/net/libtorrent/patches/patch-src_torrent_poll__kqueue.cc

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/net/libtorrent/Makefile
diff -u pkgsrc/net/libtorrent/Makefile:1.58 pkgsrc/net/libtorrent/Makefile:1.59
--- pkgsrc/net/libtorrent/Makefile:1.58 Tue Dec 26 23:14:42 2017
+++ pkgsrc/net/libtorrent/Makefile      Sun Jun 24 16:57:58 2018
@@ -1,12 +1,11 @@
-# $NetBSD: Makefile,v 1.58 2017/12/26 23:14:42 he Exp $
+# $NetBSD: Makefile,v 1.59 2018/06/24 16:57:58 adam Exp $
 
-DISTNAME=      libtorrent-0.13.6
-PKGREVISION=   2
+DISTNAME=      libtorrent-0.13.7
 CATEGORIES=    net
 MASTER_SITES=  http://rtorrent.net/downloads/
 
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
-HOMEPAGE=      http://rakshasa.github.io/rtorrent/
+HOMEPAGE=      https://github.com/rakshasa/libtorrent
 COMMENT=       BitTorrent library written in C++ for *nix
 LICENSE=       gnu-gpl-v2
 
@@ -29,7 +28,7 @@ GCC_REQD+=            4.2.1
 
 # configure check is fooled by trap & emulate of unaligned access on alpha
 .if (${MACHINE_ARCH} == "alpha")
-CONFIGURE_ARGS+= --enable-aligned
+CONFIGURE_ARGS+=       --enable-aligned
 .endif
 
 .if !empty(OPSYS:M*BSD) || ${OPSYS} == "DragonFly" || ${OPSYS} == "Darwin"

Index: pkgsrc/net/libtorrent/PLIST
diff -u pkgsrc/net/libtorrent/PLIST:1.12 pkgsrc/net/libtorrent/PLIST:1.13
--- pkgsrc/net/libtorrent/PLIST:1.12    Sun Jun 15 22:44:15 2014
+++ pkgsrc/net/libtorrent/PLIST Sun Jun 24 16:57:58 2018
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.12 2014/06/15 22:44:15 tron Exp $
+@comment $NetBSD: PLIST,v 1.13 2018/06/24 16:57:58 adam Exp $
 include/torrent/bitfield.h
 include/torrent/chunk_manager.h
 include/torrent/common.h
@@ -28,6 +28,7 @@ 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
@@ -50,6 +51,7 @@ 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
@@ -60,5 +62,6 @@ 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.la
 lib/pkgconfig/libtorrent.pc

Index: pkgsrc/net/libtorrent/distinfo
diff -u pkgsrc/net/libtorrent/distinfo:1.37 pkgsrc/net/libtorrent/distinfo:1.38
--- pkgsrc/net/libtorrent/distinfo:1.37 Tue Dec 26 23:14:42 2017
+++ pkgsrc/net/libtorrent/distinfo      Sun Jun 24 16:57:58 2018
@@ -1,10 +1,13 @@
-$NetBSD: distinfo,v 1.37 2017/12/26 23:14:42 he Exp $
+$NetBSD: distinfo,v 1.38 2018/06/24 16:57:58 adam Exp $
 
-SHA1 (libtorrent-0.13.6.tar.gz) = 493691929b701f4402f13c725840addf95231ad2
-RMD160 (libtorrent-0.13.6.tar.gz) = a143a0ef9e86cf989c2c7dff6c86a41d23ddc244
-SHA512 (libtorrent-0.13.6.tar.gz) = b8aea4060357a8a40d15d42f1f698ef6f3ebdc885000bfbfa5bf9c81af8c88b5503a107e05c214e3e8489126928d336356c5e7e0eaf836b6b84a3cf74633b050
-Size (libtorrent-0.13.6.tar.gz) = 781253 bytes
+SHA1 (libtorrent-0.13.7.tar.gz) = 2c859b5b382786646ba6001058faa07db67c5a48
+RMD160 (libtorrent-0.13.7.tar.gz) = 071f6311fd32e53447bdf7f6d97bc7585dbaff70
+SHA512 (libtorrent-0.13.7.tar.gz) = 7bf3e87dbd19eb4e6806dff8a01c3ec61ea960bbd809d4bcbee96a46e169f97d0baf0fc85ab4a1efbbab07850e9b1060bae46c453ea6c42f5c23f8d921295efb
+Size (libtorrent-0.13.7.tar.gz) = 782854 bytes
+SHA1 (patch-config.h.in) = 7ea6ef87727756afe3882aad769a48488fc22c86
+SHA1 (patch-configure) = 6c91606fc317d2d77c5b34d2b47d22a66a2f22c3
 SHA1 (patch-src_Makefile.am) = d965bdfd967a71d14ebcad6b32564a1c0908739d
 SHA1 (patch-src_Makefile.in) = 05f55223073fb57cc11fbb307708ba262899d85f
 SHA1 (patch-src_data_chunk__list.cpp) = 92a5f36d7ae993667123051b39e6033c73169f4e
-SHA1 (patch-src_torrent_poll__kqueue.cc) = b6158ea858f4a12db8c763ac77eb09d62c65f804
+SHA1 (patch-src_torrent_poll__kqueue.cc) = 1f98ec93dcaaa587351de9b239712504aef6374b
+SHA1 (patch-src_utils_diffie__hellman.cc) = 65c7e6e305d23504b6c0d07d9e78b8483676d8ee

Index: pkgsrc/net/libtorrent/patches/patch-src_torrent_poll__kqueue.cc
diff -u pkgsrc/net/libtorrent/patches/patch-src_torrent_poll__kqueue.cc:1.1 pkgsrc/net/libtorrent/patches/patch-src_torrent_poll__kqueue.cc:1.2
--- pkgsrc/net/libtorrent/patches/patch-src_torrent_poll__kqueue.cc:1.1 Tue Dec 26 23:14:42 2017
+++ pkgsrc/net/libtorrent/patches/patch-src_torrent_poll__kqueue.cc     Sun Jun 24 16:57:58 2018
@@ -1,15 +1,57 @@
-$NetBSD: patch-src_torrent_poll__kqueue.cc,v 1.1 2017/12/26 23:14:42 he Exp $
+$NetBSD: patch-src_torrent_poll__kqueue.cc,v 1.2 2018/06/24 16:57:58 adam Exp $
 
 Add a cast so that this builds with the c++ in 8.0.
+https://github.com/rakshasa/libtorrent/issues/159
 
---- ./src/torrent/poll_kqueue.cc.orig  2015-08-08 15:01:32.000000000 +0000
-+++ ./src/torrent/poll_kqueue.cc
-@@ -111,7 +111,7 @@ PollKQueue::modify(Event* event, unsigne
+--- src/torrent/poll_kqueue.cc.orig    2018-06-07 04:24:45.000000000 +0000
++++ src/torrent/poll_kqueue.cc
+@@ -69,6 +69,12 @@ namespace torrent {
+ 
+ #ifdef USE_KQUEUE
+ 
++#if defined(__NetBSD__)
++#define LIBEV_UDATA(a) ((intptr_t)(a))
++#else
++#define LIBEV_UDATA(a) (a)
++#endif
++
+ inline uint32_t
+ PollKQueue::event_mask(Event* e) {
+   assert(e->file_descriptor() != -1);
+@@ -111,7 +117,7 @@ PollKQueue::modify(Event* event, unsigne
    struct kevent* itr = m_changes + (m_changedEvents++);
  
    assert(event == m_table[event->file_descriptor()].second);
 -  EV_SET(itr, event->file_descriptor(), mask, op, 0, 0, event);
-+  EV_SET(itr, event->file_descriptor(), mask, op, 0, 0, (intptr_t)event);
++  EV_SET(itr, event->file_descriptor(), mask, op, 0, 0, LIBEV_UDATA(event));
  }
  
  PollKQueue*
+@@ -314,11 +320,11 @@ PollKQueue::close(Event* event) {
+ 
+   // Shouldn't be needed anymore.
+   for (struct kevent *itr = m_events, *last = m_events + m_waitingEvents; itr != last; ++itr)
+-    if (itr->udata == event)
++    if (itr->udata == LIBEV_UDATA(event))
+       itr->udata = NULL;
+ 
+   m_changedEvents = std::remove_if(m_changes, m_changes + m_changedEvents,
+-                                   rak::equal(event, rak::mem_ref(&kevent::udata))) - m_changes;
++                                   rak::equal(LIBEV_UDATA(event), rak::mem_ref(&kevent::udata))) - m_changes;
+ }
+ 
+ void
+@@ -340,11 +346,11 @@ PollKQueue::closed(Event* event) {
+ 
+   // Shouldn't be needed anymore.
+   for (struct kevent *itr = m_events, *last = m_events + m_waitingEvents; itr != last; ++itr)
+-    if (itr->udata == event)
++    if (itr->udata == LIBEV_UDATA(event))
+       itr->udata = NULL;
+ 
+   m_changedEvents = std::remove_if(m_changes, m_changes + m_changedEvents,
+-                                   rak::equal(event, rak::mem_ref(&kevent::udata))) - m_changes;
++                                   rak::equal(LIBEV_UDATA(event), rak::mem_ref(&kevent::udata))) - m_changes;
+ }
+ 
+ // Use custom defines for EPOLL* to make the below code compile with

Added files:

Index: pkgsrc/net/libtorrent/patches/patch-config.h.in
diff -u /dev/null pkgsrc/net/libtorrent/patches/patch-config.h.in:1.1
--- /dev/null   Sun Jun 24 16:57:58 2018
+++ pkgsrc/net/libtorrent/patches/patch-config.h.in     Sun Jun 24 16:57:58 2018
@@ -0,0 +1,17 @@
+$NetBSD: patch-config.h.in,v 1.1 2018/06/24 16:57:58 adam Exp $
+
+Fix for OpenSSL 1.1.x.
+https://github.com/rakshasa/libtorrent/issues/171
+
+--- config.h.in.orig   2018-06-24 16:42:49.312535308 +0000
++++ config.h.in
+@@ -215,6 +215,9 @@
+ /* Using OpenSSL's SHA1 implementation. */
+ #undef USE_OPENSSL_SHA
+ 
++/* Using OpenSSL 1.1.x. */
++#undef USE_OPENSSL_1_1
++
+ /* posix_fallocate supported. */
+ #undef USE_POSIX_FALLOCATE
+ 
Index: pkgsrc/net/libtorrent/patches/patch-configure
diff -u /dev/null pkgsrc/net/libtorrent/patches/patch-configure:1.1
--- /dev/null   Sun Jun 24 16:57:58 2018
+++ pkgsrc/net/libtorrent/patches/patch-configure       Sun Jun 24 16:57:58 2018
@@ -0,0 +1,106 @@
+$NetBSD: patch-configure,v 1.1 2018/06/24 16:57:58 adam Exp $
+
+Fix for OpenSSL 1.1.x.
+https://github.com/rakshasa/libtorrent/issues/171
+
+--- configure.orig     2018-06-24 16:28:58.830908273 +0000
++++ configure
+@@ -18494,6 +18494,49 @@ $as_echo "#define USE_OPENSSL 1" >>confd
+ 
+ $as_echo "#define USE_OPENSSL_SHA 1" >>confdefs.h
+ 
++      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DH_set0_pqg in -lcrypto" >&5
++$as_echo_n "checking for DH_set0_pqg in -lcrypto... " >&6; }
++if ${ac_cv_lib_crypto_DH_set0_pqg+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lcrypto  $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++char DH_set0_pqg ();
++int
++main ()
++{
++return DH_set0_pqg ();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"; then :
++  ac_cv_lib_crypto_DH_set0_pqg=yes
++else
++  ac_cv_lib_crypto_DH_set0_pqg=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++    conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_DH_set0_pqg" >&5
++$as_echo "$ac_cv_lib_crypto_DH_set0_pqg" >&6; }
++if test "x$ac_cv_lib_crypto_DH_set0_pqg" = xyes; then :
++
++$as_echo "#define USE_OPENSSL_1_1 1" >>confdefs.h
++
++fi
++
++
+     else
+ 
+ $as_echo "#define USE_NSS_SHA 1" >>confdefs.h
+@@ -18601,6 +18644,48 @@ $as_echo "#define USE_OPENSSL 1" >>confd
+ 
+ $as_echo "#define USE_OPENSSL_SHA 1" >>confdefs.h
+ 
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DH_set0_pqg in -lcrypto" >&5
++$as_echo_n "checking for DH_set0_pqg in -lcrypto... " >&6; }
++if ${ac_cv_lib_crypto_DH_set0_pqg+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lcrypto  $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++char DH_set0_pqg ();
++int
++main ()
++{
++return DH_set0_pqg ();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"; then :
++  ac_cv_lib_crypto_DH_set0_pqg=yes
++else
++  ac_cv_lib_crypto_DH_set0_pqg=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++    conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_DH_set0_pqg" >&5
++$as_echo "$ac_cv_lib_crypto_DH_set0_pqg" >&6; }
++if test "x$ac_cv_lib_crypto_DH_set0_pqg" = xyes; then :
++
++$as_echo "#define USE_OPENSSL_1_1 1" >>confdefs.h
++
++fi
++
+ 
+ 
+ fi
Index: pkgsrc/net/libtorrent/patches/patch-src_utils_diffie__hellman.cc
diff -u /dev/null pkgsrc/net/libtorrent/patches/patch-src_utils_diffie__hellman.cc:1.1
--- /dev/null   Sun Jun 24 16:57:58 2018
+++ pkgsrc/net/libtorrent/patches/patch-src_utils_diffie__hellman.cc    Sun Jun 24 16:57:58 2018
@@ -0,0 +1,57 @@
+$NetBSD: patch-src_utils_diffie__hellman.cc,v 1.1 2018/06/24 16:57:58 adam Exp $
+
+Fix for OpenSSL 1.1.x.
+https://github.com/rakshasa/libtorrent/issues/171
+
+--- src/utils/diffie_hellman.cc.orig   2018-06-07 04:24:52.000000000 +0000
++++ src/utils/diffie_hellman.cc
+@@ -55,8 +55,16 @@ DiffieHellman::DiffieHellman(const unsig
+ 
+ #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
+@@ -74,7 +82,15 @@ 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 +119,14 @@ DiffieHellman::store_pub_key(unsigned ch
+ #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
+ }
+ 



Home | Main Index | Thread Index | Old Index