Ian Kent 773db3
autofs-5.1.4 - fix prefix option handling in expand_entry()
Ian Kent 773db3
Ian Kent 773db3
From: Ian Kent <raven@themaw.net>
Ian Kent 773db3
Ian Kent 773db3
The changes to fix the defaults handling in the amd map parser caused
Ian Kent 773db3
the prefix option to not be expanded and also to not be propagated to
Ian Kent 773db3
submounts in some cases.
Ian Kent 773db3
Ian Kent 773db3
But the prefix should be expanded in modules/parse_amd.c:expand_entry()
Ian Kent 773db3
along with the reset of the amd map entry fields.
Ian Kent 773db3
Ian Kent 773db3
Just adding this to modules/parse_amd.c:expand_entry() (where it should
Ian Kent 773db3
be) fixes the amd map entry expansion and also fixes the propagation
Ian Kent 773db3
of the prefix to submounts.
Ian Kent 773db3
Ian Kent 773db3
Signed-off-by: Ian Kent <raven@themaw.net>
Ian Kent 773db3
---
Ian Kent 773db3
 CHANGELOG           |    1 +
Ian Kent 773db3
 modules/parse_amd.c |   11 +++++++++++
Ian Kent 773db3
 2 files changed, 12 insertions(+)
Ian Kent 773db3
Ian Kent 773db3
--- autofs-5.1.4.orig/CHANGELOG
Ian Kent 773db3
+++ autofs-5.1.4/CHANGELOG
Ian Kent 773db3
@@ -64,6 +64,7 @@
Ian Kent 773db3
 - workaround getaddrinfo(3) ai_canonname bug
Ian Kent 773db3
 - fix deadlock in dumpmaps.
Ian Kent 773db3
 - dont use array for path when not necessary.
Ian Kent 773db3
+- fix prefix option handling in expand_entry().
Ian Kent 773db3
 
Ian Kent 773db3
 24/05/2017 autofs-5.1.3
Ian Kent 773db3
 =======================
Ian Kent 773db3
--- autofs-5.1.4.orig/modules/parse_amd.c
Ian Kent 773db3
+++ autofs-5.1.4/modules/parse_amd.c
Ian Kent 773db3
@@ -725,6 +725,17 @@ static struct substvar *expand_entry(str
Ian Kent 773db3
 		entry->rhost = host;
Ian Kent 773db3
 	}
Ian Kent 773db3
 next:
Ian Kent 773db3
+	if (entry->pref) {
Ian Kent 773db3
+		if (expand_selectors(ap, entry->pref, &expand, sv)) {
Ian Kent 773db3
+			debug(logopt, MODPREFIX
Ian Kent 773db3
+			      "pref expand(\"%s\") -> %s",
Ian Kent 773db3
+			      entry->pref, expand);
Ian Kent 773db3
+			free(entry->pref);
Ian Kent 773db3
+			entry->pref = expand;
Ian Kent 773db3
+		}
Ian Kent 773db3
+		sv = macro_addvar(sv, "pref", 4, entry->pref);
Ian Kent 773db3
+	}
Ian Kent 773db3
+
Ian Kent 773db3
 	if (entry->sublink) {
Ian Kent 773db3
 		if (expand_selectors(ap, entry->sublink, &expand, sv)) {
Ian Kent 773db3
 			debug(logopt, MODPREFIX