@@ -69,6 +69,9 @@ cat <<EOF >/etc/apache2/sites-available/001-mapserver.conf
6969 ErrorLog \$ {APACHE_LOG_DIR}/mapserv-error.log
7070 CustomLog \$ {APACHE_LOG_DIR}/mapserv-access.log combined
7171
72+ SetEnv MAPSERVER_CONFIG_FILE ${WORK_DIR} /msautotest/etc/mapserv.conf
73+ FcgidInitialEnv MAPSERVER_CONFIG_FILE ${WORK_DIR} /msautotest/etc/mapserv.conf
74+
7275 ScriptAlias /cgi-bin/ "/tmp/install-mapserver/bin/"
7376 <Directory "/tmp/install-mapserver/bin">
7477 AddHandler fcgid-script .fcgi
@@ -107,28 +110,74 @@ cd msautotest/wxs
107110
108111export PATH=/tmp/install-mapserver/bin:$PATH
109112
113+ # Demonstrate that mapserv will error out if cannot find config file
114+ mapserv 2>&1 | grep " msLoadConfig(): Unable to access file" > /dev/null && echo yes
115+ mapserv QUERY_STRING=" MAP=wfs_simple.map&REQUEST=GetCapabilities" 2>&1 | grep " msLoadConfig(): Unable to access file" > /dev/null && echo yes
116+
110117echo " Check that MS_MAP_NO_PATH works"
111- MS_MAP_NO_PATH=1 MYMAPFILE=wfs_simple.map mapserv QUERY_STRING=" MAP=MYMAPFILE&SERVICE=WFS&REQUEST=GetCapabilities" > /tmp/res.txt
118+ cat << EOF >/tmp/mapserver.conf
119+ CONFIG
120+ ENV
121+ "MS_MAP_NO_PATH" "1"
122+ END
123+ MAPS
124+ "MYMAPFILE" "wfs_simple.map"
125+ END
126+ END
127+ EOF
128+ # Also demonstrate that mapserv can find config file in ${CMAKE_INSTALL_FULL_SYSCONFDIR}/etc/mapserver.conf by default
129+ ln -s /tmp/mapserver.conf /tmp/install-mapserver/etc
130+ mapserv QUERY_STRING=" MAP=MYMAPFILE&SERVICE=WFS&REQUEST=GetCapabilities" > /tmp/res.txt
131+ rm /tmp/install-mapserver/etc/mapserver.conf
112132cat /tmp/res.txt | grep wfs:WFS_Capabilities > /dev/null || (cat /tmp/res.txt && /bin/false)
113133
114- echo " Check that MS_MAP_NO_PATH cannot be abused with client-controlled env variables "
115- MS_MAP_NO_PATH=1 CONTENT_TYPE=wfs_simple.map mapserv QUERY_STRING=" MAP=CONTENT_TYPE &SERVICE=WFS&REQUEST=GetCapabilities" > /tmp/res.txt
134+ echo " Check that MS_MAP_NO_PATH works (rejecting a value not defined in the MAPS section) "
135+ MAPSERVER_CONFIG_FILE=/tmp/mapserver.conf mapserv QUERY_STRING=" MAP=FOO &SERVICE=WFS&REQUEST=GetCapabilities" > /tmp/res.txt
116136cat /tmp/res.txt | grep " Web application error" > /dev/null || (cat /tmp/res.txt && /bin/false)
117137
118138echo " Check that MS_MAP_PATTERN works (accepting valid MAP)"
119- MS_MAP_PATTERN=" ^wfs_simple\.map$" mapserv QUERY_STRING=" MAP=wfs_simple.map&SERVICE=WFS&REQUEST=GetCapabilities" > /tmp/res.txt
139+ cat << EOF >/tmp/mapserver.conf
140+ CONFIG
141+ ENV
142+ "MS_MAP_PATTERN" "^wfs_simple\.map$"
143+ END
144+ END
145+ EOF
146+ MAPSERVER_CONFIG_FILE=/tmp/mapserver.conf mapserv QUERY_STRING=" MAP=wfs_simple.map&SERVICE=WFS&REQUEST=GetCapabilities" > /tmp/res.txt
120147cat /tmp/res.txt | grep wfs:WFS_Capabilities > /dev/null || (cat /tmp/res.txt && /bin/false)
121148
122149echo " Check that MS_MAP_PATTERN works (rejecting invalid MAP)"
123- MS_MAP_PATTERN=mypatternmapserv mapserv QUERY_STRING=" MAP=wfs_simple.map&SERVICE=WFS&REQUEST=GetCapabilities" > /tmp/res.txt
150+ cat << EOF >/tmp/mapserver.conf
151+ CONFIG
152+ ENV
153+ "MS_MAP_PATTERN" "mypatternmapserv"
154+ END
155+ END
156+ EOF
157+ MAPSERVER_CONFIG_FILE=/tmp/mapserver.conf mapserv QUERY_STRING=" MAP=wfs_simple.map&SERVICE=WFS&REQUEST=GetCapabilities" > /tmp/res.txt
124158cat /tmp/res.txt | grep " Web application error" > /dev/null || (cat /tmp/res.txt && /bin/false)
125159
126160echo " Check that MS_MAPFILE works alone"
127- MS_MAPFILE=wfs_simple.map mapserv QUERY_STRING=" SERVICE=WFS&REQUEST=GetCapabilities" > /tmp/res.txt
161+ cat << EOF >/tmp/mapserver.conf
162+ CONFIG
163+ ENV
164+ "MS_MAPFILE" "wfs_simple.map"
165+ END
166+ END
167+ EOF
168+ MAPSERVER_CONFIG_FILE=/tmp/mapserver.conf mapserv QUERY_STRING=" SERVICE=WFS&REQUEST=GetCapabilities" > /tmp/res.txt
128169cat /tmp/res.txt | grep wfs:WFS_Capabilities > /dev/null || (cat /tmp/res.txt && /bin/false)
129170
130171echo " Check that a MAP query parameter isn't accepted when MS_MAPFILE and MS_MAP_NO_PATH are specified"
131- MS_MAP_NO_PATH=1 MS_MAPFILE=wfs_simple.map mapserv QUERY_STRING=" MAP=wfs_simple.map&SERVICE=WFS&REQUEST=GetCapabilities" > /tmp/res.txt
172+ cat << EOF >/tmp/mapserver.conf
173+ CONFIG
174+ ENV
175+ "MS_MAPFILE" "wfs_simple.map"
176+ "MS_MAP_NO_PATH" "1"
177+ END
178+ END
179+ EOF
180+ MAPSERVER_CONFIG_FILE=/tmp/mapserver.conf mapserv QUERY_STRING=" MAP=wfs_simple.map&SERVICE=WFS&REQUEST=GetCapabilities" > /tmp/res.txt
132181cat /tmp/res.txt | grep " Web application error" > /dev/null || (cat /tmp/res.txt && /bin/false)
133182
134183echo " Done !"
0 commit comments