From fde13021769c54352c2c692f7140e3ef3fbcd51b Mon Sep 17 00:00:00 2001
From: boli <boli@localhost>
Date: Fri, 22 Sep 2006 22:56:55 +0000
Subject: [PATCH] Fixed several bugs:

---
 opends/src/server/org/opends/server/protocols/ldap/LDAPFilter.java |   11 +++++++----
 opends/src/server/org/opends/server/types/FilterType.java          |    2 +-
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/opends/src/server/org/opends/server/protocols/ldap/LDAPFilter.java b/opends/src/server/org/opends/server/protocols/ldap/LDAPFilter.java
index 81a5f43..3d26bc1 100644
--- a/opends/src/server/org/opends/server/protocols/ldap/LDAPFilter.java
+++ b/opends/src/server/org/opends/server/protocols/ldap/LDAPFilter.java
@@ -191,7 +191,7 @@
       case NOT:
         notComponent = new LDAPFilter(filter.getNotComponent());
 
-        notComponent      = null;
+        filterComponents  = null;
         attributeType     = null;
         assertionValue    = null;
         subInitialElement = null;
@@ -1643,7 +1643,10 @@
       {
         dnAttributes = true;
 
-        matchingRuleID = filterString.substring(startPos+4, equalPos-1);
+        if((startPos+4) < (equalPos-1))
+        {
+          matchingRuleID = filterString.substring(startPos+4, equalPos-1);
+        }
       }
       else
       {
@@ -2242,14 +2245,14 @@
         elements = new ArrayList<ASN1Element>(4);
         if (matchingRuleID != null)
         {
-          elements.add(new ASN1OctetString(TYPE_MATCHING_RULE_TYPE,
+          elements.add(new ASN1OctetString(TYPE_MATCHING_RULE_ID,
                                            matchingRuleID));
         }
 
         if (attributeType != null)
         {
           elements.add(new ASN1OctetString(TYPE_MATCHING_RULE_TYPE,
-                                           matchingRuleID));
+                                           attributeType));
         }
 
         assertionValue.setType(TYPE_MATCHING_RULE_VALUE);
diff --git a/opends/src/server/org/opends/server/types/FilterType.java b/opends/src/server/org/opends/server/types/FilterType.java
index 53d1929..b03fe4f 100644
--- a/opends/src/server/org/opends/server/types/FilterType.java
+++ b/opends/src/server/org/opends/server/types/FilterType.java
@@ -105,7 +105,7 @@
   /**
    * The filter type for extensible matching filters.
    */
-  EXTENSIBLE_MATCH(TYPE_FILTER_OR);
+  EXTENSIBLE_MATCH(TYPE_FILTER_EXTENSIBLE_MATCH);
 
 
 

--
Gitblit v1.10.0