=== modified file 'helpers/external_acl/kerberos_ldap_group/config.test'
--- helpers/external_acl/kerberos_ldap_group/config.test	2010-12-06 21:23:54 +0000
+++ helpers/external_acl/kerberos_ldap_group/config.test	2011-05-29 17:40:26 +0000
@@ -12,6 +12,9 @@
 		if [ -f /usr/lib/libsasl.so -o -f /usr/lib/libsasl2.so ]; then
 			exit 0
 		fi
+		if [ -f /usr/lib64/libsasl.so -o -f /usr/lib64/libsasl2.so ]; then
+			exit 0
+		fi
 		if [ -f  /usr/local/lib/libsasl.so -o -f  /usr/local/lib/libsasl2.so ]; then
 			exit 0
 		fi

=== modified file 'helpers/external_acl/kerberos_ldap_group/kerberos_ldap_group.cc'
--- helpers/external_acl/kerberos_ldap_group/kerberos_ldap_group.cc	2011-03-14 06:08:24 +0000
+++ helpers/external_acl/kerberos_ldap_group/kerberos_ldap_group.cc	2011-05-29 17:36:17 +0000
@@ -237,7 +237,7 @@
 
     init_args(&margs);
 
-    while (-1 != (opt = getopt(argc, argv, "diasg:D:N:u:U:t:T:p:l:b:m:h"))) {
+    while (-1 != (opt = getopt(argc, argv, "diasg:D:N:S:u:U:t:T:p:l:b:m:h"))) {
         switch (opt) {
         case 'd':
             debug_enabled = 1;

=== modified file 'helpers/external_acl/kerberos_ldap_group/support_lserver.cc'
--- helpers/external_acl/kerberos_ldap_group/support_lserver.cc	2011-03-14 06:08:24 +0000
+++ helpers/external_acl/kerberos_ldap_group/support_lserver.cc	2011-05-29 17:38:13 +0000
@@ -100,11 +100,7 @@
             }
             lsspn = lssp;
             np = p;		/* after : starts new group name */
-            if (!lssp->domain || !strcmp(lssp->domain, "")) {
-                debug((char *) "%s| %s: DEBUG: No domain defined for ldap server %s\n", LogTime(), PROGRAM, lssp->lserver);
-                return (1);
-            }
-            debug((char *) "%s| %s: DEBUG: ldap server %s  Domain %s\n", LogTime(), PROGRAM, lssp->lserver, lssp->domain);
+            debug((char *) "%s| %s: DEBUG: ldap server %s Domain %s\n", LogTime(), PROGRAM, lssp->lserver, lssp->domain?lssp->domain:"NULL");
         } else
             p++;
     }
@@ -120,11 +116,7 @@
         if (lsspn)		/* Have already an existing structure */
             lssp->next = lsspn;
     }
-    if (!lssp->domain || !strcmp(lssp->domain, "")) {
-        debug((char *) "%s| %s: DEBUG: No domain defined for ldap server %s\n", LogTime(), PROGRAM, lssp->lserver);
-        return (1);
-    }
-    debug((char *) "%s| %s: DEBUG: ldap server %s  Domain %s\n", LogTime(), PROGRAM, lssp->lserver, lssp->domain);
+    debug((char *) "%s| %s: DEBUG: ldap server %s Domain %s\n", LogTime(), PROGRAM, lssp->lserver, lssp->domain?lssp->domain:"NULL");
 
     margs->lservs = lssp;
     return (0);

=== modified file 'helpers/external_acl/kerberos_ldap_group/support_resolv.cc'
--- helpers/external_acl/kerberos_ldap_group/support_resolv.cc	2011-03-14 06:08:24 +0000
+++ helpers/external_acl/kerberos_ldap_group/support_resolv.cc	2011-05-29 17:36:17 +0000
@@ -243,7 +243,7 @@
 
     ls = margs->lservs;
     while (ls) {
-        debug((char *) "%s| %s: DEBUG: Ldap server loop: lserver@domain %s@%s\n", LogTime(), PROGRAM, ls->lserver, ls->domain);
+        debug((char *) "%s| %s: DEBUG: Ldap server loop: lserver@domain %s@%s\n", LogTime(), PROGRAM, ls->lserver, ls->domain?ls->domain:"NULL");
         if (ls->domain && !strcasecmp(ls->domain, domain)) {
             debug((char *) "%s| %s: DEBUG: Found lserver@domain %s@%s\n", LogTime(), PROGRAM, ls->lserver, ls->domain);
             hp = (struct hstruct *) xrealloc(hp, sizeof(struct hstruct) * (nhosts + 1));
@@ -252,7 +252,16 @@
             hp[nhosts].priority = -2;
             hp[nhosts].weight = -2;
             nhosts++;
-        }
+        } else if ( !ls->domain || !strcasecmp(ls->domain, "") ) {
+            debug((char *) "%s| %s: DEBUG: Found lserver@domain %s@%s\n", LogTime(), PROGRAM, ls->lserver, ls->domain?ls->domain:"NULL");
+            hp = (struct hstruct *) xrealloc(hp, sizeof(struct hstruct) * (nhosts + 1));
+            hp[nhosts].host = strdup(ls->lserver);
+            hp[nhosts].port = -1;
+            hp[nhosts].priority = -2;
+            hp[nhosts].weight = -2;
+            nhosts++;
+
+        } 
         ls = ls->next;
     }
     /* found ldap servers in predefined list -> exit */
@@ -390,6 +399,8 @@
 #endif
         goto cleanup;
     }
+
+cleanup:
     nhosts = get_hostname_list(margs, &hp, nh, domain);
 
     debug("%s| %s: DEBUG: Adding %s to list\n", LogTime(), PROGRAM, domain);
@@ -438,13 +449,5 @@
         xfree(service);
     *hlist = hp;
     return (nhosts);
-
-cleanup:
-    if (buffer)
-        xfree(buffer);
-    if (service)
-        xfree(service);
-    *hlist = hp;
-    return (nhosts);
 }
 #endif

