Ian Kent 4fa32e
diff --git a/CHANGELOG b/CHANGELOG
Ian Kent 4fa32e
index 98855f5..8d09e93 100644
Ian Kent 4fa32e
--- a/CHANGELOG
Ian Kent 4fa32e
+++ b/CHANGELOG
Ian Kent 4fa32e
@@ -1,6 +1,7 @@
Ian Kent 4fa32e
 ??/??/2008 autofs-5.0.4
Ian Kent 4fa32e
 -----------------------
Ian Kent 4fa32e
 - correct configure test for ldapr page control functions.
Ian Kent 4fa32e
+- catch "-xfn" map type and issue "no supported" message.
Ian Kent 4fa32e
  
Ian Kent 4fa32e
 14/01/2008 autofs-5.0.3
Ian Kent 4fa32e
 -----------------------
Ian Kent 4fa32e
diff --git a/lib/master_parse.y b/lib/master_parse.y
Ian Kent 4fa32e
index b450122..2184b4f 100644
Ian Kent 4fa32e
--- a/lib/master_parse.y
Ian Kent 4fa32e
+++ b/lib/master_parse.y
Ian Kent 4fa32e
@@ -50,6 +50,7 @@ static int add_multi_mapstr(void);
Ian Kent 4fa32e
 
Ian Kent 4fa32e
 static int master_error(const char *s);
Ian Kent 4fa32e
 static int master_notify(const char *s);
Ian Kent 4fa32e
+static int master_msg(const char *s);
Ian Kent 4fa32e
  
Ian Kent 4fa32e
 static char *path;
Ian Kent 4fa32e
 static char *type;
Ian Kent 4fa32e
@@ -119,6 +120,7 @@ static int master_fprintf(FILE *, char *, ...);
Ian Kent 4fa32e
 %token <strtype> DNNAME
Ian Kent 4fa32e
 %token <strtype> MAPHOSTS
Ian Kent 4fa32e
 %token <strtype> MAPNULL
Ian Kent 4fa32e
+%token <strtype> MAPXFN
Ian Kent 4fa32e
 %token <strtype> MAPNAME
Ian Kent 4fa32e
 %token <inttype> NUMBER
Ian Kent 4fa32e
 %token <strtype> OPTION
Ian Kent 4fa32e
@@ -283,6 +285,12 @@ map:	PATH
Ian Kent 4fa32e
 			YYABORT;
Ian Kent 4fa32e
 		}
Ian Kent 4fa32e
 	}
Ian Kent 4fa32e
+	| MAPXFN
Ian Kent 4fa32e
+	{
Ian Kent 4fa32e
+		master_notify($1);
Ian Kent 4fa32e
+		master_msg("X/Open Federated Naming service not supported");
Ian Kent 4fa32e
+		YYABORT;
Ian Kent 4fa32e
+	}
Ian Kent 4fa32e
 	| MAPNULL
Ian Kent 4fa32e
 	{
Ian Kent 4fa32e
 		type = master_strdup($1 + 1);
Ian Kent 4fa32e
@@ -598,6 +606,12 @@ static int master_notify(const char *s)
Ian Kent 4fa32e
 	return(0);
Ian Kent 4fa32e
 }
Ian Kent 4fa32e
 
Ian Kent 4fa32e
+static int master_msg(const char *s)
Ian Kent 4fa32e
+{
Ian Kent 4fa32e
+	logmsg("%s", s);
Ian Kent 4fa32e
+	return 0;
Ian Kent 4fa32e
+}
Ian Kent 4fa32e
+
Ian Kent 4fa32e
 static void local_init_vars(void)
Ian Kent 4fa32e
 {
Ian Kent 4fa32e
 	path = NULL;
Ian Kent 4fa32e
diff --git a/lib/master_tok.l b/lib/master_tok.l
Ian Kent 4fa32e
index d908047..2a6fdf9 100644
Ian Kent 4fa32e
--- a/lib/master_tok.l
Ian Kent 4fa32e
+++ b/lib/master_tok.l
Ian Kent 4fa32e
@@ -215,6 +215,12 @@ OPTNTOUT	(-n{OPTWS}|-n{OPTWS}={OPTWS}|--negative-timeout{OPTWS}|--negative-timeo
Ian Kent 4fa32e
 		return MAPNULL;
Ian Kent 4fa32e
 	}
Ian Kent 4fa32e
 
Ian Kent 4fa32e
+	"-xfn" {
Ian Kent 4fa32e
+		BEGIN(OPTSTR);
Ian Kent 4fa32e
+		strcpy(master_lval.strtype, master_text);
Ian Kent 4fa32e
+		return MAPXFN;
Ian Kent 4fa32e
+	}
Ian Kent 4fa32e
+
Ian Kent 4fa32e
 	"//" {
Ian Kent 4fa32e
 		BEGIN(DNSTR);
Ian Kent 4fa32e
 		yyless(0);