autofs-5.0.9 - amd lookup allow amd maps to use exec in master map From: Ian Kent Amd uses the keyword exec for program maps (as it has a program mount type). Allow the use of the exec keyword to be used for executable maps in amd format master map entries. So just allow the keyword exec to be used as a synonym of program for both sun and amd format map entries since exec isn't otherwise used in master map entries. --- lib/master_parse.y | 15 ++++++++++++--- lib/master_tok.l | 2 +- man/auto.master.5.in | 2 ++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/lib/master_parse.y b/lib/master_parse.y index 03aedf7..e31023d 100644 --- a/lib/master_parse.y +++ b/lib/master_parse.y @@ -329,7 +329,10 @@ map: PATH if ((tmp = strchr($1, ','))) *tmp++ = '\0'; - type = master_strdup($1); + if (strcmp($1, "exec")) + type = master_strdup($1); + else + type = master_strdup("program"); if (!type) { master_error("memory allocation error"); local_free_vars(); @@ -360,7 +363,10 @@ map: PATH if ((tmp = strchr($1, ','))) *tmp++ = '\0'; - type = master_strdup($1); + if (strcmp($1, "exec")) + type = master_strdup($1); + else + type = master_strdup("program"); if (!type) { master_error("memory allocation error"); local_free_vars(); @@ -391,7 +397,10 @@ map: PATH if ((tmp = strchr($1, ','))) *tmp++ = '\0'; - type = master_strdup($1); + if (strcmp($1, "exec")) + type = master_strdup($1); + else + type = master_strdup("program"); if (!type) { master_error("memory allocation error"); local_free_vars(); diff --git a/lib/master_tok.l b/lib/master_tok.l index d43c1dd..9ba53f6 100644 --- a/lib/master_tok.l +++ b/lib/master_tok.l @@ -119,7 +119,7 @@ DNNAMESTR2 ([[:alnum:]_.\-]+) INTMAP (-hosts|-null) MULTI ((multi)(,(sun|hesiod))?(:{OPTWS}|{WS})) MULTISEP ([\-]{2}[[:blank:]]+) -MTYPE ((file|program|sss|yp|nis|nisplus|ldap|ldaps|hesiod|userdir)(,(sun|hesiod|amd))?(:{OPTWS}|{WS})) +MTYPE ((file|program|exec|sss|yp|nis|nisplus|ldap|ldaps|hesiod|userdir)(,(sun|hesiod|amd))?(:{OPTWS}|{WS})) OPTTOUT (-t{OPTWS}|-t{OPTWS}={OPTWS}|--timeout{OPTWS}|--timeout{OPTWS}={OPTWS}) diff --git a/man/auto.master.5.in b/man/auto.master.5.in index 2267550..83be83c 100644 --- a/man/auto.master.5.in +++ b/man/auto.master.5.in @@ -93,6 +93,8 @@ The map is a regular text file. .B program The map is an executable program, which is passed a key on the command line and returns an entry (everything besides the key) on stdout if successful. +Optinally, the keyword exec may be used as a synonym for program to avoid +confusion with amd formated maps mount type program. .TP .B yp The map is a NIS (YP) database.