Ensure no empty object classes
authorJamie Cameron <jcameron@webmin.com>
Thu, 20 Mar 2008 05:10:57 +0000 (05:10 +0000)
committerJamie Cameron <jcameron@webmin.com>
Thu, 20 Mar 2008 05:10:57 +0000 (05:10 +0000)
ldap-useradmin/ldap-useradmin-lib.pl
ldap-useradmin/save_user.cgi

index b3b9c05..622a0e5 100644 (file)
@@ -250,6 +250,7 @@ if ($schema->objectclass("person") && $config{'person'}) {
        push(@classes, "person");
        }
 @classes = &unique(@classes);
+@classes = grep { /\S/ } @classes;     # Remove empty
 local @attrs = &user_to_dn($_[0]);
 push(@attrs, &split_props($config{'props'}, $_[0]));
 push(@attrs, @{$_[0]->{'ldap_attrs'}});
index 4137ceb..a450145 100755 (executable)
@@ -352,6 +352,7 @@ else {
                push(@classes, split(/\s+/, $config{'other_class'}));
                push(@classes, $samba_class) if ($in{'samba'});
                push(@classes, split(' ',$cyrus_class)) if ($in{'cyrus'});
+               @classes = grep { /\S/ } @classes;      # Remove empty
                &name_fields();
                @classes = &unique(@classes);
                $base = &get_user_base();
@@ -526,6 +527,7 @@ else {
                push(@classes, "shadowAccount") if ($shadow);
                &name_fields();
                @classes = &unique(@classes);
+               @classes = grep { /\S/ } @classes;      # Remove empty
                @rprops = grep { defined($uinfo->get_value($_)) } @rprops;
                $newdn = $in{'dn'};
                %allprops = ( "cn" => $real,