Blob Blame History Raw
diff -up autofs-5.0.3/lib/master_tok.l.map-type-in-map-name autofs-5.0.3/lib/master_tok.l
--- autofs-5.0.3/lib/master_tok.l.map-type-in-map-name	2008-04-01 11:14:00.000000000 +0800
+++ autofs-5.0.3/lib/master_tok.l	2008-04-01 11:14:00.000000000 +0800
@@ -77,6 +77,7 @@ int my_yyinput(char *, int);
 char buff[1024];
 char *bptr;
 char *optr = buff;
+unsigned int tlen;
 
 %}
 
@@ -190,13 +191,27 @@ OPTNTOUT	(-n{OPTWS}|-n{OPTWS}={OPTWS}|--
 	{OPTWS}\\\n{OPTWS} {}
 
 	{MULTI} {
-		strcpy(master_lval.strtype, master_text);
-		return(MULTITYPE);
+		tlen = master_leng - 1;
+		if (bptr != buff && isblank(master_text[tlen])) {
+			strncat(buff, master_text, tlen);
+			bptr += tlen;
+			yyless(tlen);
+		} else {
+			strcpy(master_lval.strtype, master_text);
+			return(MULTITYPE);
+		}
 	}
 
-	{MTYPE} {
-		strcpy(master_lval.strtype, master_text);
-		return(MAPTYPE);
+	{MTYPE}/({DNSERVERSTR}|{DNATTRSTR}=)? {
+		tlen = master_leng - 1;
+		if (bptr != buff && isblank(master_text[tlen])) {
+			strncat(buff, master_text, tlen);
+			bptr += tlen;
+			yyless(tlen);
+		} else {
+			strcpy(master_lval.strtype, master_text);
+			return(MAPTYPE);
+		}
 	}
 
 	{MULTISEP} { return(DDASH); }
@@ -226,7 +241,7 @@ OPTNTOUT	(-n{OPTWS}|-n{OPTWS}={OPTWS}|--
 		yyless(0);
 	}
 
-	{DNSERVERSTR} {
+	{DNSERVERSTR}{DNATTRSTR} {
 		BEGIN(DNSTR);
 		yyless(0);
 	}
diff -up autofs-5.0.3/lib/master_parse.y.map-type-in-map-name autofs-5.0.3/lib/master_parse.y
diff -up autofs-5.0.3/CHANGELOG.map-type-in-map-name autofs-5.0.3/CHANGELOG
--- autofs-5.0.3/CHANGELOG.map-type-in-map-name	2008-04-01 11:14:00.000000000 +0800
+++ autofs-5.0.3/CHANGELOG	2008-04-01 11:14:00.000000000 +0800
@@ -10,6 +10,7 @@
 - fix unlink of mount tree incorrectly causing autofs mount fail.
 - add missing check for zero length NIS key (Wengang Wang).
 - init SASL callbacks on every ldap lookup library load.
+- fix incorrect match of map type name when included in map name.
  
 14/01/2008 autofs-5.0.3
 -----------------------