Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package mapserver for openSUSE:Factory 
checked in at 2026-04-26 21:11:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mapserver (Old)
 and      /work/SRC/openSUSE:Factory/.mapserver.new.11940 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mapserver"

Sun Apr 26 21:11:59 2026 rev:12 rq:1349321 version:8.6.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/mapserver/mapserver.changes      2026-03-28 
20:15:45.131368804 +0100
+++ /work/SRC/openSUSE:Factory/.mapserver.new.11940/mapserver.changes   
2026-04-26 21:14:37.785551421 +0200
@@ -1,0 +2,7 @@
+Sat Apr 25 22:58:14 UTC 2026 - Jan Engelhardt <[email protected]>
+
+- Update to release 8.6.2
+  * Fix GetFeatureInfo raster queries with NaN
+  * Fix segmentation fault in PHP MapScriptNG
+
+-------------------------------------------------------------------

Old:
----
  mapserver-8.6.1.tar.gz

New:
----
  mapserver-8.6.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mapserver.spec ++++++
--- /var/tmp/diff_new_pack.EfKjmw/_old  2026-04-26 21:14:38.317573158 +0200
+++ /var/tmp/diff_new_pack.EfKjmw/_new  2026-04-26 21:14:38.317573158 +0200
@@ -33,7 +33,7 @@
 %{?sle15_python_module_pythons}
 
 Name:           mapserver
-Version:        8.6.1
+Version:        8.6.2
 Release:        0
 Summary:        Environment for building spatially-enabled internet 
applications
 License:        MIT

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.EfKjmw/_old  2026-04-26 21:14:38.353574629 +0200
+++ /var/tmp/diff_new_pack.EfKjmw/_new  2026-04-26 21:14:38.357574793 +0200
@@ -1,5 +1,5 @@
-mtime: 1774624531
-commit: 529d913ae5b120e667a50862589bb50bf593708fa299424c777fac7e7b090b9e
+mtime: 1777158092
+commit: 975c9cb83b721021a4ca409ece144d69ef97b5a0d9395a4ee6c6ccf6ad965cb3
 url: https://src.opensuse.org/jengelh/mapserver
 revision: master
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-04-26 01:01:32.000000000 +0200
@@ -0,0 +1 @@
+.osc

++++++ mapserver-8.6.1.tar.gz -> mapserver-8.6.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mapserver-8.6.1/.github/workflows/start.sh 
new/mapserver-8.6.2/.github/workflows/start.sh
--- old/mapserver-8.6.1/.github/workflows/start.sh      2026-03-23 
16:36:42.000000000 +0100
+++ new/mapserver-8.6.2/.github/workflows/start.sh      2026-04-19 
16:27:49.000000000 +0200
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 
 set -e
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mapserver-8.6.1/CITATION.cff 
new/mapserver-8.6.2/CITATION.cff
--- old/mapserver-8.6.1/CITATION.cff    2026-03-23 16:36:42.000000000 +0100
+++ new/mapserver-8.6.2/CITATION.cff    2026-04-19 16:27:49.000000000 +0200
@@ -1,8 +1,8 @@
 cff-version: 1.2.0
 title: MapServer
 message: If you use this software, please cite it using the metadata from this 
file.
-version: 8.6.1
-date-released: 2026-03-23
+version: 8.6.2
+date-released: 2026-04-19
 abstract: MapServer is an Open Source platform for publishing spatial data and 
interactive mapping applications to the web.
 type: software
 authors:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mapserver-8.6.1/CMakeLists.txt 
new/mapserver-8.6.2/CMakeLists.txt
--- old/mapserver-8.6.1/CMakeLists.txt  2026-03-23 16:36:42.000000000 +0100
+++ new/mapserver-8.6.2/CMakeLists.txt  2026-04-19 16:27:49.000000000 +0200
@@ -17,7 +17,7 @@
 
 set (MapServer_VERSION_MAJOR 8)
 set (MapServer_VERSION_MINOR 6)
