From 7c1877d9916ce03527dea3c20ae4f9b71904f6fb Mon Sep 17 00:00:00 2001 From: blackhedd Date: Tue, 15 Aug 2006 08:34:53 +0000 Subject: [PATCH] Augmented the value filter used in parsing rfc-2254 filters. Thanks to Andre Nathan. --- lib/net/ldap/filter.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/net/ldap/filter.rb b/lib/net/ldap/filter.rb index d086785..4051cce 100644 --- a/lib/net/ldap/filter.rb +++ b/lib/net/ldap/filter.rb @@ -292,6 +292,7 @@ class Filter end # class Net::LDAP::Filter + class FilterParser #:nodoc: attr_reader :filter @@ -349,13 +350,16 @@ class FilterParser #:nodoc: end end + # Added a greatly-augmented filter contributed by Andre Nathan + # for detecting special characters in values. (15Aug06) def parse_filter_branch scanner scanner.scan /\s*/ if token = scanner.scan( /[\w\-_]+/ ) scanner.scan /\s*/ if op = scanner.scan( /\=|\<\=|\<|\>\=|\>|\!\=/ ) scanner.scan /\s*/ - if value = scanner.scan( /[\w\*\.]+/ ) + #if value = scanner.scan( /[\w\*\.]+/ ) (ORG) + if value = scanner.scan( /[\w\*\.\+\-@=#\$%&!]+/ ) case op when "=" Filter.eq( token, value )