@@ -581,7 +581,7 @@ QImage* QgsWMSServer::getMap()
581
581
restoreLayerFilters ( originalLayerFilters );
582
582
clearFeatureSelections ( selectedLayerIdList );
583
583
584
- QgsDebugMsg (" clearing filters" );
584
+ QgsDebugMsg ( " clearing filters" );
585
585
QgsMapLayerRegistry::instance ()->mapLayers ().clear ();
586
586
587
587
#ifdef QGISDEBUG
@@ -1700,7 +1700,7 @@ QMap<QString, QString> QgsWMSServer::applyRequestedLayerFilters( const QStringLi
1700
1700
throw QgsMapServiceException ( " Filter string rejected" , " The filter string " + eqSplit.at ( 1 ) +
1701
1701
" has been rejected because of security reasons. Note: Text strings have to be enclosed in single or double quotes. " +
1702
1702
" A space between each word / special character is mandatory. Allowed Keywords and special characters are " +
1703
- " AND,OR,IN,<,>=,>,>=,!=,',',(,). Not allowed are semicolons in the filter expression." );
1703
+ " AND,OR,IN,<,>=,>,>=,!=,',',(,),DMETAPHONE,SOUNDEX . Not allowed are semicolons in the filter expression." );
1704
1704
}
1705
1705
1706
1706
// we need to find the maplayer objects matching the layer name
@@ -1832,7 +1832,9 @@ bool QgsWMSServer::testFilterStringSafety( const QString& filter ) const
1832
1832
|| tokenIt->compare ( " >=" ) == 0
1833
1833
|| tokenIt->compare ( " AND" , Qt::CaseInsensitive ) == 0
1834
1834
|| tokenIt->compare ( " OR" , Qt::CaseInsensitive ) == 0
1835
- || tokenIt->compare ( " IN" , Qt::CaseInsensitive ) == 0 )
1835
+ || tokenIt->compare ( " IN" , Qt::CaseInsensitive ) == 0
1836
+ || tokenIt->compare ( " DMETAPHONE" , Qt::CaseInsensitive ) == 0
1837
+ || tokenIt->compare ( " SOUNDEX" , Qt::CaseInsensitive ) == 0 )
1836
1838
{
1837
1839
continue ;
1838
1840
}
0 commit comments