Skip to content

Commit d19165b

Browse files
committedOct 15, 2015
[server] Fix #13291; reinstate default project read in fcgi directory
- Ensure no reassignment of mConfigFilePath by MAP parameter or from QGIS_PROJECT_FILE env var
1 parent f205acf commit d19165b

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed
 

‎src/server/qgsserver.cpp

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,11 @@ bool QgsServer::init( int & argc, char ** argv )
416416
defaultConfigFilePath = adminSLDFileInfo.absoluteFilePath();
417417
}
418418
}
419+
if ( !defaultConfigFilePath.isEmpty() )
420+
{
421+
mConfigFilePath = defaultConfigFilePath;
422+
}
423+
419424
//create cache for capabilities XML
420425
mCapabilitiesCache = new QgsCapabilitiesCache();
421426
mMapRenderer = new QgsMapRenderer;
@@ -524,9 +529,9 @@ QPair<QByteArray, QByteArray> QgsServer::handleRequest( const QString queryStrin
524529
printRequestParameters( parameterMap, logLevel );
525530
QMap<QString, QString>::const_iterator paramIt;
526531
//Config file path
527-
mConfigFilePath = configPath( mConfigFilePath, parameterMap );
532+
QString configFilePath = configPath( mConfigFilePath, parameterMap );
528533
#ifdef HAVE_SERVER_PYTHON_PLUGINS
529-
mServerInterface->setConfigFilePath( mConfigFilePath );
534+
mServerInterface->setConfigFilePath( configFilePath );
530535
#endif
531536
//Service parameter
532537
QString serviceString = theRequestHandler->parameter( "SERVICE" );
@@ -554,40 +559,40 @@ QPair<QByteArray, QByteArray> QgsServer::handleRequest( const QString queryStrin
554559
{
555560
if ( serviceString == "WCS" )
556561
{
557-
QgsWCSProjectParser* p = QgsConfigCache::instance()->wcsConfiguration( mConfigFilePath );
562+
QgsWCSProjectParser* p = QgsConfigCache::instance()->wcsConfiguration( configFilePath );
558563
if ( !p )
559564
{
560565
theRequestHandler->setServiceException( QgsMapServiceException( "Project file error", "Error reading the project file" ) );
561566
}
562567
else
563568
{
564-
QgsWCSServer wcsServer( mConfigFilePath, parameterMap, p, theRequestHandler.data() );
569+
QgsWCSServer wcsServer( configFilePath, parameterMap, p, theRequestHandler.data() );
565570
wcsServer.executeRequest();
566571
}
567572
}
568573
else if ( serviceString == "WFS" )
569574
{
570-
QgsWFSProjectParser* p = QgsConfigCache::instance()->wfsConfiguration( mConfigFilePath );
575+
QgsWFSProjectParser* p = QgsConfigCache::instance()->wfsConfiguration( configFilePath );
571576
if ( !p )
572577
{
573578
theRequestHandler->setServiceException( QgsMapServiceException( "Project file error", "Error reading the project file" ) );
574579
}
575580
else
576581
{
577-
QgsWFSServer wfsServer( mConfigFilePath, parameterMap, p, theRequestHandler.data() );
582+
QgsWFSServer wfsServer( configFilePath, parameterMap, p, theRequestHandler.data() );
578583
wfsServer.executeRequest();
579584
}
580585
}
581586
else if ( serviceString == "WMS" )
582587
{
583-
QgsWMSConfigParser* p = QgsConfigCache::instance()->wmsConfiguration( mConfigFilePath, parameterMap );
588+
QgsWMSConfigParser* p = QgsConfigCache::instance()->wmsConfiguration( configFilePath, parameterMap );
584589
if ( !p )
585590
{
586591
theRequestHandler->setServiceException( QgsMapServiceException( "WMS configuration error", "There was an error reading the project file or the SLD configuration" ) );
587592
}
588593
else
589594
{
590-
QgsWMSServer wmsServer( mConfigFilePath, parameterMap, p, theRequestHandler.data(), mMapRenderer, mCapabilitiesCache );
595+
QgsWMSServer wmsServer( configFilePath, parameterMap, p, theRequestHandler.data(), mMapRenderer, mCapabilitiesCache );
591596
wmsServer.executeRequest();
592597
}
593598
}

0 commit comments

Comments
 (0)
Please sign in to comment.