=== 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