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);