-set (MapServer_VERSION_REVISION 1)
+set (MapServer_VERSION_REVISION 2)
 set (MapServer_VERSION_SUFFIX "")
 
 # Set C++ version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mapserver-8.6.1/HISTORY.md 
new/mapserver-8.6.2/HISTORY.md
--- old/mapserver-8.6.1/HISTORY.md      2026-03-23 16:36:42.000000000 +0100
+++ new/mapserver-8.6.2/HISTORY.md      2026-04-19 16:27:49.000000000 +0200
@@ -13,6 +13,15 @@
 
 The online Migration Guide can be found at 
https://mapserver.org/MIGRATION_GUIDE.html
 
+8.6.2 release (2026-04-19)
+--------------------------
+
+- security: only allow SRS or CRS parameters for OpenLayers template (#7480)
+
+- fix segmentation fault in PHP MapScriptNG (#7471)
+
+see detailed changelog for other fixes
+
 8.6.1 release (2026-03-23)
 --------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mapserver-8.6.1/src/apps/mapserv.c 
new/mapserver-8.6.2/src/apps/mapserv.c
--- old/mapserver-8.6.1/src/apps/mapserv.c      2026-03-23 16:36:42.000000000 
+0100
+++ new/mapserver-8.6.2/src/apps/mapserv.c      2026-04-19 16:27:49.000000000 
+0200
@@ -284,7 +284,7 @@
           goto end_request;
         }
       }
