* [patch] Fix for ldap_search when multiple cn's are in one LDAP entry.
@ 2004-12-10 19:11 Chris Feist
2005-01-06 5:54 ` Ian Kent
0 siblings, 1 reply; 2+ messages in thread
From: Chris Feist @ 2004-12-10 19:11 UTC (permalink / raw)
To: raven, autofs
[-- Attachment #1: Type: text/plain, Size: 659 bytes --]
This patch fixes a bug in the ldap search which will only use the first
mount point found in an LDAP entry.
For example if an ldap entry looks like this:
dn: cn=%T%I_apps, nisMapName=auto_home, ou=foo.bar
nismapname: auto_home
objectClass: top
objectClass: nisobject
nismapentry: foo.bar.ti.com:/vol/vol6/TI_apps
cn: %T%I_apps
cn: TI_apps
Then the auto_home map will only be used in /%T%I_apps
If you try to cd into TI_apps you'll just get an error. The patch
forces ldap_search to iterate through all of the different cn's in an
entry so you can cd into either %T%I_apps or TI_apps and the proper
directory will still be automounted.
Thanks,
Chris
[-- Attachment #2: autofs-4.1.3-ldap-multiple-map.patch --]
[-- Type: text/x-patch, Size: 900 bytes --]
--- autofs-4.1.3/modules/lookup_ldap.c.orig 2004-04-03 01:14:33.000000000 -0600
+++ autofs-4.1.3/modules/lookup_ldap.c 2004-12-10 13:06:21.470895667 -0600
@@ -154,7 +154,7 @@
struct lookup_context *context)
{
struct lookup_context *ctxt = (struct lookup_context *) context;
- int rv, i, l, count;
+ int rv, i, j, l, count, keycount;
time_t age = time(NULL);
char *query;
LDAPMessage *result, *e;
@@ -250,10 +250,14 @@
}
count = ldap_count_values(values);
+ keycount = ldap_count_values(keyValue);
for (i = 0; i < count; i++) {
- if (**keyValue == '/' && strlen(*keyValue) == 1)
- **keyValue = '*';
- cache_update(*keyValue, values[i], age);
+ for (j = 0; j < keycount; j++) {
+ if (*(keyValue[j]) == '/' &&
+ strlen(keyValue[j]) == 1)
+ *(keyValue[j]) = '*';
+ cache_update(keyValue[j], values[i], age);
+ }
}
ldap_value_free(values);
[-- Attachment #3: Type: text/plain, Size: 140 bytes --]
_______________________________________________
autofs mailing list
autofs@linux.kernel.org
http://linux.kernel.org/mailman/listinfo/autofs
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [patch] Fix for ldap_search when multiple cn's are in one LDAP entry.
2004-12-10 19:11 [patch] Fix for ldap_search when multiple cn's are in one LDAP entry Chris Feist
@ 2005-01-06 5:54 ` Ian Kent
0 siblings, 0 replies; 2+ messages in thread
From: Ian Kent @ 2005-01-06 5:54 UTC (permalink / raw)
To: Chris Feist; +Cc: autofs
On Fri, 10 Dec 2004, Chris Feist wrote:
> This patch fixes a bug in the ldap search which will only use the first
> mount point found in an LDAP entry.
>
> For example if an ldap entry looks like this:
>
> dn: cn=%T%I_apps, nisMapName=auto_home, ou=foo.bar
> nismapname: auto_home
> objectClass: top
> objectClass: nisobject
> nismapentry: foo.bar.ti.com:/vol/vol6/TI_apps
> cn: %T%I_apps
> cn: TI_apps
>
> Then the auto_home map will only be used in /%T%I_apps
But the key is unique by definition.
I'll add this patch but I'm not sure it's correct wrt autofs map
definition.
Comments?
Ian
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-01-06 5:54 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-12-10 19:11 [patch] Fix for ldap_search when multiple cn's are in one LDAP entry Chris Feist
2005-01-06 5:54 ` Ian Kent
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.