You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2015/12/30 00:50:54 UTC
svn commit: r1722248 - in /directory/shared/trunk/ldap/client/api/src:
main/java/org/apache/directory/ldap/client/api/LdifAnonymizer.java
test/java/org/apache/directory/ldap/client/api/LdifAnonymizerTest.java
Author: elecharny
Date: Tue Dec 29 23:50:52 2015
New Revision: 1722248
URL: http://svn.apache.org/viewvc?rev=1722248&view=rev
Log:
o Added a check on the Attribute being processed in a Modify operation. if it's not known, then we bypass the entry and spill a warning
o Fixed a bug in the used variable in the modifications.
o Added a test where we have a missing AT in the schema
Modified:
directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdifAnonymizer.java
directory/shared/trunk/ldap/client/api/src/test/java/org/apache/directory/ldap/client/api/LdifAnonymizerTest.java
Modified: directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdifAnonymizer.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdifAnonymizer.java?rev=1722248&r1=1722247&r2=1722248&view=diff
==============================================================================
--- directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdifAnonymizer.java (original)
+++ directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdifAnonymizer.java Tue Dec 29 23:50:52 2015
@@ -681,6 +681,13 @@ public class LdifAnonymizer
{
Attribute attribute = modification.getAttribute();
AttributeType attributeType = schemaManager.getAttributeType( attribute.getId() );
+
+ if ( attributeType == null )
+ {
+ System.out.println( "Unknown AttributeType : " + attribute.getId() + " for entry " + entryDn);
+ return null;
+ }
+
attribute.apply( attributeType );
// Deal with the special case of a DN syntax
@@ -921,7 +928,7 @@ public class LdifAnonymizer
// A Delete operation
LdifEntry newLdifEntry = anonymizeChangeDelete( ldifEntry );
- if ( ldifEntry != null )
+ if ( newLdifEntry != null )
{
result.append( newLdifEntry );
result.append( "\n" );
@@ -932,7 +939,7 @@ public class LdifAnonymizer
// A Add operation
LdifEntry newLdifEntry = anonymizeChangeAdd( ldifEntry );
- if ( ldifEntry != null )
+ if ( newLdifEntry != null )
{
result.append( newLdifEntry );
result.append( "\n" );
@@ -943,7 +950,7 @@ public class LdifAnonymizer
// A Modify operation
LdifEntry newLdifEntry = anonymizeChangeModify( ldifEntry );
- if ( ldifEntry != null )
+ if ( newLdifEntry != null )
{
result.append( newLdifEntry );
result.append( "\n" );
@@ -954,7 +961,7 @@ public class LdifAnonymizer
// A MODDN operation
LdifEntry newLdifEntry = anonymizeChangeModDn( ldifEntry );
- if ( ldifEntry != null )
+ if ( newLdifEntry != null )
{
result.append( newLdifEntry );
result.append( "\n" );
Modified: directory/shared/trunk/ldap/client/api/src/test/java/org/apache/directory/ldap/client/api/LdifAnonymizerTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/client/api/src/test/java/org/apache/directory/ldap/client/api/LdifAnonymizerTest.java?rev=1722248&r1=1722247&r2=1722248&view=diff
==============================================================================
--- directory/shared/trunk/ldap/client/api/src/test/java/org/apache/directory/ldap/client/api/LdifAnonymizerTest.java (original)
+++ directory/shared/trunk/ldap/client/api/src/test/java/org/apache/directory/ldap/client/api/LdifAnonymizerTest.java Tue Dec 29 23:50:52 2015
@@ -242,4 +242,24 @@ public class LdifAnonymizerTest
assertEquals( "ACME Inc. Legal Team".length(), value.length() );
assertNotEquals( "ACME Inc. Legal Team", value );
}
+
+
+ @Test
+ public void testAnonymizeModifyAddDeleteUnknownAttribute() throws Exception
+ {
+ String ldif =
+ "dn: uid=jdoe@acme.com,ou=People,o=acme.com\n" +
+ "changetype: modify\n" +
+ "delete: acmeAttr\n" +
+ "acmeAttr::dWlkPWpvaG4uZG9lQGFjbWUuY29tLG91PXBlb3BsZSxvPWFjbWUuY29t\n" +
+ "-\n" +
+ "add: acmeAttr\n" +
+ "acmeAttr::dWlkPWpvaG4uZG9lQGFjbWVOZXcuY29tLG91PXBlb3BsZSxvPWFjbWUuY29t\n" +
+ "-";
+ LdifAnonymizer anonymizer = new LdifAnonymizer( schemaManager );
+ anonymizer.addNamingContext( "o=acme.com" );
+ String result = anonymizer.anonymize( ldif );
+
+ assertEquals( "", result );
+ }
}