summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2021-02-08 13:16:17 -0600
committerEric Bavier <bavier@member.fsf.org>2021-02-08 13:25:34 -0600
commit8effdd19691576a79aa4a1e26263b251376e25e5 (patch)
treea2573f998f8a9ed90c9c10c6bcf45442bd3c2f7e /gnu
parenta613abeb43b1c81d2d0e647dc2b3c7f8cc98b8cb (diff)
downloadguix-8effdd19691576a79aa4a1e26263b251376e25e5.tar.gz
gnu: hdf5: Update to 1.8.22.
Fixes CVE-2018-14033, CVE-2018-11206, CVE-2018-13870, CVE-2018-13869, and
CVE-2018-17435

* gnu/packages/maths.scm (hdf5-1.8): Update to 1.8.22.
* gnu/packages/patches/hdf5-1.8-mpi-deprecations.patch: Delete upstreamed
patch.
* gnu/local/mk (dist_patch_DATA): Remove it.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/maths.scm9
-rw-r--r--gnu/packages/patches/hdf5-1.8-mpi-deprecations.patch169
3 files changed, 4 insertions, 175 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index ae64a483b5..e515ab6285 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1156,7 +1156,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/hdf4-shared-fortran.patch 		\
   %D%/packages/patches/hdf4-tirpc.patch 			\
   %D%/packages/patches/hdf5-config-date.patch			\
-  %D%/packages/patches/hdf5-1.8-mpi-deprecations.patch		\
   %D%/packages/patches/hdf-eos2-build-shared.patch 		\
   %D%/packages/patches/hdf-eos2-remove-gctp.patch		\
   %D%/packages/patches/hdf-eos2-fortrantests.patch		\
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index eff1480e62..b572f8dee4 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2013, 2014, 2015, 2016, 2019, 2020 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2014, 2016, 2017 John Darrington <jmd@gnu.org>
-;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Eric Bavier <bavier@posteo.net>
 ;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
 ;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
 ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
