Index: head/security/softether-devel/Makefile =================================================================== --- head/security/softether-devel/Makefile (revision 506326) +++ head/security/softether-devel/Makefile (revision 506327) @@ -1,136 +1,136 @@ # $FreeBSD$ PORTNAME= softether -DISTVERSION= 4.28-9669-beta -PORTREVISION= 2 +DISTVERSION= 4.30-9696-beta +#PORTREVISION= 0 CATEGORIES= security -MASTER_SITES= https://www.softether-download.com/files/softether/v${DISTVERSION}-2018.09.11-tree/Source_Code/ +MASTER_SITES= https://www.softether-download.com/files/softether/v${DISTVERSION}-2019.07.08-tree/Source_Code/ PKGNAMESUFFIX= -devel DISTNAME= ${PORTNAME}-src-v${DISTVERSION} MAINTAINER= meta@FreeBSD.org COMMENT= Softether VPN 4 (stable beta version) -LICENSE= GPLv2 +LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE ONLY_FOR_ARCHS= amd64 i386 ONLY_FOR_ARCHS_REASON= Upstream only supports amd64 and i386: https://www.softether.org/3-spec -IGNORE= no beta version available right now, use security/softether instead +#IGNORE= no beta version available right now, use security/softether instead USES= dos2unix gmake iconv:wchar_t localbase:ldflags ncurses \ readline ssl USE_RC_SUBR= softether_bridge softether_client softether_server DOS2UNIX_FILES= ChangeLog LICENSE README *.TXT \ src/Cedar/*.* src/Mayaqua/*.* OPTIONS_DEFINE= DOCS UNLOCK # Use of some functions in Japan and China is restricted. # This option Unlocks regional lockout following functions: # - RADIUS / NT Domain user authentication function # - RSA certificate user authentication function # - Deep-inspect packet logging function # - Source IP address control list function # - syslog transfer function UNLOCK_DESC= Unlock regional lockout (JP and CN) UNLOCK_EXTRA_PATCHES= ${FILESDIR}/extra-patch-unrestrict-enterprise-functions CONFLICTS_INSTALL= softether-4.* softether5 PORTDOCS= AUTHORS.TXT ChangeLog LICENSE README THIRD_PARTY.TXT WARNING.TXT SE_DBDIR?= /var/db/${PORTNAME} SE_LOGDIR?= /var/log/${PORTNAME} PLIST_SUB= SE_DBDIR="${SE_DBDIR}" SE_LOGDIR="${SE_LOGDIR}" SUB_LIST= SE_DBDIR="${SE_DBDIR}" SE_LOGDIR="${SE_LOGDIR}" SUB_FILES= pkg-message vpncmd CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib # a pity the source directory has such a naming scheme, but well WRKSRC= ${WRKDIR}/v${DISTVERSION:S/-beta$//} ALL_TARGET= build .include post-patch: # SoftEther scatters logs, config files and PID files in PREFIX/libexec # directory. To write them in the right place, replace it. ${REINPLACE_CMD} \ -e "s|@vpn_server_template|${SE_DBDIR}/vpn_server_template|" \ -e "s|@vpn_server|${SE_DBDIR}/vpn_server|" \ -e "s|@vpn_bridge|${SE_DBDIR}/vpn_bridge|" \ -e "s|@vpn_gate_svc|${SE_DBDIR}/vpn_gate_svc|" \ -e "s|@vpn_gate_relay|${SE_DBDIR}/vpn_gate_relay|" \ ${WRKSRC}/src/Cedar/Server.c ${REINPLACE_CMD} \ -e "s|@adminip|${SE_DBDIR}/adminip|" \ -e "s|@etherlogger|${SE_DBDIR}/etherlogger|" \ -e "s|@vpn_client|${SE_DBDIR}/vpn_client|" \ -e "s|@vpn_router|${SE_DBDIR}/vpn_router|" \ -e "s|@custom|${SE_DBDIR}/custom|" \ -e "s|@backup|${SE_DBDIR}/backup|" \ -e "s|@save_binary|${SE_DBDIR}/save_binary|" \ -e "s|@lang|${SE_DBDIR}/lang|" \ -e "s|@azureserver|${SE_DBDIR}/azureserver|" \ -e "s|@server_log|${SE_LOGDIR}/server|" \ -e "s|@security_log|${SE_LOGDIR}/security|" \ -e "s|@packet_log|${SE_LOGDIR}/packet|" \ -e "s|@secure_nat_log|${SE_LOGDIR}/secure_nat|" \ -e "s|@client_log|${SE_LOGDIR}/client|" \ -e "s|@tiny_log|${SE_LOGDIR}/tiny|" \ -e "s|@carrier_log|${SE_LOGDIR}/carrier|" \ -e "s|@etherlogger_log|${SE_LOGDIR}/etherlogger|" \ ${WRKSRC}/src/Cedar/Cedar.h \ ${WRKSRC}/src/Cedar/Client.h \ ${WRKSRC}/src/Cedar/Nat.h \ ${WRKSRC}/src/Cedar/Server.c \ ${WRKSRC}/src/Mayaqua/Cfg.c \ ${WRKSRC}/src/Mayaqua/Cfg.h \ ${WRKSRC}/src/Mayaqua/Table.h ${REINPLACE_CMD} \ -e "s|abort_error_log\.txt|${SE_LOGDIR}/abort_error_log.txt|" \ ${WRKSRC}/src/Mayaqua/Kernel.c ${REINPLACE_CMD} \ -e "s|%%SE_DBDIR%%|${SE_DBDIR}|g" \ ${WRKSRC}/src/Cedar/Protocol.c \ ${WRKSRC}/src/Mayaqua/Unix.c \ ${WRKSRC}/src/Mayaqua/Network.c # skip configure at all and copy the corresponding Makefile in place .if ${ARCH} != "amd64" @${CP} ${WRKSRC}/src/makefiles/freebsd_32bit.mak ${WRKSRC}/Makefile .else @${CP} ${WRKSRC}/src/makefiles/freebsd_64bit.mak ${WRKSRC}/Makefile .endif # pull in user specific CFLAGS and LDFLAGS @${REINPLACE_CMD} -e "s|OPTIONS_COMPILE_RELEASE=|OPTIONS_COMPILE_RELEASE=${CFLAGS} |g" ${WRKSRC}/Makefile @${REINPLACE_CMD} -e "s|OPTIONS_LINK_RELEASE=|OPTIONS_LINK_RELEASE=${LDFLAGS} |g" ${WRKSRC}/Makefile # manually install to ${PREFIX}/libexec/softether, then the final install will copy scripts # into ${PREFIX}/sbin do-install: ${MKDIR} ${STAGEDIR}/${PREFIX}/libexec/softether ${INSTALL_SCRIPT} ${WRKSRC}/bin/vpnbridge/vpnbridge ${STAGEDIR}/${PREFIX}/libexec/${PORTNAME}/vpnbridge ${INSTALL_SCRIPT} ${WRKSRC}/bin/vpnclient/vpnclient ${STAGEDIR}/${PREFIX}/libexec/${PORTNAME}/vpnclient ${INSTALL_SCRIPT} ${WRKSRC}/bin/vpncmd/vpncmd ${STAGEDIR}/${PREFIX}/libexec/${PORTNAME}/vpncmd ${INSTALL_SCRIPT} ${WRKSRC}/bin/vpnserver/vpnserver ${STAGEDIR}/${PREFIX}/libexec/${PORTNAME}/vpnserver ${INSTALL_DATA} ${WRKSRC}/bin/vpnserver/hamcore.se2 ${STAGEDIR}/${PREFIX}/libexec/${PORTNAME}/hamcore.se2 ${INSTALL_SCRIPT} ${WRKDIR}/vpncmd ${STAGEDIR}/${PREFIX}/sbin/vpncmd .for i in vpnbridge vpnclient vpncmd vpnserver @${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/${PORTNAME}/${i} .endfor @${MKDIR} ${STAGEDIR}${DOCSDIR} @${MKDIR} ${STAGEDIR}${SE_DBDIR} @${MKDIR} ${STAGEDIR}${SE_LOGDIR} .for doc in ${PORTDOCS} ${INSTALL_DATA} ${WRKSRC}/${doc} ${STAGEDIR}${DOCSDIR} .endfor .include Index: head/security/softether-devel/distinfo =================================================================== --- head/security/softether-devel/distinfo (revision 506326) +++ head/security/softether-devel/distinfo (revision 506327) @@ -1,3 +1,3 @@ -TIMESTAMP = 1542201488 -SHA256 (softether-src-v4.28-9669-beta.tar.gz) = 1e641fa227a732b3eec3fe8bdcf4d4fd2b1d0b0a5084119126c1216d2ec1b545 -SIZE (softether-src-v4.28-9669-beta.tar.gz) = 33795085 +TIMESTAMP = 1562582908 +SHA256 (softether-src-v4.30-9696-beta.tar.gz) = 07b6fb3a677ab9eef42fc5a6abee414904552bcdc66baa56ebd3896bf2a8b490 +SIZE (softether-src-v4.30-9696-beta.tar.gz) = 34687742 Index: head/security/softether-devel/files/patch-src__Mayaqua__Network.c =================================================================== --- head/security/softether-devel/files/patch-src__Mayaqua__Network.c (revision 506326) +++ head/security/softether-devel/files/patch-src__Mayaqua__Network.c (nonexistent) @@ -1,19 +0,0 @@ ---- src/Mayaqua/Network.c.orig 2016-05-03 06:16:53 UTC -+++ src/Mayaqua/Network.c -@@ -13025,10 +13025,15 @@ - { - if (client_tls == false) - { --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#ifndef OPENSSL_NO_SSL3 - SSL_CTX_set_ssl_version(ssl_ctx, SSLv3_method()); - #else - SSL_CTX_set_ssl_version(ssl_ctx, SSLv23_method()); -+ SSL_CTX_set_options(ssl_ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_TLSv1 -+#ifdef SSL_OP_NO_TLSv1_2 -+ | SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2 -+#endif -+ ); - #endif - } - else Property changes on: head/security/softether-devel/files/patch-src__Mayaqua__Network.c ___________________________________________________________________ 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/security/softether-devel/files/patch-fix-build-openssl111 =================================================================== --- head/security/softether-devel/files/patch-fix-build-openssl111 (revision 506326) +++ head/security/softether-devel/files/patch-fix-build-openssl111 (revision 506327) @@ -1,22 +1,47 @@ ---- src/Mayaqua/Encrypt.c.orig 2018-11-06 08:15:31 UTC -+++ src/Mayaqua/Encrypt.c -@@ -2684,7 +2684,7 @@ bool RsaCheck() - BIO *bio; - char errbuf[MAX_SIZE]; - UINT size = 0; -- UINT bit = 32; -+ UINT bit = RSA_KEY_SIZE; - // Validate arguments +--- src/Mayaqua/Network.c.orig 2019-07-09 22:00:31.540606000 +0900 ++++ src/Mayaqua/Network.c 2019-07-09 22:00:37.550748000 +0900 +@@ -5946,6 +5946,10 @@ + return 1; + } - // Key generation ---- src/Mayaqua/Encrypt.h.orig 2018-11-06 08:15:31 UTC -+++ src/Mayaqua/Encrypt.h -@@ -128,7 +128,7 @@ void RAND_Free_For_SoftEther(); - #define DES_IV_SIZE 8 // DES IV size - #define DES_BLOCK_SIZE 8 // DES block size - #define DES3_KEY_SIZE (8 * 3) // 3DES key size --#define RSA_KEY_SIZE 128 // RSA key size -+#define RSA_KEY_SIZE 4096 // RSA key size - #define DH_KEY_SIZE 128 // DH key size - #define RSA_MIN_SIGN_HASH_SIZE (15 + SHA1_HASH_SIZE) // Minimum RSA hash size - #define RSA_SIGN_HASH_SIZE (RSA_MIN_SIGN_HASH_SIZE) // RSA hash size ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#define X509_STORE_CTX_get0_cert(o) ((o)->cert) ++#endif ++ + // Verify client SSL certificate during TLS handshake. + // + // (actually, only save the certificate for later authentication in Protocol.c) +@@ -5953,27 +5957,27 @@ + { + SSL *ssl; + struct SslClientCertInfo *clientcert; ++ X509 *cert; + + ssl = X509_STORE_CTX_get_ex_data(ctx, SSL_get_ex_data_X509_STORE_CTX_idx()); + clientcert = SSL_get_ex_data(ssl, GetSslClientCertIndex()); + + if (clientcert != NULL) + { +- clientcert->PreverifyErr = 0; ++ clientcert->PreverifyErr = X509_STORE_CTX_get_error(ctx); + clientcert->PreverifyErrMessage[0] = '\0'; + if (!preverify_ok) + { +- char *msg; +- clientcert->PreverifyErr = X509_STORE_CTX_get_error(ctx); +- msg = (char *)X509_verify_cert_error_string(clientcert->PreverifyErr); ++ const char *msg = X509_verify_cert_error_string(clientcert->PreverifyErr); + StrCpy(clientcert->PreverifyErrMessage, PREVERIFY_ERR_MESSAGE_SIZE, msg); + Debug("SslCertVerifyCallback preverify error: '%s'\n", msg); + } + else + { +- if (ctx->cert != NULL) ++ cert = X509_STORE_CTX_get0_cert(ctx); ++ if (cert != NULL) + { +- X *tmpX = X509ToX(ctx->cert); // this only wraps ctx->cert, but we need to make a copy ++ X *tmpX = X509ToX(cert); // this only wraps cert, but we need to make a copy + X *copyX = CloneX(tmpX); + tmpX->do_not_free = true; // do not release inner X509 object + FreeX(tmpX);