@@ -28,6 +28,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
28
using System . Diagnostics . Eventing . Reader ;
29
29
using System . Globalization ;
30
30
using System . IO ;
31
+ using System . Text ;
31
32
using System . Text . RegularExpressions ;
32
33
using System . Threading . Tasks ;
33
34
using System . Xml ;
@@ -228,8 +229,8 @@ private string GetEventLogQueryString(List<string> ignored)
228
229
return null ;
229
230
}
230
231
232
+ StringBuilder queryString = new StringBuilder ( "<QueryList>" ) ;
231
233
int id = 0 ;
232
- string queryString = "<QueryList>" ;
233
234
HashSet < string > logNames = new HashSet < string > ( System . Diagnostics . Eventing . Reader . EventLogSession . GlobalSession . GetLogNames ( ) ) ;
234
235
foreach ( EventViewerExpressionGroup group in service . Config . WindowsEventViewerExpressionsToBlock . Groups )
235
236
{
@@ -241,12 +242,12 @@ private string GetEventLogQueryString(List<string> ignored)
241
242
}
242
243
else
243
244
{
244
- queryString += group . GetQueryString ( ++ id ) ;
245
+ group . AppendQueryString ( queryString , ++ id ) ;
245
246
}
246
247
}
247
- queryString += "</QueryList>" ;
248
+ queryString . Append ( "</QueryList>" ) ;
248
249
249
- return queryString ;
250
+ return queryString . Length < 32 ? null : queryString . ToString ( ) ;
250
251
}
251
252
252
253
private void SetupEventLogWatcher ( )
@@ -255,7 +256,7 @@ private void SetupEventLogWatcher()
255
256
{
256
257
List < string > ignored = new List < string > ( ) ;
257
258
string queryString = GetEventLogQueryString ( ignored ) ;
258
- if ( queryString != previousQueryString )
259
+ if ( queryString != null && queryString != previousQueryString )
259
260
{
260
261
IPBanLog . Warn ( "Event viewer query string: {0}" , queryString ) ;
261
262
foreach ( string path in ignored )
0 commit comments