@@ -1077,7 +1077,7 @@ incompatible with HDF5.")
 (define-public hdf5-1.8
   (package
     (name "hdf5")
-    (version "1.8.21")
+    (version "1.8.22")
     (source
      (origin
       (method url-fetch)
@@ -1092,9 +1092,8 @@ incompatible with HDF5.")
                                    (string-append major minor)))
                                 "/src/hdf5-" version ".tar.bz2")))
       (sha256
-       (base32 "03glk4w4wyb1jyb443g53y3y1ncnf6mj2cqwm6avfr2awkgb3cg5"))
-      (patches (search-patches "hdf5-config-date.patch"
-                               "hdf5-1.8-mpi-deprecations.patch"))))
+       (base32 "194ki2s5jrgl4czkvy5nc9nwjyapah0fj72l0gb0aysplp38i6v8"))
+      (patches (search-patches "hdf5-config-date.patch"))))
     (build-system gnu-build-system)
     (inputs
      `(("zlib" ,zlib)))
diff --git a/gnu/packages/patches/hdf5-1.8-mpi-deprecations.patch b/gnu/packages/patches/hdf5-1.8-mpi-deprecations.patch
deleted file mode 100644
index 29242dc4e8..0000000000
--- a/gnu/packages/patches/hdf5-1.8-mpi-deprecations.patch
+++ /dev/null
@@ -1,169 +0,0 @@
---- a/src/H5.c
-+++ b/src/H5.c
-@@ -138,7 +138,7 @@
-         if (mpi_initialized && !mpi_finalized) {
-             int key_val;
- 
--            if(MPI_SUCCESS != (mpi_code = MPI_Comm_create_keyval(MPI_NULL_COPY_FN, 
-+            if(MPI_SUCCESS != (mpi_code = MPI_Comm_create_keyval(MPI_COMM_NULL_COPY_FN, 
-                                                                  (MPI_Comm_delete_attr_function *)H5_mpi_delete_cb, 
-                                                                  &key_val, NULL)))
-                 HMPI_GOTO_ERROR(FAIL, "MPI_Comm_create_keyval failed", mpi_code)
---- hdf5-1.8.19/testpar/t_cache.c
-+++ hdf5-1.8.19/testpar/t_cache.c
-@@ -1187,20 +1187,20 @@
-     struct mssg_t sample; /* used to compute displacements */
- 
-     /* setup the displacements array */
--    if ( ( MPI_SUCCESS != MPI_Address(&sample.req, &displs[0]) ) ||
--         ( MPI_SUCCESS != MPI_Address(&sample.src, &displs[1]) ) ||
--         ( MPI_SUCCESS != MPI_Address(&sample.dest, &displs[2]) ) ||
--         ( MPI_SUCCESS != MPI_Address(&sample.mssg_num, &displs[3]) ) ||
--         ( MPI_SUCCESS != MPI_Address(&sample.base_addr, &displs[4]) ) ||
--         ( MPI_SUCCESS != MPI_Address(&sample.len, &displs[5]) ) ||
--         ( MPI_SUCCESS != MPI_Address(&sample.ver, &displs[6]) ) ||
--         ( MPI_SUCCESS != MPI_Address(&sample.count, &displs[7]) ) ||
--         ( MPI_SUCCESS != MPI_Address(&sample.magic, &displs[8]) ) ) {
-+    if ( ( MPI_SUCCESS != MPI_Get_address(&sample.req, &displs[0]) ) ||
-+         ( MPI_SUCCESS != MPI_Get_address(&sample.src, &displs[1]) ) ||
-+         ( MPI_SUCCESS != MPI_Get_address(&sample.dest, &displs[2]) ) ||
-+         ( MPI_SUCCESS != MPI_Get_address(&sample.mssg_num, &displs[3]) ) ||
-+         ( MPI_SUCCESS != MPI_Get_address(&sample.base_addr, &displs[4]) ) ||
-+         ( MPI_SUCCESS != MPI_Get_address(&sample.len, &displs[5]) ) ||
-+         ( MPI_SUCCESS != MPI_Get_address(&sample.ver, &displs[6]) ) ||
-+         ( MPI_SUCCESS != MPI_Get_address(&sample.count, &displs[7]) ) ||
-+         ( MPI_SUCCESS != MPI_Get_address(&sample.magic, &displs[8]) ) ) {
- 
-         nerrors++;
-         success = FALSE;
-         if ( verbose ) {
--            HDfprintf(stdout, "%d:%s: MPI_Address() call failed.\n",
-+            HDfprintf(stdout, "%d:%s: MPI_Get_address() call failed.\n",
-                       world_mpi_rank, fcn_name);
-         }
- 
-@@ -1215,14 +1215,14 @@
- 
-     if ( success ) {
- 
--        result = MPI_Type_struct(9, block_len, displs, mpi_types, &mpi_mssg_t);
-+        result = MPI_Type_create_struct(9, block_len, displs, mpi_types, &mpi_mssg_t);
- 
-         if ( result != MPI_SUCCESS ) {
- 
-             nerrors++;
-             success = FALSE;
-             if ( verbose ) {
--                HDfprintf(stdout, "%d:%s: MPI_Type_struct() call failed.\n",
-+                HDfprintf(stdout, "%d:%s: MPI_Type_create_struct() call failed.\n",
-                           world_mpi_rank, fcn_name);
-             }
-         }
---- hdf5-1.8.19/testpar/t_mpi.c
-+++ hdf5-1.8.19/testpar/t_mpi.c
-@@ -279,7 +279,7 @@
- 	printf("Skipped GB file range test "
- 		"because MPI_Offset cannot support it\n");
-     }else{
--	buf = HDmalloc(MB);
-+	buf = (char *)HDmalloc(MB);
- 	VRFY((buf!=NULL), "malloc succeed");
- 
- 	/* open a new file. Remove it first in case it exists. */
-@@ -624,7 +624,7 @@
- and this platform.
- 
- 1. Details for the test:
--1) Create two derived datatypes with MPI_Type_hindexed:
-+1) Create two derived datatypes with MPI_Type_create_hindexed:
-         datatype1:
- 	count = 1, blocklens = 1, offsets = 0,
- 	base type = MPI_BYTE(essentially a char)
-@@ -633,7 +633,7 @@
- 	base type = MPI_BYTE
- 
- 2) Using these two derived datatypes,
--   Build another derived datatype with MPI_Type_struct:
-+   Build another derived datatype with MPI_Type_create_struct:
-         advtype: derived from datatype1 and datatype2
-         advtype:
- 	count = 2, blocklens[0] = 1, blocklens[1]=1,
-@@ -676,10 +676,9 @@
-     int  mpi_err_strlen;
-     int  mpi_err;
-     int  i;
--    int  nerrors = 0;		/* number of errors */
-     MPI_Datatype  etype,filetype;
-     MPI_Datatype  adv_filetype,bas_filetype[2];
--    MPI_Datatype  etypenew, filetypenew;
-+    MPI_Datatype  filetypenew;
-     MPI_Offset    disp;
-     MPI_Status    Status;
-     MPI_Aint      adv_disp[2];
-@@ -715,7 +714,7 @@
-     blocklens[0] = 1;
-     offsets[0]   = 0;
- 
--    if((mpi_err= MPI_Type_hindexed(count,blocklens,offsets,MPI_BYTE,&filetype))
-+    if((mpi_err= MPI_Type_create_hindexed(count,blocklens,offsets,MPI_BYTE,&filetype))
-        != MPI_SUCCESS){
-       	MPI_Error_string(mpi_err, mpi_err_str, &mpi_err_strlen);
- 	printf("MPI_Type_contiguous failed (%s)\n", mpi_err_str);
-@@ -731,7 +730,7 @@
-     count = 1;
-     blocklens[0]=1;
-     offsets[0] = 1;
--    if((mpi_err= MPI_Type_hindexed(count,blocklens,offsets,MPI_BYTE,&filetypenew))
-+    if((mpi_err= MPI_Type_create_hindexed(count,blocklens,offsets,MPI_BYTE,&filetypenew))
-        != MPI_SUCCESS){
-       	MPI_Error_string(mpi_err, mpi_err_str, &mpi_err_strlen);
- 	printf("MPI_Type_contiguous failed (%s)\n", mpi_err_str);
-@@ -752,10 +751,10 @@
-     bas_filetype[0]  = filetype;
-     bas_filetype[1]  = filetypenew;
- 
--    if((mpi_err= MPI_Type_struct(outcount,adv_blocklens,adv_disp,bas_filetype,&adv_filetype))
-+    if((mpi_err= MPI_Type_create_struct(outcount,adv_blocklens,adv_disp,bas_filetype,&adv_filetype))
-        != MPI_SUCCESS){
-       	MPI_Error_string(mpi_err, mpi_err_str, &mpi_err_strlen);
--	printf("MPI_Type_struct failed (%s)\n", mpi_err_str);
-+	printf("MPI_Type_create_struct failed (%s)\n", mpi_err_str);
- 	return 1;
-     }
-     if((mpi_err=MPI_Type_commit(&adv_filetype))!=MPI_SUCCESS){
-@@ -842,7 +841,7 @@
- processes are needed.
- 
- 1. Details for the test:
--1) Create one derived datatype with MPI_Type_hindexed:
-+1) Create one derived datatype with MPI_Type_create_hindexed:
- 
- 2) Choosing at least two processes to contribute none for IO with
-    the buf size inside MPI_Write_at_all to 0.
-@@ -898,7 +897,7 @@
-     offsets[1] = (mpi_size+mpi_rank)*count;
- 
-     if(count !=0) {
--        if((mpi_err = MPI_Type_hindexed(2,
-+        if((mpi_err = MPI_Type_create_hindexed(2,
-                                         blocklens,
-                                         offsets,
-                                         etype,
-@@ -914,7 +913,7 @@
-             return 1;
-         } /* end if */
- 
--        if((mpi_err = MPI_Type_hindexed(2,
-+        if((mpi_err = MPI_Type_create_hindexed(2,
-                                         blocklens,
-                                         offsets,
-                                         etype,
-@@ -1098,7 +1097,7 @@
-      * calls.  By then, MPI calls may not work.
-      */
-     if (H5dont_atexit() < 0){
--	printf("Failed to turn off atexit processing. Continue.\n", mpi_rank);
-+	printf("Failed to turn off atexit processing. Continue.\n");
-     };
-     H5open();
-     if (parse_options(argc, argv) != 0){