net/libutp: Update to g20180515.
- move to the net-p2p category - change PORTNAME to libutp from bittorrent-libutp - switch to transmissions upstream - switch to using cmake - take maintainership. The port is clearly abbandoned Reported by: Vasileios Kalampakas <stoneforger@gmail.com>
This commit is contained in:
parent
f5ce9b7ee0
commit
f549e38b77
15 changed files with 38 additions and 235 deletions
|
@ -50,6 +50,7 @@
|
|||
SUBDIR += libtorrent
|
||||
SUBDIR += libtorrent-rasterbar
|
||||
SUBDIR += libtorrent-rasterbar2
|
||||
SUBDIR += libutp
|
||||
SUBDIR += lidarr
|
||||
SUBDIR += linuxdcpp
|
||||
SUBDIR += litecoin
|
||||
|
|
23
net-p2p/libutp/Makefile
Normal file
23
net-p2p/libutp/Makefile
Normal file
|
@ -0,0 +1,23 @@
|
|||
PORTNAME= libutp
|
||||
DISTVERSION= g20180515
|
||||
CATEGORIES= net-p2p
|
||||
|
||||
MAINTAINER= rigoletto@FreeBSD.org
|
||||
COMMENT= uTorrent Transport Protocol library and sample utilities
|
||||
WWW= https://github.com/bittorrent/libutp
|
||||
|
||||
LICENSE= MIT
|
||||
|
||||
USES= cmake uidfix
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= transmission
|
||||
GH_TAGNAME= fda9f4b3db97ccb243fcbed2ce280eb4135d705b
|
||||
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
PLIST_FILES= include/libutp/utp.h \
|
||||
include/libutp/utypes.h \
|
||||
lib/libutp.so
|
||||
|
||||
.include <bsd.port.mk>
|
3
net-p2p/libutp/distinfo
Normal file
3
net-p2p/libutp/distinfo
Normal file
|
@ -0,0 +1,3 @@
|
|||
TIMESTAMP = 1668792304
|
||||
SHA256 (transmission-libutp-g20180515-fda9f4b3db97ccb243fcbed2ce280eb4135d705b_GH0.tar.gz) = c515e6f9add47d3d202389e8a62feb765f0ae41d6398cc238e44028be520774e
|
||||
SIZE (transmission-libutp-g20180515-fda9f4b3db97ccb243fcbed2ce280eb4135d705b_GH0.tar.gz) = 71743
|
11
net-p2p/libutp/files/patch-CMakeLists.txt
Normal file
11
net-p2p/libutp/files/patch-CMakeLists.txt
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- CMakeLists.txt.orig 2017-01-01 23:21:43 UTC
|
||||
+++ CMakeLists.txt
|
||||
@@ -11,7 +11,7 @@ include_directories(.)
|
||||
|
||||
include_directories(.)
|
||||
|
||||
-add_library(${PROJECT_NAME} STATIC
|
||||
+add_library(${PROJECT_NAME} SHARED
|
||||
utp.cpp
|
||||
utp_utils.cpp
|
||||
${${PROJECT_NAME}_ADD_SOURCES}
|
|
@ -418,7 +418,6 @@
|
|||
SUBDIR += libunp
|
||||
SUBDIR += libusipp
|
||||
SUBDIR += libusrsctp
|
||||
SUBDIR += libutp
|
||||
SUBDIR += libvncserver
|
||||
SUBDIR += libwebsockets
|
||||
SUBDIR += libyang
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
PORTNAME= bittorrent-libutp
|
||||
PORTVERSION= 0.20130514
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= net devel
|
||||
|
||||
MAINTAINER= mi@aldan.algebra.com
|
||||
COMMENT= The uTorrent Transport Protocol library and sample utilities
|
||||
WWW= https://github.com/bittorrent/libutp
|
||||
|
||||
LICENSE= MIT
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= ${PORTNAME:C/-.*//}
|
||||
GH_PROJECT= ${PORTNAME:C/.*-//}
|
||||
GH_TAGNAME= 7c4f19a
|
||||
|
||||
USES= dos2unix uidfix
|
||||
MAKEFILE= ${FILESDIR}/BSDmakefile
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
pre-install:
|
||||
@${MKDIR} ${STAGEDIR}${PREFIX}/include/libutp
|
||||
|
||||
post-build:
|
||||
${MAKE} -f ${FILESDIR}/BSDmakefile.utils -C ${WRKSRC}/utp_file PROG_CXX=utp_send
|
||||
${MAKE} -f ${FILESDIR}/BSDmakefile.utils -C ${WRKSRC}/utp_file PROG_CXX=utp_recv
|
||||
${MAKE} -f ${FILESDIR}/BSDmakefile.utils -C ${WRKSRC}/utp_test PROG_CXX=utp_test
|
||||
|
||||
post-install:
|
||||
${INSTALL_PROGRAM} \
|
||||
${WRKSRC}/utp_file/utp_send \
|
||||
${WRKSRC}/utp_file/utp_recv \
|
||||
${WRKSRC}/utp_test/utp_test \
|
||||
${STAGEDIR}${PREFIX}/bin/
|
||||
|
||||
.include <bsd.port.mk>
|
|
@ -1,2 +0,0 @@
|
|||
SHA256 (bittorrent-libutp-0.20130514-7c4f19a_GH0.tar.gz) = 690e9beeb434341d81cc51d2bbd0758e186a519673ef2f391536cdb28c5cee47
|
||||
SIZE (bittorrent-libutp-0.20130514-7c4f19a_GH0.tar.gz) = 71011
|
|
@ -1,16 +0,0 @@
|
|||
LIB= utp
|
||||
SHLIB_MAJOR= 0
|
||||
SRCS= utp.cpp utp_utils.cpp
|
||||
MK_PROFILE= no
|
||||
|
||||
CXXFLAGS+= -fno-exceptions -fno-rtti
|
||||
CXXFLAGS+= -I${.CURDIR} -I${.CURDIR}/utp_config_lib -DPOSIX
|
||||
CXXFLAGS+= -Wall
|
||||
|
||||
INCLUDEDIR= ${PREFIX}/include/libutp
|
||||
LIBDIR= ${PREFIX}/lib
|
||||
INCS= utp.h utp_utils.h utypes.h utp_file/udp.h
|
||||
|
||||
WARNS= 5
|
||||
|
||||
.include <bsd.lib.mk>
|
|
@ -1,10 +0,0 @@
|
|||
# PROG_CXX defined on command-line
|
||||
|
||||
SRCS= ${PROG_CXX}.cpp
|
||||
MAN=
|
||||
LDADD= -L.. -lutp
|
||||
CXXFLAGS+= -I.. -DPOSIX
|
||||
|
||||
WARNS= 3
|
||||
|
||||
.include <bsd.prog.mk>
|
|
@ -1,52 +0,0 @@
|
|||
Index: utp.cpp
|
||||
===================================================================
|
||||
--- utp.cpp (revision 13645)
|
||||
+++ utp.cpp (revision 13646)
|
||||
@@ -1487,6 +1487,8 @@ size_t UTPSocket::selective_ack_bytes(uint base, c
|
||||
return acked_bytes;
|
||||
}
|
||||
|
||||
+enum { MAX_EACK = 128 };
|
||||
+
|
||||
void UTPSocket::selective_ack(uint base, const byte *mask, byte len)
|
||||
{
|
||||
if (cur_window_packets == 0) return;
|
||||
@@ -1499,7 +1501,7 @@ void UTPSocket::selective_ack(uint base, const byt
|
||||
// resends is a stack of sequence numbers we need to resend. Since we
|
||||
// iterate in reverse over the acked packets, at the end, the top packets
|
||||
// are the ones we want to resend
|
||||
- int resends[32];
|
||||
+ int resends[MAX_EACK];
|
||||
int nr = 0;
|
||||
|
||||
LOG_UTPV("0x%08x: Got EACK [%032b] base:%u", this, *(uint32*)mask, base);
|
||||
@@ -1572,6 +1574,12 @@ void UTPSocket::selective_ack(uint base, const byt
|
||||
if (((v - fast_resend_seq_nr) & ACK_NR_MASK) <= OUTGOING_BUFFER_MAX_SIZE &&
|
||||
count >= DUPLICATE_ACKS_BEFORE_RESEND &&
|
||||
duplicate_ack < DUPLICATE_ACKS_BEFORE_RESEND) {
|
||||
+ // resends is a stack, and we're mostly interested in the top of it
|
||||
+ // if we're full, just throw away the lower half
|
||||
+ if (nr >= MAX_EACK - 2) {
|
||||
+ memmove(resends, &resends[MAX_EACK/2], MAX_EACK/2 * sizeof(resends[0]));
|
||||
+ nr -= MAX_EACK / 2;
|
||||
+ }
|
||||
resends[nr++] = v;
|
||||
LOG_UTPV("0x%08x: no ack for %u", this, v);
|
||||
} else {
|
||||
@@ -1580,13 +1588,12 @@ void UTPSocket::selective_ack(uint base, const byt
|
||||
}
|
||||
} while (--bits >= -1);
|
||||
|
||||
- if (((base - 1 - fast_resend_seq_nr) & ACK_NR_MASK) < 256 &&
|
||||
- count >= DUPLICATE_ACKS_BEFORE_RESEND &&
|
||||
- duplicate_ack < DUPLICATE_ACKS_BEFORE_RESEND) {
|
||||
+ if (((base - 1 - fast_resend_seq_nr) & ACK_NR_MASK) <= OUTGOING_BUFFER_MAX_SIZE &&
|
||||
+ count >= DUPLICATE_ACKS_BEFORE_RESEND) {
|
||||
// if we get enough duplicate acks to start
|
||||
// resending, the first packet we should resend
|
||||
// is base-1
|
||||
- resends[nr++] = base - 1;
|
||||
+ resends[nr++] = (base - 1) & ACK_NR_MASK;
|
||||
} else {
|
||||
LOG_UTPV("0x%08x: not resending %u count:%d dup_ack:%u fast_resend_seq_nr:%u",
|
||||
this, base - 1, count, duplicate_ack, fast_resend_seq_nr);
|
|
@ -1,20 +0,0 @@
|
|||
--- utp.cpp.orig 2013-05-14 23:05:36 UTC
|
||||
+++ utp.cpp
|
||||
@@ -1698,7 +1698,7 @@ void UTPSocket::apply_ledbat_ccontrol(size_t bytes_ack
|
||||
// used in parse_log.py
|
||||
LOG_UTP("0x%08x: actual_delay:%u our_delay:%d their_delay:%u off_target:%d max_window:%u "
|
||||
"delay_base:%u delay_sum:%d target_delay:%d acked_bytes:%u cur_window:%u "
|
||||
- "scaled_gain:%f rtt:%u rate:%u quota:%d wnduser:%u rto:%u timeout:%d get_microseconds:"I64u" "
|
||||
+ "scaled_gain:%f rtt:%u rate:%u quota:%d wnduser:%u rto:%u timeout:%d get_microseconds:" I64u " "
|
||||
"cur_window_packets:%u packet_size:%u their_delay_base:%u their_actual_delay:%u",
|
||||
this, actual_delay, our_delay / 1000, their_hist.get_value() / 1000,
|
||||
(int)off_target / 1000, (uint)(max_window), our_hist.delay_base,
|
||||
@@ -1783,7 +1783,7 @@ size_t UTP_ProcessIncoming(UTPSocket *conn, const byte
|
||||
|
||||
if (pk_flags >= ST_NUM_STATES) return 0;
|
||||
|
||||
- LOG_UTPV("0x%08x: Got %s. seq_nr:%u ack_nr:%u state:%s version:%u timestamp:"I64u" reply_micro:%u",
|
||||
+ LOG_UTPV("0x%08x: Got %s. seq_nr:%u ack_nr:%u state:%s version:%u timestamp:" I64u " reply_micro:%u",
|
||||
conn, flagnames[pk_flags], pk_seq_nr, pk_ack_nr, statenames[conn->state], conn->version,
|
||||
conn->version == 0?(uint64)(pf->tv_sec) * 1000000 + pf->tv_usec:uint64(pf1->tv_usec),
|
||||
conn->version == 0?(uint32)(pf->reply_micro):(uint32)(pf1->reply_micro));
|
|
@ -1,54 +0,0 @@
|
|||
--- utp_file/utp_recv.cpp 2013-05-14 19:05:36.000000000 -0400
|
||||
+++ utp_file/utp_recv.cpp 2015-01-22 16:45:03.000000000 -0500
|
||||
@@ -82,5 +82,5 @@
|
||||
UTPSocket *utp_socket = NULL;
|
||||
FILE *file = NULL;
|
||||
-size_t total_recv = 0;
|
||||
+intmax_t total_recv = 0;
|
||||
bool no_connection = true;
|
||||
|
||||
@@ -205,5 +205,5 @@
|
||||
{
|
||||
assert(utp_socket == socket);
|
||||
- printf("utp on_write %u\n", count);
|
||||
+ printf("utp on_write %zu\n", count);
|
||||
assert(false);
|
||||
}
|
||||
@@ -365,10 +365,10 @@
|
||||
last_recv = total_recv;
|
||||
last_time = cur_time;
|
||||
- printf("\r[%u] recv: %d %.1f bytes/s ", cur_time, total_recv, rate);
|
||||
+ printf("\r[%u] recv: %jd %.1f bytes/s ", cur_time, total_recv, rate);
|
||||
fflush(stdout);
|
||||
}
|
||||
}
|
||||
|
||||
- printf("\nreceived: %d bytes\n", total_recv);
|
||||
+ printf("\nreceived: %jd bytes\n", (intmax_t)total_recv);
|
||||
fclose(file);
|
||||
fclose(log_file);
|
||||
--- utp_file/utp_send.cpp 2013-05-14 19:05:36.000000000 -0400
|
||||
+++ utp_file/utp_send.cpp 2015-01-22 16:45:03.000000000 -0500
|
||||
@@ -82,6 +82,6 @@
|
||||
UTPSocket *utp_socket = NULL;
|
||||
FILE *file = NULL;
|
||||
-size_t total_sent = 0;
|
||||
-size_t file_size = 0;
|
||||
+intmax_t total_sent = 0;
|
||||
+intmax_t file_size = 0;
|
||||
|
||||
void utp_log(char const* fmt, ...)
|
||||
@@ -252,5 +252,5 @@
|
||||
{
|
||||
assert(utp_socket == socket);
|
||||
- printf("utp on_read %u\n", count);
|
||||
+ printf("utp on_read %zu\n", count);
|
||||
assert(false);
|
||||
}
|
||||
@@ -392,5 +392,5 @@
|
||||
last_sent = total_sent;
|
||||
last_time = cur_time;
|
||||
- printf("\r[%u] sent: %d/%d %.1f bytes/s ", cur_time, total_sent, file_size, rate);
|
||||
+ printf("\r[%u] sent: %jd/%jd %.1f bytes/s ", cur_time, total_sent, file_size, rate);
|
||||
fflush(stdout);
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
--- utypes.h 2012-05-26 22:02:05.000000000 -0400
|
||||
+++ utypes.h 2012-07-26 17:21:44.000000000 -0400
|
||||
@@ -2,13 +2,15 @@
|
||||
#define __UTYPES_H__
|
||||
|
||||
+#include <stdint.h>
|
||||
+
|
||||
// standard types
|
||||
-typedef unsigned char byte;
|
||||
-typedef unsigned char uint8;
|
||||
-typedef signed char int8;
|
||||
-typedef unsigned short uint16;
|
||||
-typedef signed short int16;
|
||||
+typedef uint8_t byte;
|
||||
+typedef uint8_t uint8;
|
||||
+typedef int8_t int8;
|
||||
+typedef uint16_t uint16;
|
||||
+typedef int16_t int16;
|
||||
typedef unsigned int uint;
|
||||
-typedef unsigned int uint32;
|
||||
-typedef signed int int32;
|
||||
+typedef uint32_t uint32;
|
||||
+typedef int32_t int32;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
@@ -16,6 +18,6 @@
|
||||
typedef signed __int64 int64;
|
||||
#else
|
||||
-typedef unsigned long long uint64;
|
||||
-typedef long long int64;
|
||||
+typedef uint64_t uint64;
|
||||
+typedef int64_t int64;
|
||||
#endif
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
bin/utp_send
|
||||
bin/utp_recv
|
||||
bin/utp_test
|
||||
lib/libutp.so.0
|
||||
lib/libutp.so
|
||||
lib/libutp.a
|
||||
include/libutp/udp.h
|
||||
include/libutp/utp.h
|
||||
include/libutp/utp_utils.h
|
||||
include/libutp/utypes.h
|
Loading…
Reference in a new issue