------------------------------------------------------------------------------- -- Phase: setup ------------------------------------------------------------------------------- Installing /packages/All/pkgconf-1.6.3,1.txz Installing /packages/All/openssl-1.1.1g,1.txz SUCCEEDED 00:00:02 ------------------------------------------------------------------------------- -- Phase: check-sanity ------------------------------------------------------------------------------- SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: pkg-depends ------------------------------------------------------------------------------- ===> librtmp-2.4.20190330 depends on file: /usr/local/sbin/pkg - found SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: fetch-depends ------------------------------------------------------------------------------- SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: fetch ------------------------------------------------------------------------------- ===> librtmp-2.4.20190330 depends on file: /usr/local/sbin/pkg - found => rtmpdump-2.4.20190330.tar.gz doesn't seem to exist in /distfiles/. => Attempting to fetch https://git.ffmpeg.org/gitweb/rtmpdump.git/snapshot/c5f04a58fc2aeea6296ca7c44ee4734c18401aa3.tar.gz?/rtmpdump-2.4.20190330.tar.gz fetch: https://git.ffmpeg.org/gitweb/rtmpdump.git/snapshot/c5f04a58fc2aeea6296ca7c44ee4734c18401aa3.tar.gz?/rtmpdump-2.4.20190330.tar.gz: size unknown fetch: https://git.ffmpeg.org/gitweb/rtmpdump.git/snapshot/c5f04a58fc2aeea6296ca7c44ee4734c18401aa3.tar.gz?/rtmpdump-2.4.20190330.tar.gz: size of remote file is not known rtmpdump-2.4.20190330.tar.gz 0 B 0 Bps rtmpdump-2.4.20190330.tar.gz 48 kB 145 kBps rtmpdump-2.4.20190330.tar.gz 139 kB 211 kBps 01s ===> Fetching all distfiles required by librtmp-2.4.20190330 for building SUCCEEDED 00:00:02 ------------------------------------------------------------------------------- -- Phase: checksum ------------------------------------------------------------------------------- ===> librtmp-2.4.20190330 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by librtmp-2.4.20190330 for building => SHA256 Checksum OK for rtmpdump-2.4.20190330.tar.gz. SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: extract-depends ------------------------------------------------------------------------------- SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: extract ------------------------------------------------------------------------------- ===> librtmp-2.4.20190330 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by librtmp-2.4.20190330 for building ===> Extracting for librtmp-2.4.20190330 => SHA256 Checksum OK for rtmpdump-2.4.20190330.tar.gz. Extracted Memory Use: 0.60M SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: patch-depends ------------------------------------------------------------------------------- SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: patch ------------------------------------------------------------------------------- ===> Patching for librtmp-2.4.20190330 ===> Applying ports patches for librtmp-2.4.20190330 ===> Cleanly applied ports patch(es) patch-librtmp-Makefile patch-librtmp-dh.h patch-librtmp-handshake.h patch-librtmp-hashswf.c patch-librtmp-librtmp.pc.in SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: build-depends ------------------------------------------------------------------------------- ===> librtmp-2.4.20190330 depends on package: pkgconf>=1.3.0_1 - found ===> librtmp-2.4.20190330 depends on file: /usr/local/lib/libcrypto.so.11 - found SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: lib-depends ------------------------------------------------------------------------------- SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: configure ------------------------------------------------------------------------------- ===> librtmp-2.4.20190330 depends on package: pkgconf>=1.3.0_1 - found ===> librtmp-2.4.20190330 depends on file: /usr/local/lib/libcrypto.so.11 - found ===> Configuring for librtmp-2.4.20190330 SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: build ------------------------------------------------------------------------------- ===> Building for librtmp-2.4.20190330 --- rtmp.o --- --- log.o --- --- amf.o --- --- hashswf.o --- --- parseurl.o --- --- amf.o --- cc -pipe -I/usr/local/include -O2 -fno-strict-aliasing -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL -fPIC -c amf.c --- parseurl.o --- cc -pipe -I/usr/local/include -O2 -fno-strict-aliasing -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL -fPIC -c parseurl.c --- rtmp.o --- cc -pipe -I/usr/local/include -O2 -fno-strict-aliasing -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL -fPIC -c rtmp.c --- log.o --- cc -pipe -I/usr/local/include -O2 -fno-strict-aliasing -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL -fPIC -c log.c --- hashswf.o --- cc -pipe -I/usr/local/include -O2 -fno-strict-aliasing -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL -fPIC -c hashswf.c --- amf.o --- In file included from amf.c:33: bytes.h:74:2: warning: #warning "Float word order not defined, assuming the same as byte order!" [-Wcpp] #warning "Float word order not defined, assuming the same as byte order!" ^~~~~~~ --- rtmp.o --- In file included from handshake.h:125, from rtmp.c:152: dh.h: In function 'DHInit': dh.h:179:48: warning: passing argument 1 of 'BN_hex2bn' from incompatible pointer type [-Wincompatible-pointer-types] #define MP_gethex(u, hex, res) res = BN_hex2bn(&u, hex) ^~~~~~~~ #define MP_bytes(u) BN_num_bytes(u) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #define MP_setbin(u,buf,len) BN_bn2bin(u,buf) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #define MP_getbin(u,buf,len) u = BN_bin2bn(buf,len,0) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #define MDH DH ~~~~~~~~~~~~~~ #define MDH_new() DH_new() ~~~~~~~~~~~~~~~~~~~~~~~~~~ #define MDH_free(dh) DH_free(dh) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #define MDH_generate_key(dh) DH_generate_key(dh) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #define MDH_compute_key(secret, seclen, pub, dh) DH_compute_key(secret, pub, dh) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #endif ~~~~~~ #include "log.h" ~~~~~~~~~~~~~~~~ #include "dhgroups.h" ~~~~~~~~~~~~~~~~~~~~~ /* RFC 2631, Section 2.1.5, http://www.ietf.org/rfc/rfc2631.txt */ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ static int ~~~~~~~~~~ isValidPublicKey(const MP_t y, const MP_t p, const MP_t q) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { ~ int ret = TRUE; ~~~~~~~~~~~~~~~ MP_t bn; ~~~~~~~~ assert(y); ~~~~~~~~~~ MP_new(bn); ~~~~~~~~~~~ assert(bn); ~~~~~~~~~~~ /* y must lie in [2,p-1] */ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ MP_set_w(bn, 1); ~~~~~~~~~~~~~~~~ if (MP_cmp(y, bn) < 0) ~~~~~~~~~~~~~~~~~~~~~~ { ~ RTMP_Log(RTMP_LOGERROR, "DH public key must be at least 2"); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ret = FALSE; ~~~~~~~~~~~~ goto failed; ~~~~~~~~~~~~ } ~ /* bn = p-2 */ ~~~~~~~~~~~~~~ MP_set(bn, p); ~~~~~~~~~~~~~~ MP_sub_w(bn, 1); ~~~~~~~~~~~~~~~~ if (MP_cmp(y, bn) > 0) ~~~~~~~~~~~~~~~~~~~~~~ { ~ RTMP_Log(RTMP_LOGERROR, "DH public key must be at most p-2"); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ret = FALSE; ~~~~~~~~~~~~ goto failed; ~~~~~~~~~~~~ } ~ /* Verify with Sophie-Germain prime ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * ~ * This is a nice test to make sure the public key position is calculated ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * correctly. This test will fail in about 50% of the cases if applied to ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * random data. ~~~~~~~~~~~~~~ */ ~~ if (q) ~~~~~~ { ~ /* y must fulfill y^q mod p = 1 */ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MP_modexp(bn, y, q, p); ~~~~~~~~~~~~~~~~~~~~~~~ if (MP_cmp_1(bn) != 0) ~~~~~~~~~~~~~~~~~~~~~~ { ~ RTMP_Log(RTMP_LOGWARNING, "DH public key does not fulfill y^q mod p = 1"); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ } ~ } ~ failed: ~~~~~~~ MP_free(bn); ~~~~~~~~~~~~ return ret; ~~~~~~~~~~~ } ~ static MDH * ~~~~~~~~~~~~ DHInit(int nKeyBits) ~~~~~~~~~~~~~~~~~~~~ { ~ size_t res; ~~~~~~~~~~~ MDH *dh = MDH_new(); ~~~~~~~~~~~~~~~~~~~~ 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 */ ~~~~~~~~~~~ dh.h:274:3: note: in expansion of macro 'MP_gethex' MP_gethex(p, P1024, res); /* prime P1024, see dhgroups.h */ ^~~~~~~~~ In file included from /usr/local/include/openssl/asn1.h:23, from /usr/local/include/openssl/objects.h:15, from /usr/local/include/openssl/evp.h:28, from /usr/local/include/openssl/x509.h:18, from /usr/local/include/openssl/ssl.h:20, from rtmp.c:60: /usr/local/include/openssl/bn.h:311:24: note: expected 'BIGNUM **' {aka 'struct bignum_st **'} but argument is of type 'const BIGNUM **' {aka 'const struct bignum_st **'} int BN_hex2bn(BIGNUM **a, const char *str); ~~~~~~~~~^ In file included from handshake.h:125, from rtmp.c:152: dh.h:285:19: warning: passing argument 2 of 'DH_set0_pqg' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] DH_set0_pqg(dh, p, NULL, g); ^ In file included from /usr/local/include/openssl/dsa.h:25, from /usr/local/include/openssl/x509.h:26, from /usr/local/include/openssl/ssl.h:20, from rtmp.c:60: /usr/local/include/openssl/dh.h:182:33: note: expected 'BIGNUM *' {aka 'struct bignum_st *'} but argument is of type 'const BIGNUM *' {aka 'const struct bignum_st *'} int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g); ~~~~~~~~^ In file included from handshake.h:125, from rtmp.c:152: dh.h: In function 'DHGenerateKey': dh.h:322:30: warning: passing argument 1 of 'isValidPublicKey' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] res = isValidPublicKey(DH_get0_pub_key(dh), DH_get0_p(dh), q1); ^~~~~~~~~~~~~~~~~~~ In file included from handshake.h:125, from rtmp.c:152: dh.h:197:29: note: expected 'MP_t' {aka 'struct bignum_st * const'} but argument is of type 'const BIGNUM *' {aka 'const struct bignum_st *'} isValidPublicKey(const MP_t y, const MP_t p, const MP_t q) ~~~~~~~~~~~^ In file included from handshake.h:125, from rtmp.c:152: dh.h:322:51: warning: passing argument 2 of 'isValidPublicKey' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] res = isValidPublicKey(DH_get0_pub_key(dh), DH_get0_p(dh), q1); ^~~~~~~~~~~~~ In file included from handshake.h:125, from rtmp.c:152: dh.h:197:43: note: expected 'MP_t' {aka 'struct bignum_st * const'} but argument is of type 'const BIGNUM *' {aka 'const struct bignum_st *'} isValidPublicKey(const MP_t y, const MP_t p, const MP_t q) ~~~~~~~~~~~^ In file included from handshake.h:125, from rtmp.c:152: dh.h: In function 'DHComputeSharedSecretKey': dh.h:413:34: warning: passing argument 2 of 'isValidPublicKey' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] if (isValidPublicKey(pubkeyBn, DH_get0_p(dh), q1)) ^~~~~~~~~~~~~ In file included from handshake.h:125, from rtmp.c:152: dh.h:197:43: note: expected 'MP_t' {aka 'struct bignum_st * const'} but argument is of type 'const BIGNUM *' {aka 'const struct bignum_st *'} isValidPublicKey(const MP_t y, const MP_t p, const MP_t q) ~~~~~~~~~~~^ --- librtmp.a --- --- librtmp.so.1 --- --- librtmp.a --- ar rs librtmp.a rtmp.o log.o amf.o hashswf.o parseurl.o --- librtmp.so.1 --- cc -shared -Wl,-soname,librtmp.so.1 -L/usr/local/lib -Wl,-rpath,/usr/local/lib -o librtmp.so.1 rtmp.o log.o amf.o hashswf.o parseurl.o -L/usr/local/lib -lssl -lcrypto -lz --- librtmp.a --- /usr/libexec/binutils227/elf/ar: creating librtmp.a --- librtmp.so.1 --- ln -sf librtmp.so.1 librtmp.so SUCCEEDED 00:00:02 ------------------------------------------------------------------------------- -- Phase: run-depends ------------------------------------------------------------------------------- ===> librtmp-2.4.20190330 depends on file: /usr/local/lib/libcrypto.so.11 - found SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: stage ------------------------------------------------------------------------------- ===> Staging for librtmp-2.4.20190330 ===> librtmp-2.4.20190330 depends on file: /usr/local/lib/libcrypto.so.11 - found ===> Generating temporary packing list sed -e "s;@prefix@;/usr/local;" -e "s;@libdir@;/usr/local/lib;" -e "s;@VERSION@;v2.4;" -e "s;@CRYPTO_REQ@;;" -e "s;@OPENSSLLIB@;/usr/local/lib;" -e "s;@OPENSSLINC@;/usr/local/include;" -e "s;@PUBLIC_LIBS@;;" -e "s;@PRIVATE_LIBS@;;" librtmp.pc.in > librtmp.pc mkdir -p /construction/multimedia/librtmp/stage/usr/local/include/librtmp /construction/multimedia/librtmp/stage/usr/local/libdata/pkgconfig /construction/multimedia/librtmp/stage/usr/local/man/man3 /construction/multimedia/librtmp/stage/usr/local/lib cp amf.h http.h log.h rtmp.h /construction/multimedia/librtmp/stage/usr/local/include/librtmp cp librtmp.a /construction/multimedia/librtmp/stage/usr/local/lib cp librtmp.pc /construction/multimedia/librtmp/stage/usr/local/libdata/pkgconfig cp librtmp.3 /construction/multimedia/librtmp/stage/usr/local/man/man3 install -s -m 0644 librtmp.so.1 /construction/multimedia/librtmp/stage/usr/local/lib cd /construction/multimedia/librtmp/stage/usr/local/lib; ln -sf librtmp.so.1 librtmp.so ====> Compressing man pages (compress-man) ====> Running Q/A tests (stage-qa) Warning: You have disabled the licenses framework with DISABLE_LICENSES, unable to run checks SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: package ------------------------------------------------------------------------------- ===> Building package for librtmp-2.4.20190330 file sizes/checksums [9]: 0% file sizes/checksums [9]: 100% packing files [9]: 0% packing files [9]: 100% packing directories [0]: 0% packing directories [0]: 100% SUCCEEDED 00:00:01 TOTAL TIME 00:00:08