Replacing an unknown attribute with no values (deletion) causes an error
------------------------------------------------------------------------

         Key: DIRSERVER-646
         URL: http://issues.apache.org/jira/browse/DIRSERVER-646
     Project: Directory ApacheDS
        Type: Bug

    Versions: 1.0-RC3    
 Environment: ApacheDS 1.0 RC 3
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
Microsoft Windows XP version 5.1 Service Pack 1
    Reporter: Stefan Zoerner


I am not sure, whether we have implemented the following right: RFC 2251 says 
in chapter 4.6. (Modify Operation) the following about replace modification 
items:

"replace: replace all existing values of the given attribute with the new 
values listed, creating the attribute if it did not already exist. A replace 
with no value will delete the entire attribute if it exists, and is ignored if 
the attribute does not exist."

The problem I have found has to do with the second part. To make it more 
concrete, here is my example entry:

dn: cn=Kate Bush,dc=example,dc=com
cn: Kate Bush
objectclass: top
objectclass: person
sn: Bush

If I apply the following modification to it (replace with no value)

dn: cn=Kate Bush,dc=example,dc=com
changetype: modify
replace: description
-

i.e.

$ ldapmodify -h localhost -p 10389 -D "uid=admin,ou=system" -w ****** -f 
replaceDescription.ldif
modifying entry cn=Kate Bush,dc=example,dc=com
$

ApacheDS works as expected and described in the RFC above: Nothing happens 
(especially no error).  

If I use an attribute which is not known to the server, e.g.

dn: cn=Kate Bush,dc=example,dc=com
changetype: modify
replace: numberOfOctaves
-

The following happens

$ ldapmodify -h localhost -p 10389 -D "uid=admin,ou=system" -w ****** -f 
replaceOctaves.ldif
modifying entry cn=Kate Bush,dc=example,dc=com
ldap_modify: Undefined attribute type
ldap_modify: additional info: failed to modify entry cn=Kate 
Bush,dc=example,dc=com
$

I am not sure, whether the correct behavior is to ignore the replace 
modification here. But I assume it (what does "is ignored if the attribute does 
not exist" exactly mean in the RFC?). Sun Java System Directory Server 5.2. for 
instance does not throw an error in this situation.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to