summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--devel/staf/Makefile8
-rw-r--r--devel/staf/files/patch-stafproc_STAFFSService.cpp39
2 files changed, 42 insertions, 5 deletions
diff --git a/devel/staf/Makefile b/devel/staf/Makefile
index cd9b417d3e64..b518396aeab1 100644
--- a/devel/staf/Makefile
+++ b/devel/staf/Makefile
@@ -3,6 +3,7 @@
PORTNAME= staf
PORTVERSION= 3.4.26
+PORTREVISION= 1
CATEGORIES= devel net
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/V${PORTVERSION}
DISTNAME= STAF${PORTVERSION:S/.//g}-src
@@ -13,9 +14,6 @@ COMMENT= Software Testing Automation Framework
LICENSE= EPL
LICENSE_FILE= ${WRKSRC}/LICENSE.htm
-BROKEN_SSL= openssl111
-BROKEN_SSL_REASON_openssl111= variable has incomplete type 'EVP_MD_CTX' (aka 'evp_md_ctx_st')
-
WRKSRC= ${WRKDIR}/src
WRKSRC_SUBDIR= ${PORTNAME}
INSTALL_WRKSRC= ${WRKDIR}/rel/freebsd/staf/${STAF_BUILD_TYPE}
@@ -151,8 +149,8 @@ do-install:
.for bin in ${STAF_BIN_FILES}
${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/bin/${bin} ${STAGEDIR}${PREFIX}/bin/
.endfor
- ${LN} -s ${PREFIX}/bin/STAF ${STAGEDIR}${PREFIX}/bin/staf
- ${LN} -s ${PREFIX}/bin/FmtLog ${STAGEDIR}${PREFIX}/bin/fmtlog
+ ${LN} -s STAF ${STAGEDIR}${PREFIX}/bin/staf
+ ${LN} -s FmtLog ${STAGEDIR}${PREFIX}/bin/fmtlog
.for lib in ${STAF_LIB_FILES}
${INSTALL_LIB} ${INSTALL_WRKSRC}/lib/${lib} ${STAGEDIR}${PREFIX}/lib/
.endfor
diff --git a/devel/staf/files/patch-stafproc_STAFFSService.cpp b/devel/staf/files/patch-stafproc_STAFFSService.cpp
new file mode 100644
index 000000000000..2486be0a6a48
--- /dev/null
+++ b/devel/staf/files/patch-stafproc_STAFFSService.cpp
@@ -0,0 +1,39 @@
+--- stafproc/STAFFSService.cpp.orig 2016-12-31 04:11:18 UTC
++++ stafproc/STAFFSService.cpp
+@@ -4451,12 +4451,11 @@ STAFServiceResult STAFFSService::handleG
+
+ unsigned int fileLength = lowerSize;
+
+- EVP_MD_CTX mdctx;
++ EVP_MD_CTX* mdctx = EVP_MD_CTX_create();
+ unsigned char md_value[EVP_MAX_MD_SIZE];
+ unsigned int md_len;
+
+- EVP_MD_CTX_init(&mdctx);
+- EVP_DigestInit_ex(&mdctx, md, NULL);
++ EVP_DigestInit_ex(mdctx, md, NULL);
+
+ // Read the entire file using a buffer size of 4096 bytes and
+ // update the digest with the buffer
+@@ -4475,7 +4474,7 @@ STAFServiceResult STAFFSService::handleG
+
+ if (rc != kSTAFOk) break;
+
+- EVP_DigestUpdate(&mdctx, fileBuffer, writeLength);
++ EVP_DigestUpdate(mdctx, fileBuffer, writeLength);
+ fileLength -= writeLength;
+ bytesCopied += writeLength;
+ }
+@@ -4485,10 +4484,10 @@ STAFServiceResult STAFFSService::handleG
+ if (rc == kSTAFOk)
+ {
+ // Get the checksum value
+- EVP_DigestFinal_ex(&mdctx, md_value, &md_len);
++ EVP_DigestFinal_ex(mdctx, md_value, &md_len);
+ }
+
+- EVP_MD_CTX_cleanup(&mdctx);
++ EVP_MD_CTX_destroy(mdctx);
+
+ if (rc == kSTAFOk)
+ {