-      if (ms_index_dir != NULL &&
+      if (ms_index_dir != NULL && mapserv->request->path_info != NULL &&
           strcmp(mapserv->request->path_info, "/") == 0) {
         // return the landing page
         msCGIDispatchIndexRequest(mapserv, config);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mapserver-8.6.1/src/maprasterquery.c 
new/mapserver-8.6.2/src/maprasterquery.c
--- old/mapserver-8.6.1/src/maprasterquery.c    2026-03-23 16:36:42.000000000 
+0100
+++ new/mapserver-8.6.2/src/maprasterquery.c    2026-04-19 16:27:49.000000000 
+0200
@@ -329,11 +329,20 @@
   /* -------------------------------------------------------------------- */
   else {
     if (rlinfo->band_count >= 3) {
-      red = (int)MS_MAX(0, MS_MIN(255, values[0]));
-      green = (int)MS_MAX(0, MS_MIN(255, values[1]));
-      blue = (int)MS_MAX(0, MS_MIN(255, values[2]));
+      if (!CPLIsFinite(values[0]) || !CPLIsFinite(values[1]) ||
+          !CPLIsFinite(values[2])) {
+        nodata = TRUE;
+      } else {
+        red = (int)MS_MAX(0, MS_MIN(255, values[0]));
+        green = (int)MS_MAX(0, MS_MIN(255, values[1]));
+        blue = (int)MS_MAX(0, MS_MIN(255, values[2]));
+      }
     } else {
-      red = green = blue = (int)MS_MAX(0, MS_MIN(255, values[0]));
+      if (!CPLIsFinite(values[0])) {
+        nodata = TRUE;
+      } else {
+        red = green = blue = (int)MS_MAX(0, MS_MIN(255, values[0]));
+      }
     }
   }
 
@@ -345,7 +354,7 @@
   /*      described in:                                                   */
   /*       http://mapserver.gis.umn.edu/bugs/show_bug.cgi?id=1021         */
   /* -------------------------------------------------------------------- */
-  if (rlinfo->qc_class != NULL) {
+  if (rlinfo->qc_class != NULL && !nodata) {
     p_class = msGetClass_FloatRGB(layer, values[0], red, green, blue);
 
     if (p_class == -1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mapserver-8.6.1/src/maptemplate.c 
new/mapserver-8.6.2/src/maptemplate.c
--- old/mapserver-8.6.1/src/maptemplate.c       2026-03-23 16:36:42.000000000 
+0100
+++ new/mapserver-8.6.2/src/maptemplate.c       2026-04-19 16:27:49.000000000 
+0200
@@ -5001,21 +5001,36 @@
   char *format = NULL;
 
   /* 2 CGI parameters are used in the template. we need to transform them
-   * to be sure the case match during the template processing. We also
-   * need to search the SRS/CRS parameter to get the projection info. OGC
-   * services version >= 1.3.0 uses CRS rather than SRS */
+   * to be sure the case matches during the template processing.*/
+
+  const char *version = NULL;
   for (i = 0; i < mapserv->request->NumParams; i++) {
-    if ((strcasecmp(mapserv->request->ParamNames[i], "SRS") == 0) ||
-        (strcasecmp(mapserv->request->ParamNames[i], "CRS") == 0)) {
-      projection = mapserv->request->ParamValues[i];
-    } else if (strcasecmp(mapserv->request->ParamNames[i], "LAYERS") == 0) {
+    if (strcasecmp(mapserv->request->ParamNames[i], "LAYERS") == 0) {
       free(mapserv->request->ParamNames[i]);
       mapserv->request->ParamNames[i] = msStrdup("LAYERS");
     } else if (strcasecmp(mapserv->request->ParamNames[i], "VERSION") == 0) {
       free(mapserv->request->ParamNames[i]);
       mapserv->request->ParamNames[i] = msStrdup("VERSION");
+      version = mapserv->request->ParamValues[i];
+    }
+  }
+
+  /* Determine whether this is a 1.3.0 request.
+   * CRS is used for VERSION 1.3.0, SRS for earlier versions. */
+
+  if (mapserv->Mode != BROWSE) {
+    const int use_crs = (version != NULL && strcmp(version, "1.3.0") >= 0);
+    const char *proj_param = use_crs ? "CRS" : "SRS";
+
+    /* get the correct projection parameter */
+    for (i = 0; i < mapserv->request->NumParams; i++) {
+      if (strcasecmp(mapserv->request->ParamNames[i], proj_param) == 0) {
+        projection = msEncodeHTMLEntities(mapserv->request->ParamValues[i]);
+        break;
+      }
     }
   }
+
   if (mapserv->map->outputformat->mimetype &&
       *mapserv->map->outputformat->mimetype) {
     format = mapserv->map->outputformat->mimetype;
@@ -5055,6 +5070,7 @@
   msIO_fwrite(buffer, strlen(buffer), 1, stdout);
   free(layer);
   free(buffer);
+  free(projection);
 
   return MS_SUCCESS;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mapserver-8.6.1/src/maputil.c 
new/mapserver-8.6.2/src/maputil.c
--- old/mapserver-8.6.1/src/maputil.c   2026-03-23 16:36:42.000000000 +0100
+++ new/mapserver-8.6.2/src/maputil.c   2026-04-19 16:27:49.000000000 +0200
@@ -62,6 +62,8 @@
 extern int msyylex_destroy(void);
 extern int yyparse(parseObj *);
 
+int gdal_destroyed = 0;
+
 int msScaleInBounds(double scale, double minscale, double maxscale) {
   if (scale > 0) {
     if (maxscale != -1 && scale >= maxscale)
@@ -2130,6 +2132,13 @@
   msThreadInit();
 #endif
 
+  if (gdal_destroyed) {
+    msAcquireLock(TLOCK_GDAL);
+    GDALAllRegister();
+    gdal_destroyed = 0;
+    msReleaseLock(TLOCK_GDAL);
+  }
+
   /* Use PROJ_DATA/PROJ_LIB env vars if set */
   msProjDataInitFromEnv();
 
@@ -2176,6 +2185,7 @@
   msAcquireLock(TLOCK_GDAL);
   /* Cleanup some GDAL global resources in particular */
   GDALDestroy();
+  gdal_destroyed = 1;
   msReleaseLock(TLOCK_GDAL);
 
   msSetPROJ_DATA(NULL, NULL);

Reply via email to