Hi David,
MS4W also uses PCRE for its regex engine, so Windows users will soon be
facing these same issues as you (I'll be making this as easy as possible
for the new Windows users).
So to answer your question: I believe most users aren't yet aware of
what regex engine they use, and, also I believe that the PCRE regex
engine is used more frequently in the MapServer community than what is
believed. (most automated tests do not use PCRE, for example, even
though it is so commonly used)
I'm not sure if I have the answer that you need, but I wanted to give a
perspective from the Windows side.
-jeff
--
Jeff McKenna
GatewayGeo: Developers of MS4W, MapServer Consulting and Training
co-founder of FOSS4G
http://gatewaygeo.com/
On 2021-06-03 9:29 a.m., David Pavlíček via mapserver-users wrote:
Hi Steve,
your pattern works like a charm... escaped hyphen was the issue. I
tested the previous regex with regex101.com <http://regex101.com> and it
matches with no problems against most of the available variants except
PCRE. Which regex engine is suitable for a test against MapServer?
Thank you.
st 2. 6. 2021 v 15:16 odesílatel Steve Lime <sdl...@gmail.com
<mailto:sdl...@gmail.com>> napsal:
Hi David: Presumably the Docker image is running the most recent
version of 7.4 which would have that pull request applied. That
said, I don't think it's the culprit here and I have seen some
issues with -'s where the MS_MAP_PATTERN expression compiles fine
but doesn't match as expected. Re-writing the expression to move the
- character can help. Try this:
MS_MAP_PATTERN=^\/etc\/mapserver\/([^\.][-_A-Za-z0-9\.]+\/{1})*([-_A-Za-z0-9\.]+\.map)$
--Steve
On Wed, Jun 2, 2021 at 3:07 AM David Pavlíček via mapserver-users
<mapserver-users@lists.osgeo.org
<mailto:mapserver-users@lists.osgeo.org>> wrote:
Hello,
I'm using camptocamp/mapserver:7.4 docker image to run mapserver
on our servers and I have recently encountered this error:
[warn] [pid 25] mod_fcgid: stderr: msCGILoadMap(): Web
application error. CGI variable "map" fails to validate.
2098 - 172.17.0.1 - - [02/Jun/2021:04:57:42 +0000] "GET
/?map=/etc/mapserver/puobod/krpk-puobod-red.map&request=getcapabilities&service=WMS"
In fact, any mapfile with hyphens won't work. They fail against
MS_MAP_PATTERN regex or something. This is strange because I
tested this regex and it works fine. Container MS ENV variables
look like this:
MS_ERRORFILE=stderr
MS_MAP_PATTERN=^\/etc\/mapserver\/([^\.][_A-Za-z0-9\-\.]+\/{1})*([_A-Za-z0-9\-\.]+\.map)$
MS_DEBUGLEVEL=0
MS_MAPFILE=/etc/mapserver/mapserver.map
Maybe something related to this PR:
https://github.com/MapServer/MapServer/pull/6314
<https://github.com/MapServer/MapServer/pull/6314>
Any suggestions about that? Renaming project is not an option
because they are referenced in many places outside of our direct
reach (GIS clients, servers, etc)
Thanks, David
_______________________________________________
mapserver-users mailing list
mapserver-users@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/mapserver-users