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
-----------------------