import com.novell.ldap.*;
import java.io.UnsupportedEncodingException;
public class List
{
public static void main( String[] args )
{
if (args.length != 5) {
System.err.println("Usage: java List <host name> <login dn>"
+ " <password> <search base>\n"
+ " <search filter>");
System.err.println("Example: java List Acme.com \"cn=admin,o=Acme\""
+ " secret \"ou=sales,o=Acme\"\n"
+ " \"(objectclass=*)\"");
System.exit(1);
}
int ldapPort = LDAPConnection.DEFAULT_PORT;
int searchScope = LDAPConnection.SCOPE_ONE;
int ldapVersion = LDAPConnection.LDAP_V3;;
boolean attributeOnly = true;
String attrs[] = {LDAPConnection.NO_ATTRS};
String ldapHost = args[0];
String loginDN = args[1];
String password = args[2];
String searchBase = args[3];
String searchFilter = args[4];
LDAPConnection lc = new LDAPConnection();
try {
lc.connect( ldapHost, ldapPort );
lc.bind( ldapVersion, loginDN, password.getBytes("UTF8") );
LDAPSearchResults searchResults =
lc.search( searchBase,
searchScope,
searchFilter,
attrs,
attributeOnly);
while ( searchResults.hasMore()) {
LDAPEntry nextEntry = null;
try {
nextEntry = searchResults.next();
}
catch(LDAPException e) {
System.out.println("Error: " + e.toString());
continue;
}
System.out.println("\n" + nextEntry.getDN());
}
lc.disconnect();
}
catch( LDAPException e ) {
System.out.println( "Error: " + e.toString() );
}
catch( UnsupportedEncodingException e ) {
System.out.println( "Error: " + e.toString() );
}
System.exit(0);
}
}