Index: head/devel/ptlib/Makefile =================================================================== --- head/devel/ptlib/Makefile (revision 484517) +++ head/devel/ptlib/Makefile (revision 484518) @@ -1,180 +1,186 @@ # Created by: Roger Hardiman # $FreeBSD$ PORTNAME= ptlib PORTVERSION= 2.10.11 PORTREVISION= 2 CATEGORIES= devel MASTER_SITES= GNOME MAINTAINER= gnome@FreeBSD.org COMMENT= Cross platform C++ library, used by OPAL LICENSE= MPL10 BROKEN_SSL= openssl-devel BROKEN_SSL_REASON_openssl-devel= use of undeclared identifier 'BIO_s_file_internal' LIB_DEPENDS= libexpat.so:textproc/expat2 CONFLICTS= pwlib-1.* USES= autoreconf:build bison gmake pathfix pkgconfig ssl tar:xz GNU_CONFIGURE= yes USE_LDCONFIG= yes CPPFLAGS+= -I${OPENSSLINC} -I${LOCALBASE}/include LDFLAGS+= -L${OPENSSLLIB} -L${LOCALBASE}/lib CONFIGURE_ARGS+=--enable-audio \ --enable-ipv6 \ --enable-exceptions \ --enable-oss \ --enable-plugins CONFIGURE_ARGS+=--disable-lua \ --disable-sasl # --with-expat-dir="${LOCALBASE}" CONFIGURE_ENV+= OPENSSL_CFLAGS="-I${OPENSSLINC}" \ OPENSSL_LIBS="-L${OPENSSLLIB} -lssl" OPTIONS_DEFINE= BSDVIDEO DEBUG ODBC ALSA JABBER V4L SDL LDAP PULSEAUDIO OPTIONS_DEFAULT=BSDVIDEO SDL V4L JABBER BSDVIDEO_DESC= BSD video support DEBUG_DESC= Install debug library .include +.if ${OSVERSION} > 1200085 +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-src_ptclib_pssl.cxx-openssl111 +.else +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-src_ptclib_pssl.cxx +.endif + PLIST_SUB+= PORTVERSION=${PORTVERSION} \ PVERSION_MAJOR=${PVERSION_MAJOR} \ PVERSION_MINOR=${PVERSION_MINOR} PVERSION_MAJOR= ${PORTVERSION:C/.[0-9]+.[0-9]+.//} PVERSION_MINOR= ${PORTVERSION:C/.[0-9]+$//g} .if ${PORT_OPTIONS:MDEBUG} ALL_TARGET= optshared debugshared PLIST_SUB+= DEBUG="" .else ALL_TARGET= optshared PLIST_SUB+= DEBUG="@comment " .endif .if ${PORT_OPTIONS:MPULSEAUDIO} LIB_DEPENDS+= libpulse.so:audio/pulseaudio CONFIGURE_ARGS+=--enable-pulse .else CONFIGURE_ARGS+=--disable-pulse .endif .if ${PORT_OPTIONS:MJABBER} CONFIGURE_ARGS+=--enable-jabber PLLIB_VIDEO=1 .endif .if ${PORT_OPTIONS:MODBC} LIB_DEPENDS+= libodbc.so:databases/unixODBC CONFIGURE_ARGS+=--enable-odbc .else CONFIGURE_ARGS+=--disable-odbc .endif .if ${PORT_OPTIONS:MALSA} LIB_DEPENDS+= libasound.so:audio/alsa-lib CONFIGURE_ARGS+=--enable-alsa PLIST_SUB+= ALSA="" .else CONFIGURE_ARGS+=--disable-alsa PLIST_SUB+= ALSA="@comment " .endif .if ${PORT_OPTIONS:MBSDVIDEO} CONFIGURE_ARGS+=--enable-bsdvideo PLIST_SUB+= BSDVIDEO="" PTLIB_VIDEO=1 .else CONFIGURE_ARGS+=--disable-bsdvideo PLIST_SUB+= BSDVIDEO="@comment " .endif .if ${PORT_OPTIONS:MV4L} BUILD_DEPENDS+= v4l_compat>=0:multimedia/v4l_compat LIB_DEPENDS+= libv4l2.so:multimedia/libv4l CONFIGURE_ARGS+=--enable-v4l --enable-v4l2 PLIST_SUB+= V4L="" PTLIB_VIDEO=1 .else CONFIGURE_ARGS+=--disable-v4l --disable-v4l2 PLIST_SUB+= V4L="@comment " .endif .if defined(PTLIB_VIDEO) CONFIGURE_ARGS+=--enable-video --enable-vidfile PLIST_SUB+= VIDEODIR="" .else CONFIGURE_ARGS+=--disable-video --disable-vidfile PLIST_SUB+= VIDEODIR="@comment " .endif .if ${PORT_OPTIONS:MSDL} USE_SDL+= sdl CONFIGURE_ARGS+=--enable-sdl .else CONFIGURE_ARGS+=--disable-sdl .endif .if ${PORT_OPTIONS:MLDAP} USE_OPENLDAP= yes CONFIGURE_ARGS+=--enable-openldap .else CONFIGURE_ARGS+=--disable-openldap .endif # ONLY FOR THE BRAVE! # If someone owns a firewire(4) video device and wants to use it for # video-conferencing purposes, please download the files: # libraw1394.shar.gz, libavc1394.shar.gz and libdc1394.shar.gz from # ftp://ftp.frm2.tum.de/pub/jpulz/FreeBSD/ports/ # Extract the files in ${PORTSDIR}/devel and uncomment the following lines. # ##enable libavc1394 #.if defined(WITH_AVC1394) #LIB_DEPENDS+= avc1394.2:devel/libavc1394 \ # dv.4:multimedia/libdv #CONFIGURE_ARGS+= --enable-avc #PLIST_SUB+= AVC1394="" #.else CONFIGURE_ARGS+= --disable-avc PLIST_SUB+= AVC1394="@comment " #.endif # ##enable libdc1394 #.if defined(WITH_DC1394) #LIB_DEPENDS+= dc1394.2[0-9]:multimedia/libdc1394 #CONFIGURE_ARGS+= --enable-dc #PLIST_SUB+= DC1394="" #.else CONFIGURE_ARGS+= --disable-dc #PLIST_SUB+= DC1394="@comment " #.endif post-patch: @${REINPLACE_CMD} -e 's/RTF_WASCLONED/0x20000/' ${WRKSRC}/src/ptlib/unix/socket.cxx pre-configure: (cd ${WRKSRC}/plugins/ && ${AUTORECONF} -fi) post-install: ${LN} -sf libpt.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libpt.so.${PVERSION_MAJOR} ${LN} -sf libpt.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libpt.so.${PVERSION_MINOR} .if ${PORT_OPTIONS:MDEBUG} ${LN} -sf libpt_d.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libpt_d.so.${PVERSION_MAJOR} ${LN} -sf libpt_d.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libpt_d.so.${PVERSION_MINOR} .endif @${CHMOD} 0755 ${STAGEDIR}${PREFIX}/lib/libpt.so.${PORTVERSION} \ ${STAGEDIR}${PREFIX}/lib/ptlib-${PORTVERSION}/devices/*/*.so @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libpt.so.${PORTVERSION} @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/ptlib-${PORTVERSION}/devices/*/*.so .include Index: head/devel/ptlib/files/patch-src_ptclib_pssl.cxx =================================================================== --- head/devel/ptlib/files/patch-src_ptclib_pssl.cxx (revision 484517) +++ head/devel/ptlib/files/patch-src_ptclib_pssl.cxx (nonexistent) @@ -1,15 +0,0 @@ ---- src/ptclib/pssl.cxx.orig 2013-02-20 02:12:00 UTC -+++ src/ptclib/pssl.cxx -@@ -805,9 +805,12 @@ void PSSLContext::Construct(Method metho - SSL_METHOD * meth; - - switch (method) { -+#ifndef OPENSSL_NO_SSL3 -+/* fall through to SSLv23_method if unsupported */ - case SSLv3: - meth = SSLv3_method(); - break; -+#endif - case TLSv1: - meth = TLSv1_method(); - break; Property changes on: head/devel/ptlib/files/patch-src_ptclib_pssl.cxx ___________________________________________________________________ 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/devel/ptlib/files/extra-patch-src_ptclib_pssl.cxx =================================================================== --- head/devel/ptlib/files/extra-patch-src_ptclib_pssl.cxx (nonexistent) +++ head/devel/ptlib/files/extra-patch-src_ptclib_pssl.cxx (revision 484518) @@ -0,0 +1,15 @@ +--- src/ptclib/pssl.cxx.orig 2013-02-20 02:12:00 UTC ++++ src/ptclib/pssl.cxx +@@ -805,9 +805,12 @@ void PSSLContext::Construct(Method metho + SSL_METHOD * meth; + + switch (method) { ++#ifndef OPENSSL_NO_SSL3 ++/* fall through to SSLv23_method if unsupported */ + case SSLv3: + meth = SSLv3_method(); + break; ++#endif + case TLSv1: + meth = TLSv1_method(); + break; Property changes on: head/devel/ptlib/files/extra-patch-src_ptclib_pssl.cxx ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/ptlib/files/extra-patch-src_ptclib_pssl.cxx-openssl111 =================================================================== --- head/devel/ptlib/files/extra-patch-src_ptclib_pssl.cxx-openssl111 (nonexistent) +++ head/devel/ptlib/files/extra-patch-src_ptclib_pssl.cxx-openssl111 (revision 484518) @@ -0,0 +1,143 @@ +--- src/ptclib/pssl.cxx.orig 2013-08-14 18:20:27.000000000 -0500 ++++ src/ptclib/pssl.cxx 2018-11-06 11:53:45.651466000 -0600 +@@ -140,7 +140,7 @@ + class PSSL_BIO + { + public: +- PSSL_BIO(BIO_METHOD *method = BIO_s_file_internal()) ++ PSSL_BIO(const BIO_METHOD *method = BIO_s_file()) + { bio = BIO_new(method); } + + ~PSSL_BIO() +@@ -627,9 +627,10 @@ + if (dh == NULL) + return; + +- dh->p = BN_bin2bn(pData, pSize, NULL); +- dh->g = BN_bin2bn(gData, gSize, NULL); +- if (dh->p != NULL && dh->g != NULL) ++ BIGNUM *p = BN_bin2bn(pData, pSize, NULL); ++ BIGNUM *g = BN_bin2bn(gData, gSize, NULL); ++ DH_set0_pqg(dh, p, NULL, g); ++ if (p != NULL && p != NULL) + return; + + DH_free(dh); +@@ -805,13 +806,11 @@ + SSL_METHOD * meth; + + switch (method) { +- case SSLv3: +- meth = SSLv3_method(); +- break; + case TLSv1: + meth = TLSv1_method(); + break; + case SSLv23: ++ case SSLv3: + default: + meth = SSLv23_method(); + break; +@@ -1117,7 +1116,7 @@ + // + + +-#define PSSLCHANNEL(bio) ((PSSLChannel *)(bio->ptr)) ++#define PSSLCHANNEL(bio) ((PSSLChannel *)BIO_get_data(bio)) + + extern "C" { + +@@ -1130,10 +1129,9 @@ + + static int Psock_new(BIO * bio) + { +- bio->init = 0; +- bio->num = 0; +- bio->ptr = NULL; // this is really (PSSLChannel *) +- bio->flags = 0; ++ BIO_set_init(bio, 0); ++ BIO_set_data(bio, NULL); ++ BIO_clear_flags(bio, ~0); + + return(1); + } +@@ -1144,13 +1142,13 @@ + if (bio == NULL) + return 0; + +- if (bio->shutdown) { +- if (bio->init) { ++ if (BIO_get_shutdown(bio)) { ++ if (BIO_get_init(bio)) { + PSSLCHANNEL(bio)->Shutdown(PSocket::ShutdownReadAndWrite); + PSSLCHANNEL(bio)->Close(); + } +- bio->init = 0; +- bio->flags = 0; ++ BIO_set_init(bio, 0); ++ BIO_clear_flags(bio, ~0); + } + return 1; + } +@@ -1160,11 +1158,11 @@ + { + switch (cmd) { + case BIO_CTRL_SET_CLOSE: +- bio->shutdown = (int)num; ++ BIO_set_shutdown(bio, (int)num); + return 1; + + case BIO_CTRL_GET_CLOSE: +- return bio->shutdown; ++ return BIO_get_shutdown(bio); + + case BIO_CTRL_FLUSH: + return 1; +@@ -1239,7 +1237,8 @@ + }; + + +-static BIO_METHOD methods_Psock = ++static BIO_METHOD *methods_Psock = NULL; ++/* + { + BIO_TYPE_SOCKET, + "PTLib-PSSLChannel", +@@ -1261,19 +1260,33 @@ + Psock_free + #endif + }; ++*/ + +- + PBoolean PSSLChannel::OnOpen() + { +- BIO * bio = BIO_new(&methods_Psock); ++ if (methods_Psock == NULL) { ++ methods_Psock = BIO_meth_new(BIO_TYPE_SOCKET | BIO_get_new_index(), "PTLib-PSSLChannel"); ++ if (methods_Psock == NULL || ++ BIO_meth_set_write(methods_Psock, Psock_write) || ++ BIO_meth_set_read(methods_Psock, Psock_read) || ++ BIO_meth_set_puts(methods_Psock, Psock_puts) || ++ BIO_meth_set_gets(methods_Psock, NULL) || ++ BIO_meth_set_ctrl(methods_Psock, Psock_ctrl) || ++ BIO_meth_set_create(methods_Psock, Psock_new) || ++ BIO_meth_set_destroy(methods_Psock, Psock_free)) { ++ SSLerr(SSL_F_SSL_SET_FD,ERR_R_BUF_LIB); ++ return PFalse; ++ } ++ } ++ BIO * bio = BIO_new(methods_Psock); + if (bio == NULL) { + SSLerr(SSL_F_SSL_SET_FD,ERR_R_BUF_LIB); + return PFalse; + } + + // "Open" then bio +- bio->ptr = this; +- bio->init = 1; ++ BIO_set_data(bio, this); ++ BIO_set_init(bio, 1); + + SSL_set_bio(ssl, bio, bio); + return PTrue; Property changes on: head/devel/ptlib/files/extra-patch-src_ptclib_pssl.cxx-openssl111 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property