Ian Kent ca38f0
autofs-5.0.6 - fix fix map source check in file lookup
Ian Kent ca38f0
Ian Kent ca38f0
From: Ian Kent <raven@themaw.net>
Ian Kent ca38f0
Ian Kent ca38f0
A recent change to correct a problem with included map entry removal
Ian Kent ca38f0
has broken a different case of included map key lookup. The check in
Ian Kent ca38f0
previous patch was too broad and caused map key lookup for keys in an
Ian Kent ca38f0
included multi-mount map entrys to not be found.
Ian Kent ca38f0
---
Ian Kent ca38f0
Ian Kent ca38f0
 CHANGELOG             |    1 +
Ian Kent ca38f0
 modules/lookup_file.c |    2 +-
Ian Kent ca38f0
 2 files changed, 2 insertions(+), 1 deletions(-)
Ian Kent ca38f0
Ian Kent ca38f0
Ian Kent ca38f0
diff --git a/CHANGELOG b/CHANGELOG
Ian Kent ca38f0
index cb9ac75..304b6a2 100644
Ian Kent ca38f0
--- a/CHANGELOG
Ian Kent ca38f0
+++ b/CHANGELOG
Ian Kent ca38f0
@@ -11,6 +11,7 @@
Ian Kent ca38f0
 - add "dir" map-type.
Ian Kent ca38f0
 - fix wait for master source mutex.
Ian Kent ca38f0
 - fix submount shutdown race.
Ian Kent ca38f0
+- fix fix map source check in file lookup.
Ian Kent ca38f0
 
Ian Kent ca38f0
 28/06/2011 autofs-5.0.6
Ian Kent ca38f0
 -----------------------
Ian Kent ca38f0
diff --git a/modules/lookup_file.c b/modules/lookup_file.c
Ian Kent ca38f0
index 8ead07c..63b5ae7 100644
Ian Kent ca38f0
--- a/modules/lookup_file.c
Ian Kent ca38f0
+++ b/modules/lookup_file.c
Ian Kent ca38f0
@@ -1046,7 +1046,7 @@ do_cache_lookup:
Ian Kent ca38f0
 	 * instance (same map entry cache), not in a distinct source.
Ian Kent ca38f0
 	 */
Ian Kent ca38f0
 	if (me && (!me->mapent || 
Ian Kent ca38f0
-	   (ap->type == LKP_INDIRECT && me->source != source))) {
Ian Kent ca38f0
+	   (me->source != source && *me->key != '/'))) {
Ian Kent ca38f0
 		while ((me = cache_lookup_key_next(me)))
Ian Kent ca38f0
 			if (me->source == source)
Ian Kent ca38f0
 				break;