Date: Mon, 31 Aug 2020 07:14:32 +0000 (UTC) From: Alexey Dokuchaev <danfe@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r547154 - in head/www: xshttpd xshttpd-devel xshttpd-devel/files xshttpd/files Message-ID: <202008310714.07V7EWGm006983@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: danfe Date: Mon Aug 31 07:14:31 2020 New Revision: 547154 URL: https://svnweb.freebsd.org/changeset/ports/547154 Log: Fix the build against modern versions of OpenSSL and compilers. Added: head/www/xshttpd-devel/files/patch-src_extra.c (contents, props changed) head/www/xshttpd-devel/files/patch-src_httpd.c (contents, props changed) head/www/xshttpd-devel/files/patch-src_ssl.c (contents, props changed) head/www/xshttpd/files/patch-src_httpd.c (contents, props changed) head/www/xshttpd/files/patch-src_ssl.c (contents, props changed) Modified: head/www/xshttpd-devel/Makefile head/www/xshttpd/Makefile Modified: head/www/xshttpd-devel/Makefile ============================================================================== --- head/www/xshttpd-devel/Makefile Mon Aug 31 07:12:12 2020 (r547153) +++ head/www/xshttpd-devel/Makefile Mon Aug 31 07:14:31 2020 (r547154) @@ -43,17 +43,12 @@ PERL_CONFIGURE_WITH= perl PORTDOCS= README ChangeLog -.include <bsd.port.pre.mk> - -.if ${SSL_DEFAULT} == base -BROKEN_FreeBSD_12= variable has incomplete type 'EVP_CIPHER_CTX' (aka 'struct evp_cipher_ctx_st') -BROKEN_FreeBSD_13= variable has incomplete type 'EVP_CIPHER_CTX' (aka 'struct evp_cipher_ctx_st') -.endif - post-patch: @${REINPLACE_CMD} \ -e 's|\(MIME_TYPES\).*|\1 "${LOCALBASE}/etc/mime.types"|' \ ${WRKSRC}/src/constants.h + @${REINPLACE_CMD} -e 's|^struct socket_config|extern &|' \ + ${WRKSRC}/src/htconfig.h @${REINPLACE_CMD} -e 's|mime.types ||g' \ ${WRKSRC}/config/Makefile.in @${REINPLACE_CMD} -e '/libdir/ s|(INSTALL_DATA)|& -s|' \ @@ -67,4 +62,4 @@ post-install: ${STAGEDIR}/var/db/xshttpd/sessions ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR} -.include <bsd.port.post.mk> +.include <bsd.port.mk> Added: head/www/xshttpd-devel/files/patch-src_extra.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/xshttpd-devel/files/patch-src_extra.c Mon Aug 31 07:14:31 2020 (r547154) @@ -0,0 +1,34 @@ +--- src/extra.c.orig 2015-01-02 16:49:11 UTC ++++ src/extra.c +@@ -586,7 +586,7 @@ do_crypt(const char * const skey, const char * const i + const unsigned int IVLEN = 16; + int outlen, + tmplen; +- EVP_CIPHER_CTX ctx; ++ EVP_CIPHER_CTX *ctx; + unsigned char plain[16] = { 0 }; + unsigned char outbuf[1024]; + char *encrypted; +@@ -600,17 +600,17 @@ do_crypt(const char * const skey, const char * const i + } + + /* init aes-128-cbc */ +- EVP_CIPHER_CTX_init(&ctx); +- EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key, outbuf /* iv */); ++ ctx = EVP_CIPHER_CTX_new(); ++ EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, outbuf /* iv */); + +- if (!EVP_EncryptUpdate(&ctx, outbuf + outlen, &tmplen, ++ if (!EVP_EncryptUpdate(ctx, outbuf + outlen, &tmplen, + plain, sizeof(plain))) + return false; + outlen += tmplen; +- if (!EVP_EncryptFinal_ex(&ctx, outbuf + outlen, &tmplen)) ++ if (!EVP_EncryptFinal_ex(ctx, outbuf + outlen, &tmplen)) + return false; + outlen += tmplen; +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + + MALLOC(encrypted, char, outlen); + memcpy(encrypted, outbuf, outlen); Added: head/www/xshttpd-devel/files/patch-src_httpd.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/xshttpd-devel/files/patch-src_httpd.c Mon Aug 31 07:14:31 2020 (r547154) @@ -0,0 +1,10 @@ +--- src/httpd.c.orig 2015-09-05 20:44:28 UTC ++++ src/httpd.c +@@ -84,6 +84,7 @@ static char referer[MYBUFSIZ], orig[MYBUFSIZ]; + static char *startparams, *message503; + struct session session; + struct env env; ++struct socket_config *cursock; + + /* Prototypes */ + Added: head/www/xshttpd-devel/files/patch-src_ssl.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/xshttpd-devel/files/patch-src_ssl.c Mon Aug 31 07:14:31 2020 (r547154) @@ -0,0 +1,32 @@ +--- src/ssl.c.orig 2015-09-05 20:50:21 UTC ++++ src/ssl.c +@@ -538,7 +538,11 @@ sslverify_callback(int preverify_ok, X509_STORE_CTX *x + X509_NAME *xsname; + char *strname; + int rc, ovector[OVSIZE]; ++# if OPENSSL_VERSION_NUMBER < 0x10100005L + X509 *xs = x509_ctx->cert; ++# else ++ X509 *xs = X509_STORE_CTX_get0_cert(x509_ctx); ++# endif + + /* match subject */ + if (cursock->sslpcresdn) +@@ -937,11 +941,12 @@ loadssl(struct socket_config * const lsock, struct ssl + unsigned char sign[EVP_PKEY_size(evpkey)]; + unsigned int siglen = 0; + +- EVP_MD_CTX mdctx; +- EVP_MD_CTX_init(&mdctx); +- EVP_SignInit(&mdctx, EVP_sha384()); +- EVP_SignUpdate(&mdctx, ticketkey, strlen(ticketkey)); +- EVP_SignFinal(&mdctx, sign, &siglen, evpkey); ++ EVP_MD_CTX *mdctx; ++ mdctx = EVP_MD_CTX_create(); ++ EVP_SignInit(mdctx, EVP_sha384()); ++ EVP_SignUpdate(mdctx, ticketkey, strlen(ticketkey)); ++ EVP_SignFinal(mdctx, sign, &siglen, evpkey); ++ EVP_MD_CTX_destroy(mdctx); + + /* The first 48 bytes are used: + * - 16 bytes ticket key name Modified: head/www/xshttpd/Makefile ============================================================================== --- head/www/xshttpd/Makefile Mon Aug 31 07:12:12 2020 (r547153) +++ head/www/xshttpd/Makefile Mon Aug 31 07:14:31 2020 (r547154) @@ -42,13 +42,6 @@ CURL_CONFIGURE_WITH= curl PORTDOCS= README ChangeLog -.include <bsd.port.pre.mk> - -.if ${SSL_DEFAULT} == base -BROKEN_FreeBSD_12= incomplete definition of type 'struct x509_store_ctx_st' -BROKEN_FreeBSD_13= incomplete definition of type 'struct x509_store_ctx_st' -.endif - post-patch: .for i in man/httpd.1.in man/httpd.conf.5 config/httpd.conf.sample \ contrib/SSL-Makefile contrib/logrotate.sh @@ -62,6 +55,8 @@ post-patch: @${REINPLACE_CMD} \ -e 's|\(MIME_TYPES\).*|\1 "${LOCALBASE}/etc/mime.types"|' \ ${WRKSRC}/src/constants.h + @${REINPLACE_CMD} -e 's|^struct socket_config|extern &|' \ + ${WRKSRC}/src/htconfig.h @${REINPLACE_CMD} -e 's|mime.types ||g' \ ${WRKSRC}/config/Makefile.in @@ -69,4 +64,4 @@ post-install: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${STAGEDIR}${WWWDIR}/htdocs ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR} -.include <bsd.port.post.mk> +.include <bsd.port.mk> Added: head/www/xshttpd/files/patch-src_httpd.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/xshttpd/files/patch-src_httpd.c Mon Aug 31 07:14:31 2020 (r547154) @@ -0,0 +1,11 @@ +--- src/httpd.c.orig 2009-01-10 22:52:29 UTC ++++ src/httpd.c +@@ -90,6 +90,8 @@ static char referer[MYBUFSIZ], orig[MYBUFSIZ]; + static char *startparams, *message503; + struct session session; + struct env env; ++struct socket_config *cursock; ++ + #define CLEANENV do { \ + memset(&env, 0, sizeof(struct env));\ + MALLOC(environ, char *, 1);\ Added: head/www/xshttpd/files/patch-src_ssl.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/xshttpd/files/patch-src_ssl.c Mon Aug 31 07:14:31 2020 (r547154) @@ -0,0 +1,14 @@ +--- src/ssl.c.orig 2009-01-10 22:52:29 UTC ++++ src/ssl.c +@@ -244,7 +244,11 @@ sslverify_callback(int preverify_ok, X509_STORE_CTX *x + X509_NAME *xsname; + char *strname; + int rc, ovector[OVSIZE]; ++# if OPENSSL_VERSION_NUMBER < 0x10100005L + X509 *xs = x509_ctx->cert; ++# else ++ X509 *xs = X509_STORE_CTX_get0_cert(x509_ctx); ++# endif + + /* match subject */ + if (cursock->sslpcresdn)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202008310714.07V7EWGm006983>