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