cleanup: Remove expired rtmp ports:
2024-04-30 multimedia/py-librtmp: Depends on deprecated library librtmp 2024-04-30 multimedia/librtmp: Depends on legacy functionality of OpenSSL and superseded by multimedia/ffmpeg 2024-04-30 multimedia/rtmpdump: Depends on deprecated library librtmp, consider migrating to multimedia/ffmpeg
This commit is contained in:
3
MOVED
3
MOVED
@@ -3214,3 +3214,6 @@ dns/firedns||2024-04-30|Has expired: Abandonware, upstream is gone and last rele
|
||||
sysutils/libretto-config||2024-04-30|Has expired: Utility for obsolete hardware released 20 years ago
|
||||
sysutils/dolly||2024-04-30|Has expired: Abandonware, upstream is gone
|
||||
sysutils/atitvout||2024-04-30|Has expired: Obsolete, utility for hardware released over 20 years ago
|
||||
multimedia/py-librtmp||2024-04-30|Has expired: Depends on deprecated library librtmp
|
||||
multimedia/librtmp||2024-04-30|Has expired: Depends on legacy functionality of OpenSSL and superseded by multimedia/ffmpeg
|
||||
multimedia/rtmpdump||2024-04-30|Has expired: Depends on deprecated library librtmp, consider migrating to multimedia/ffmpeg
|
||||
|
||||
@@ -180,7 +180,6 @@
|
||||
SUBDIR += librav1e
|
||||
SUBDIR += librespot
|
||||
SUBDIR += librist
|
||||
SUBDIR += librtmp
|
||||
SUBDIR += libtheora
|
||||
SUBDIR += libtuner
|
||||
SUBDIR += libudfread
|
||||
@@ -299,7 +298,6 @@
|
||||
SUBDIR += py-ffmpeg-python
|
||||
SUBDIR += py-gstreamer1
|
||||
SUBDIR += py-guessit
|
||||
SUBDIR += py-librtmp
|
||||
SUBDIR += py-mat2
|
||||
SUBDIR += py-metadata-cleaner
|
||||
SUBDIR += py-mido
|
||||
@@ -330,7 +328,6 @@
|
||||
SUBDIR += recordmydesktop
|
||||
SUBDIR += replex
|
||||
SUBDIR += ringrtc
|
||||
SUBDIR += rtmpdump
|
||||
SUBDIR += rubygem-av
|
||||
SUBDIR += rubygem-clutter-gstreamer
|
||||
SUBDIR += rubygem-flvtool2
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
PORTNAME= librtmp
|
||||
PORTVERSION= 2.4.20190330
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= multimedia net
|
||||
MASTER_SITES= https://git.ffmpeg.org/gitweb/rtmpdump.git/snapshot/c5f04a58fc2aeea6296ca7c44ee4734c18401aa3.tar.gz?/
|
||||
DISTNAME= rtmpdump-${PORTVERSION}
|
||||
|
||||
MAINTAINER= hrs@FreeBSD.org
|
||||
COMMENT= RTMP stream library
|
||||
WWW= https://rtmpdump.mplayerhq.hu/
|
||||
|
||||
LICENSE= LGPL21+
|
||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||
|
||||
DEPRECATED= Depends on legacy functionality of OpenSSL and superseded by multimedia/ffmpeg
|
||||
EXPIRATION_DATE=2024-04-30
|
||||
|
||||
USES= pkgconfig ssl
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
CFLAGS+= -I${OPENSSLINC}
|
||||
LDFLAGS+= -L${OPENSSLLIB}
|
||||
PATCH_WRKSRC= ${WRKDIR}/rtmpdump-c5f04a5
|
||||
WRKSRC= ${WRKDIR}/rtmpdump-c5f04a5/${PORTNAME}
|
||||
|
||||
.include <bsd.port.mk>
|
||||
@@ -1,3 +0,0 @@
|
||||
TIMESTAMP = 1584312692
|
||||
SHA256 (rtmpdump-2.4.20190330.tar.gz) = fd8c21263d93fbde8bee8aa6c5f6a657789674bb0f9e74f050651504d5f43b46
|
||||
SIZE (rtmpdump-2.4.20190330.tar.gz) = 143037
|
||||
@@ -1,84 +0,0 @@
|
||||
--- librtmp/Makefile.orig 2019-03-30 21:33:00 UTC
|
||||
+++ librtmp/Makefile
|
||||
@@ -1,19 +1,21 @@ VERSION=v2.4
|
||||
VERSION=v2.4
|
||||
|
||||
-prefix=/usr/local
|
||||
+prefix=$(PREFIX)
|
||||
|
||||
incdir=$(prefix)/include/librtmp
|
||||
bindir=$(prefix)/bin
|
||||
libdir=$(prefix)/lib
|
||||
-mandir=$(prefix)/man
|
||||
+libdatadir=$(prefix)/libdata
|
||||
+mandir=$(prefix)/share/man
|
||||
BINDIR=$(DESTDIR)$(bindir)
|
||||
INCDIR=$(DESTDIR)$(incdir)
|
||||
LIBDIR=$(DESTDIR)$(libdir)
|
||||
+LIBDATADIR=$(DESTDIR)$(libdatadir)
|
||||
MANDIR=$(DESTDIR)$(mandir)
|
||||
|
||||
-CC=$(CROSS_COMPILE)gcc
|
||||
-LD=$(CROSS_COMPILE)ld
|
||||
-AR=$(CROSS_COMPILE)ar
|
||||
+CC?=$(CROSS_COMPILE)gcc
|
||||
+LD?=$(CROSS_COMPILE)ld
|
||||
+AR?=$(CROSS_COMPILE)ar
|
||||
|
||||
SYS=posix
|
||||
CRYPTO=OPENSSL
|
||||
@@ -23,14 +25,14 @@ REQ_GNUTLS=gnutls,hogweed,nettle
|
||||
DEF_GNUTLS=-DUSE_GNUTLS
|
||||
DEF_=-DNO_CRYPTO
|
||||
REQ_GNUTLS=gnutls,hogweed,nettle
|
||||
-REQ_OPENSSL=libssl,libcrypto
|
||||
+#REQ_OPENSSL=libssl,libcrypto
|
||||
PUB_GNUTLS=-lgmp
|
||||
LIBZ=-lz
|
||||
LIBS_posix=
|
||||
LIBS_darwin=
|
||||
LIBS_mingw=-lws2_32 -lwinmm -lgdi32
|
||||
LIB_GNUTLS=-lgnutls -lhogweed -lnettle -lgmp $(LIBZ)
|
||||
-LIB_OPENSSL=-lssl -lcrypto $(LIBZ)
|
||||
+LIB_OPENSSL=-L$(OPENSSLLIB) -lssl -lcrypto $(LIBZ)
|
||||
LIB_POLARSSL=-lpolarssl $(LIBZ)
|
||||
PRIVATE_LIBS=$(LIBS_$(SYS))
|
||||
CRYPTO_LIB=$(LIB_$(CRYPTO)) $(PRIVATE_LIBS)
|
||||
@@ -74,8 +76,9 @@ OPT=-O2
|
||||
|
||||
DEF=-DRTMPDUMP_VERSION=\"$(VERSION)\" $(CRYPTO_DEF) $(XDEF)
|
||||
OPT=-O2
|
||||
-CFLAGS=-Wall $(XCFLAGS) $(INC) $(DEF) $(OPT) $(SO_DEF)
|
||||
-LDFLAGS=$(XLDFLAGS)
|
||||
+#CFLAGS=-Wall $(XCFLAGS) $(INC) $(DEF) $(OPT) $(SO_DEF)
|
||||
+CFLAGS+=$(DEF) $(SO_DEF)
|
||||
+#LDFLAGS=$(XLDFLAGS)
|
||||
|
||||
|
||||
OBJS=rtmp.o log.o amf.o hashswf.o parseurl.o
|
||||
@@ -102,20 +105,22 @@ librtmp.pc: librtmp.pc.in Makefile
|
||||
sed -e "s;@prefix@;$(prefix);" -e "s;@libdir@;$(libdir);" \
|
||||
-e "s;@VERSION@;$(VERSION);" \
|
||||
-e "s;@CRYPTO_REQ@;$(CRYPTO_REQ);" \
|
||||
+ -e "s;@OPENSSLLIB@;$(OPENSSLLIB);" \
|
||||
+ -e "s;@OPENSSLINC@;$(OPENSSLINC);" \
|
||||
-e "s;@PUBLIC_LIBS@;$(PUBLIC_LIBS);" \
|
||||
-e "s;@PRIVATE_LIBS@;$(PRIVATE_LIBS);" librtmp.pc.in > $@
|
||||
|
||||
install: install_base $(SO_INST)
|
||||
|
||||
install_base: librtmp.a librtmp.pc
|
||||
- -mkdir -p $(INCDIR) $(LIBDIR)/pkgconfig $(MANDIR)/man3 $(SODIR)
|
||||
+ -mkdir -p $(INCDIR) $(LIBDATADIR)/pkgconfig $(MANDIR)/man3 $(SODIR)
|
||||
cp amf.h http.h log.h rtmp.h $(INCDIR)
|
||||
cp librtmp.a $(LIBDIR)
|
||||
- cp librtmp.pc $(LIBDIR)/pkgconfig
|
||||
+ cp librtmp.pc $(LIBDATADIR)/pkgconfig
|
||||
cp librtmp.3 $(MANDIR)/man3
|
||||
|
||||
install_so: librtmp$(SO_EXT)
|
||||
- cp librtmp$(SO_EXT) $(SODIR)
|
||||
+ ${BSD_INSTALL_LIB} librtmp$(SO_EXT) $(SODIR)
|
||||
$(INSTALL_IMPLIB)
|
||||
cd $(SODIR); ln -sf librtmp$(SO_EXT) librtmp.$(SOX)
|
||||
|
||||
@@ -1,116 +0,0 @@
|
||||
--- librtmp/dh.h.orig 2016-02-29 01:15:13 UTC
|
||||
+++ librtmp/dh.h
|
||||
@@ -194,7 +194,7 @@ typedef BIGNUM * MP_t;
|
||||
|
||||
/* RFC 2631, Section 2.1.5, http://www.ietf.org/rfc/rfc2631.txt */
|
||||
static int
|
||||
-isValidPublicKey(MP_t y, MP_t p, MP_t q)
|
||||
+isValidPublicKey(const MP_t y, const MP_t p, const MP_t q)
|
||||
{
|
||||
int ret = TRUE;
|
||||
MP_t bn;
|
||||
@@ -253,20 +253,43 @@ DHInit(int nKeyBits)
|
||||
if (!dh)
|
||||
goto failed;
|
||||
|
||||
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
MP_new(dh->g);
|
||||
|
||||
if (!dh->g)
|
||||
goto failed;
|
||||
+#else
|
||||
+ BIGNUM *g;
|
||||
|
||||
+ MP_new(g);
|
||||
+ if (g == NULL)
|
||||
+ goto failed;
|
||||
+#endif
|
||||
+
|
||||
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
MP_gethex(dh->p, P1024, res); /* prime P1024, see dhgroups.h */
|
||||
+#else
|
||||
+ const BIGNUM *p = DH_get0_p(dh);
|
||||
+
|
||||
+ MP_gethex(p, P1024, res); /* prime P1024, see dhgroups.h */
|
||||
+#endif
|
||||
if (!res)
|
||||
{
|
||||
goto failed;
|
||||
}
|
||||
|
||||
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
MP_set_w(dh->g, 2); /* base 2 */
|
||||
+#else
|
||||
+ MP_set_w(g, 2); /* base 2 */
|
||||
+ DH_set0_pqg(dh, p, NULL, g);
|
||||
+#endif
|
||||
|
||||
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
dh->length = nKeyBits;
|
||||
+#else
|
||||
+ DH_set_length(dh, nKeyBits);
|
||||
+#endif
|
||||
return dh;
|
||||
|
||||
failed:
|
||||
@@ -293,12 +316,20 @@ DHGenerateKey(MDH *dh)
|
||||
MP_gethex(q1, Q1024, res);
|
||||
assert(res);
|
||||
|
||||
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
res = isValidPublicKey(dh->pub_key, dh->p, q1);
|
||||
+#else
|
||||
+ res = isValidPublicKey(DH_get0_pub_key(dh), DH_get0_p(dh), q1);
|
||||
+#endif
|
||||
if (!res)
|
||||
{
|
||||
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
MP_free(dh->pub_key);
|
||||
MP_free(dh->priv_key);
|
||||
dh->pub_key = dh->priv_key = 0;
|
||||
+#else
|
||||
+ DH_set0_key(dh, NULL, NULL);
|
||||
+#endif
|
||||
}
|
||||
|
||||
MP_free(q1);
|
||||
@@ -314,15 +345,27 @@ static int
|
||||
DHGetPublicKey(MDH *dh, uint8_t *pubkey, size_t nPubkeyLen)
|
||||
{
|
||||
int len;
|
||||
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
if (!dh || !dh->pub_key)
|
||||
+#else
|
||||
+ if (!dh || !DH_get0_pub_key(dh))
|
||||
+#endif
|
||||
return 0;
|
||||
|
||||
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
len = MP_bytes(dh->pub_key);
|
||||
+#else
|
||||
+ len = MP_bytes(DH_get0_pub_key(dh));
|
||||
+#endif
|
||||
if (len <= 0 || len > (int) nPubkeyLen)
|
||||
return 0;
|
||||
|
||||
memset(pubkey, 0, nPubkeyLen);
|
||||
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
MP_setbin(dh->pub_key, pubkey + (nPubkeyLen - len), len);
|
||||
+#else
|
||||
+ MP_setbin(DH_get0_pub_key(dh), pubkey + (nPubkeyLen - len), len);
|
||||
+#endif
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -364,7 +407,11 @@ DHComputeSharedSecretKey(MDH *dh, uint8_
|
||||
MP_gethex(q1, Q1024, len);
|
||||
assert(len);
|
||||
|
||||
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
if (isValidPublicKey(pubkeyBn, dh->p, q1))
|
||||
+#else
|
||||
+ if (isValidPublicKey(pubkeyBn, DH_get0_p(dh), q1))
|
||||
+#endif
|
||||
res = MDH_compute_key(secret, nPubkeyLen, pubkeyBn, dh);
|
||||
else
|
||||
res = -1;
|
||||
@@ -1,100 +0,0 @@
|
||||
--- librtmp/handshake.h.orig 2016-02-29 01:15:13 UTC
|
||||
+++ librtmp/handshake.h
|
||||
@@ -31,9 +31,13 @@
|
||||
#define SHA256_DIGEST_LENGTH 32
|
||||
#endif
|
||||
#define HMAC_CTX sha2_context
|
||||
-#define HMAC_setup(ctx, key, len) sha2_hmac_starts(&ctx, (unsigned char *)key, len, 0)
|
||||
-#define HMAC_crunch(ctx, buf, len) sha2_hmac_update(&ctx, buf, len)
|
||||
-#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; sha2_hmac_finish(&ctx, dig)
|
||||
+#define HMAC_setup(ctx, key, len) do { \
|
||||
+ if (ctx == NULL) \
|
||||
+ ctx = calloc(1, sizeof(*ctx)); \
|
||||
+ sha2_hmac_starts(ctx, (unsigned char *)key, len, 0); \
|
||||
+ } while (0)
|
||||
+#define HMAC_crunch(ctx, buf, len) sha2_hmac_update(ctx, buf, len)
|
||||
+#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; sha2_hmac_finish(ctx, dig)
|
||||
|
||||
typedef arc4_context * RC4_handle;
|
||||
#define RC4_alloc(h) *h = malloc(sizeof(arc4_context))
|
||||
@@ -50,10 +54,17 @@ typedef arc4_context * RC4_handle;
|
||||
#endif
|
||||
#undef HMAC_CTX
|
||||
#define HMAC_CTX struct hmac_sha256_ctx
|
||||
-#define HMAC_setup(ctx, key, len) hmac_sha256_set_key(&ctx, len, key)
|
||||
-#define HMAC_crunch(ctx, buf, len) hmac_sha256_update(&ctx, len, buf)
|
||||
-#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
|
||||
-#define HMAC_close(ctx)
|
||||
+#define HMAC_setup(ctx, key, len) do { \
|
||||
+ if (ctx == NULL) \
|
||||
+ ctx = calloc(1, sizeof(*ctx)); \
|
||||
+ hmac_sha256_set_key(ctx, len, key); \
|
||||
+ } while (0)
|
||||
+#define HMAC_crunch(ctx, buf, len) hmac_sha256_update(ctx, len, buf)
|
||||
+#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(ctx, SHA256_DIGEST_LENGTH, dig)
|
||||
+#define HMAC_close(ctx) do { \
|
||||
+ free(ctx); \
|
||||
+ ctx = NULL; \
|
||||
+ } while (0)
|
||||
|
||||
typedef struct arcfour_ctx* RC4_handle;
|
||||
#define RC4_alloc(h) *h = malloc(sizeof(struct arcfour_ctx))
|
||||
@@ -69,9 +80,37 @@ typedef struct arcfour_ctx* RC4_handle;
|
||||
#if OPENSSL_VERSION_NUMBER < 0x0090800 || !defined(SHA256_DIGEST_LENGTH)
|
||||
#error Your OpenSSL is too old, need 0.9.8 or newer with SHA256
|
||||
#endif
|
||||
-#define HMAC_setup(ctx, key, len) HMAC_CTX_init(&ctx); HMAC_Init_ex(&ctx, key, len, EVP_sha256(), 0)
|
||||
-#define HMAC_crunch(ctx, buf, len) HMAC_Update(&ctx, buf, len)
|
||||
-#define HMAC_finish(ctx, dig, dlen) HMAC_Final(&ctx, dig, &dlen); HMAC_CTX_cleanup(&ctx)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||
+#define HMAC_setup(ctx, key, len) do { \
|
||||
+ if (ctx == NULL) \
|
||||
+ ctx = calloc(1, sizeof(*ctx)); \
|
||||
+ HMAC_CTX_init(ctx); \
|
||||
+ HMAC_Init_ex(ctx, key, len, EVP_sha256(), 0); \
|
||||
+ } while (0)
|
||||
+#else
|
||||
+#define HMAC_setup(ctx, key, len) do { \
|
||||
+ if (ctx == NULL) \
|
||||
+ ctx = HMAC_CTX_new(); \
|
||||
+ else \
|
||||
+ HMAC_CTX_reset(ctx); \
|
||||
+ HMAC_Init_ex(ctx, key, len, EVP_sha256(), 0); \
|
||||
+ } while (0)
|
||||
+#endif
|
||||
+#define HMAC_crunch(ctx, buf, len) HMAC_Update(ctx, buf, len)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||
+#define HMAC_finish(ctx, dig, dlen) do { \
|
||||
+ HMAC_Final(ctx, dig, &dlen); \
|
||||
+ HMAC_CTX_cleanup(ctx); \
|
||||
+ free(ctx); \
|
||||
+ ctx = NULL; \
|
||||
+ } while (0)
|
||||
+#else
|
||||
+#define HMAC_finish(ctx, dig, dlen) do { \
|
||||
+ HMAC_Final(ctx, dig, &dlen); \
|
||||
+ HMAC_CTX_free(ctx); \
|
||||
+ ctx = NULL; \
|
||||
+ } while (0)
|
||||
+#endif
|
||||
|
||||
typedef RC4_KEY * RC4_handle;
|
||||
#define RC4_alloc(h) *h = malloc(sizeof(RC4_KEY))
|
||||
@@ -117,7 +156,7 @@ static void InitRC4Encryption
|
||||
{
|
||||
uint8_t digest[SHA256_DIGEST_LENGTH];
|
||||
unsigned int digestLen = 0;
|
||||
- HMAC_CTX ctx;
|
||||
+ HMAC_CTX *ctx = NULL;
|
||||
|
||||
RC4_alloc(rc4keyIn);
|
||||
RC4_alloc(rc4keyOut);
|
||||
@@ -266,7 +305,7 @@ HMACsha256(const uint8_t *message, size_
|
||||
size_t keylen, uint8_t *digest)
|
||||
{
|
||||
unsigned int digestLen;
|
||||
- HMAC_CTX ctx;
|
||||
+ HMAC_CTX *ctx = NULL;
|
||||
|
||||
HMAC_setup(ctx, key, keylen);
|
||||
HMAC_crunch(ctx, message, messageLen);
|
||||
@@ -1,94 +0,0 @@
|
||||
--- librtmp/hashswf.c.orig 2019-03-30 21:33:00 UTC
|
||||
+++ librtmp/hashswf.c
|
||||
@@ -37,10 +37,17 @@
|
||||
#define SHA256_DIGEST_LENGTH 32
|
||||
#endif
|
||||
#define HMAC_CTX sha2_context
|
||||
-#define HMAC_setup(ctx, key, len) sha2_hmac_starts(&ctx, (unsigned char *)key, len, 0)
|
||||
-#define HMAC_crunch(ctx, buf, len) sha2_hmac_update(&ctx, buf, len)
|
||||
-#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; sha2_hmac_finish(&ctx, dig)
|
||||
-#define HMAC_close(ctx)
|
||||
+#define HMAC_setup(ctx, key, len) do { \
|
||||
+ if (ctx == NULL) \
|
||||
+ ctx = calloc(1, sizeof(*ctx)); \
|
||||
+ sha2_hmac_starts(ctx, (unsigned char *)key, len, 0); \
|
||||
+ } while (0);
|
||||
+#define HMAC_crunch(ctx, buf, len) sha2_hmac_update(ctx, buf, len)
|
||||
+#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; sha2_hmac_finish(ctx, dig)
|
||||
+#define HMAC_close(ctx) do { \
|
||||
+ free(ctx); \
|
||||
+ ctx = NULL; \
|
||||
+ } while (0)
|
||||
#elif defined(USE_GNUTLS)
|
||||
#include <nettle/hmac.h>
|
||||
#ifndef SHA256_DIGEST_LENGTH
|
||||
@@ -48,20 +55,52 @@
|
||||
#endif
|
||||
#undef HMAC_CTX
|
||||
#define HMAC_CTX struct hmac_sha256_ctx
|
||||
-#define HMAC_setup(ctx, key, len) hmac_sha256_set_key(&ctx, len, key)
|
||||
-#define HMAC_crunch(ctx, buf, len) hmac_sha256_update(&ctx, len, buf)
|
||||
-#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
|
||||
-#define HMAC_close(ctx)
|
||||
+#define HMAC_setup(ctx, key, len) do { \
|
||||
+ if (ctx == NULL) \
|
||||
+ ctx = calloc(1, sizeof(*ctx)); \
|
||||
+ hmac_sha256_set_key(ctx, len, key); \
|
||||
+ } while (0)
|
||||
+#define HMAC_crunch(ctx, buf, len) hmac_sha256_update(ctx, len, buf)
|
||||
+#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(ctx, SHA256_DIGEST_LENGTH, dig)
|
||||
+#define HMAC_close(ctx) do { \
|
||||
+ free(ctx); \
|
||||
+ ctx = NULL; \
|
||||
+ } while (0)
|
||||
#else /* USE_OPENSSL */
|
||||
#include <openssl/ssl.h>
|
||||
#include <openssl/sha.h>
|
||||
#include <openssl/hmac.h>
|
||||
#include <openssl/rc4.h>
|
||||
-#define HMAC_setup(ctx, key, len) HMAC_CTX_init(&ctx); HMAC_Init_ex(&ctx, (unsigned char *)key, len, EVP_sha256(), 0)
|
||||
-#define HMAC_crunch(ctx, buf, len) HMAC_Update(&ctx, (unsigned char *)buf, len)
|
||||
-#define HMAC_finish(ctx, dig, dlen) HMAC_Final(&ctx, (unsigned char *)dig, &dlen);
|
||||
-#define HMAC_close(ctx) HMAC_CTX_cleanup(&ctx)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||
+#define HMAC_setup(ctx, key, len) do { \
|
||||
+ if (ctx == NULL) \
|
||||
+ ctx = calloc(1, sizeof(*ctx)); \
|
||||
+ HMAC_CTX_init(ctx); \
|
||||
+ HMAC_Init_ex(ctx, (unsigned char *)key, len, EVP_sha256(), 0); \
|
||||
+ } while (0)
|
||||
+#else
|
||||
+#define HMAC_setup(ctx, key, len) do { \
|
||||
+ if (ctx == NULL) \
|
||||
+ ctx = HMAC_CTX_new(); \
|
||||
+ HMAC_Init_ex(ctx, (unsigned char *)key, len, EVP_sha256(), 0); \
|
||||
+ } while (0);
|
||||
#endif
|
||||
+#define HMAC_crunch(ctx, buf, len) HMAC_Update(ctx, (unsigned char *)buf, len)
|
||||
+#define HMAC_finish(ctx, dig, dlen) HMAC_Final(ctx, (unsigned char *)dig, &dlen);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||
+#define HMAC_close(ctx) do { \
|
||||
+ HMAC_CTX_cleanup(ctx); \
|
||||
+ free(ctx); \
|
||||
+ ctx = NULL; \
|
||||
+ } while (0)
|
||||
+#else
|
||||
+#define HMAC_close(ctx) do { \
|
||||
+ HMAC_CTX_reset(ctx); \
|
||||
+ HMAC_CTX_free(ctx); \
|
||||
+ ctx = NULL; \
|
||||
+ } while (0)
|
||||
+#endif
|
||||
+#endif
|
||||
|
||||
extern void RTMP_TLS_Init();
|
||||
extern TLS_CTX RTMP_TLS_ctx;
|
||||
@@ -298,7 +337,7 @@ struct info
|
||||
struct info
|
||||
{
|
||||
z_stream *zs;
|
||||
- HMAC_CTX ctx;
|
||||
+ HMAC_CTX *ctx;
|
||||
int first;
|
||||
int zlib;
|
||||
int size;
|
||||
@@ -1,11 +0,0 @@
|
||||
--- librtmp/librtmp.pc.in.orig 2016-02-29 01:15:13 UTC
|
||||
+++ librtmp/librtmp.pc.in
|
||||
@@ -8,6 +8,6 @@ Description: RTMP implementation
|
||||
Version: @VERSION@
|
||||
Requires: @CRYPTO_REQ@
|
||||
URL: http://rtmpdump.mplayerhq.hu
|
||||
-Libs: -L${libdir} -lrtmp -lz @PUBLIC_LIBS@
|
||||
+Libs: -L${libdir} -L@OPENSSLLIB@ -lrtmp -lz @PUBLIC_LIBS@
|
||||
Libs.private: @PRIVATE_LIBS@
|
||||
-Cflags: -I${incdir}
|
||||
+Cflags: -I${incdir} -I@OPENSSLINC@
|
||||
@@ -1 +0,0 @@
|
||||
librtmp is the library part of rtmpdump.
|
||||
@@ -1,9 +0,0 @@
|
||||
include/librtmp/amf.h
|
||||
include/librtmp/http.h
|
||||
include/librtmp/log.h
|
||||
include/librtmp/rtmp.h
|
||||
lib/librtmp.a
|
||||
lib/librtmp.so
|
||||
lib/librtmp.so.1
|
||||
libdata/pkgconfig/librtmp.pc
|
||||
share/man/man3/librtmp.3.gz
|
||||
@@ -1,34 +0,0 @@
|
||||
PORTNAME= librtmp
|
||||
PORTVERSION= 0.3.0
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= multimedia python
|
||||
MASTER_SITES= PYPI
|
||||
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
||||
DISTNAME= python-${PORTNAME}-${PORTVERSION}
|
||||
|
||||
MAINTAINER= bofh@FreeBSD.org
|
||||
COMMENT= Python bindings for librtmp, built with cffi
|
||||
WWW= https://github.com/chrippa/python-librtmp
|
||||
|
||||
LICENSE= BSD2CLAUSE
|
||||
|
||||
DEPRECATED= Depends on deprecated library librtmp
|
||||
EXPIRATION_DATE=2024-04-30
|
||||
|
||||
LIB_DEPENDS= librtmp.so:multimedia/librtmp
|
||||
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cffi>=0:devel/py-cffi@${PY_FLAVOR}
|
||||
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cffi>=0:devel/py-cffi@${PY_FLAVOR}
|
||||
|
||||
USES= python localbase:ldflags
|
||||
USE_PYTHON= autoplist distutils
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
.if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400091 || ( ${OSVERSION} >= 1302507 && ${OSVERSION} < 1400000 ))
|
||||
CFLAGS+= -Wno-error=incompatible-function-pointer-types
|
||||
.endif
|
||||
|
||||
post-install:
|
||||
${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/librtmp/_librtmp*.so
|
||||
|
||||
.include <bsd.port.mk>
|
||||
@@ -1,2 +0,0 @@
|
||||
SHA256 (python-librtmp-0.3.0.tar.gz) = 4a41ada646270baa5b388f17481d08679d23b2947835901d0db7602c59ec772b
|
||||
SIZE (python-librtmp-0.3.0.tar.gz) = 24368
|
||||
@@ -1,2 +0,0 @@
|
||||
python-librtmp is a Python interface to librtmp. It uses cffi to interface with
|
||||
the C library librtmp.
|
||||
@@ -1,38 +0,0 @@
|
||||
PORTNAME= rtmpdump
|
||||
DISTVERSION= 2.4.20190330
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= multimedia net
|
||||
MASTER_SITES= https://git.ffmpeg.org/gitweb/rtmpdump.git/snapshot/c5f04a58fc2aeea6296ca7c44ee4734c18401aa3.tar.gz?/
|
||||
|
||||
MAINTAINER= hrs@FreeBSD.org
|
||||
COMMENT= RTMP streams download utility
|
||||
WWW= https://rtmpdump.mplayerhq.hu/
|
||||
|
||||
LICENSE= GPLv2
|
||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||
|
||||
DEPRECATED= Depends on deprecated library librtmp, consider migrating to multimedia/ffmpeg
|
||||
EXPIRATION_DATE=2024-04-30
|
||||
|
||||
LIB_DEPENDS= librtmp.so:multimedia/librtmp
|
||||
|
||||
USES= cpe pkgconfig ssl
|
||||
MAKE_ENV= THREADLIB="-lpthread"
|
||||
CFLAGS+= -I${OPENSSLINC}
|
||||
LDFLAGS+= -L${LOCALBASE}/lib -L${OPENSSLLIB}
|
||||
PORTDOCS= ChangeLog README
|
||||
CPE_VENDOR= rtmpdump_project
|
||||
|
||||
OPTIONS_DEFINE= DOCS
|
||||
|
||||
WRKSRC= ${WRKDIR}/${PORTNAME}-c5f04a5
|
||||
|
||||
post-patch:
|
||||
${REINPLACE_CMD} -e '/^mandir=/s,$$(prefix),$$(prefix)/share,' \
|
||||
${WRKSRC}/Makefile
|
||||
|
||||
post-install-DOCS-on:
|
||||
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||
cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
|
||||
|
||||
.include <bsd.port.mk>
|
||||
@@ -1,3 +0,0 @@
|
||||
TIMESTAMP = 1584312949
|
||||
SHA256 (rtmpdump-2.4.20190330.tar.gz) = fd8c21263d93fbde8bee8aa6c5f6a657789674bb0f9e74f050651504d5f43b46
|
||||
SIZE (rtmpdump-2.4.20190330.tar.gz) = 143037
|
||||
@@ -1,70 +0,0 @@
|
||||
--- Makefile.orig 2016-02-29 01:15:13 UTC
|
||||
+++ Makefile
|
||||
@@ -1,9 +1,9 @@
|
||||
VERSION=v2.4
|
||||
|
||||
-prefix=/usr/local
|
||||
+prefix=${PREFIX}
|
||||
|
||||
-CC=$(CROSS_COMPILE)gcc
|
||||
-LD=$(CROSS_COMPILE)ld
|
||||
+#CC=$(CROSS_COMPILE)gcc
|
||||
+#LD=$(CROSS_COMPILE)ld
|
||||
|
||||
SYS=posix
|
||||
#SYS=mingw
|
||||
@@ -21,8 +21,9 @@ CRYPTO_DEF=$(DEF_$(CRYPTO))
|
||||
|
||||
DEF=-DRTMPDUMP_VERSION=\"$(VERSION)\" $(CRYPTO_DEF) $(XDEF)
|
||||
OPT=-O2
|
||||
-CFLAGS=-Wall $(XCFLAGS) $(INC) $(DEF) $(OPT)
|
||||
-LDFLAGS=-Wall $(XLDFLAGS)
|
||||
+#CFLAGS=-Wall $(XCFLAGS) $(INC) $(DEF) $(OPT)
|
||||
+CFLAGS+=$(DEF)
|
||||
+#LDFLAGS=-Wall $(XLDFLAGS)
|
||||
|
||||
bindir=$(prefix)/bin
|
||||
sbindir=$(prefix)/sbin
|
||||
@@ -35,13 +36,13 @@ MANDIR=$(DESTDIR)$(mandir)
|
||||
LIBS_posix=
|
||||
LIBS_darwin=
|
||||
LIBS_mingw=-lws2_32 -lwinmm -lgdi32
|
||||
-LIB_RTMP=-Llibrtmp -lrtmp
|
||||
+LIB_RTMP=-lrtmp
|
||||
LIBS=$(LIB_RTMP) $(CRYPTO_LIB) $(LIBS_$(SYS)) $(XLIBS)
|
||||
|
||||
THREADLIB_posix=-lpthread
|
||||
THREADLIB_darwin=-lpthread
|
||||
THREADLIB_mingw=
|
||||
-THREADLIB=$(THREADLIB_$(SYS))
|
||||
+THREADLIB?=$(THREADLIB_$(SYS))
|
||||
SLIBS=$(THREADLIB) $(LIBS)
|
||||
|
||||
LIBRTMP=librtmp/librtmp.a
|
||||
@@ -54,21 +55,17 @@ EXT=$(EXT_$(SYS))
|
||||
|
||||
PROGS=rtmpdump rtmpgw rtmpsrv rtmpsuck
|
||||
|
||||
-all: $(LIBRTMP) $(PROGS)
|
||||
-
|
||||
-$(PROGS): $(LIBRTMP)
|
||||
+all: $(PROGS)
|
||||
|
||||
install: $(PROGS)
|
||||
-mkdir -p $(BINDIR) $(SBINDIR) $(MANDIR)/man1 $(MANDIR)/man8
|
||||
- cp rtmpdump$(EXT) $(BINDIR)
|
||||
- cp rtmpgw$(EXT) rtmpsrv$(EXT) rtmpsuck$(EXT) $(SBINDIR)
|
||||
- cp rtmpdump.1 $(MANDIR)/man1
|
||||
- cp rtmpgw.8 $(MANDIR)/man8
|
||||
- @cd librtmp; $(MAKE) install
|
||||
+ ${BSD_INSTALL_PROGRAM} rtmpdump$(EXT) $(BINDIR)
|
||||
+ ${BSD_INSTALL_PROGRAM} rtmpgw$(EXT) rtmpsrv$(EXT) rtmpsuck$(EXT) $(SBINDIR)
|
||||
+ ${BSD_INSTALL_DATA} rtmpdump.1 $(MANDIR)/man1
|
||||
+ ${BSD_INSTALL_DATA} rtmpgw.8 $(MANDIR)/man8
|
||||
|
||||
clean:
|
||||
rm -f *.o rtmpdump$(EXT) rtmpgw$(EXT) rtmpsrv$(EXT) rtmpsuck$(EXT)
|
||||
- @cd librtmp; $(MAKE) clean
|
||||
|
||||
FORCE:
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
rtmpdump is a tool to download RTMP streams. All forms of RTMP are supported,
|
||||
including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://.
|
||||
@@ -1,6 +0,0 @@
|
||||
bin/rtmpdump
|
||||
sbin/rtmpgw
|
||||
sbin/rtmpsrv
|
||||
sbin/rtmpsuck
|
||||
share/man/man1/rtmpdump.1.gz
|
||||
share/man/man8/rtmpgw.8.gz
|
||||
Reference in New Issue
Block a user