summaryrefslogtreecommitdiff
path: root/contrib/cvs
diff options
context:
space:
mode:
authorDavid E. O'Brien <obrien@FreeBSD.org>2008-03-19 15:05:27 +0000
committerDavid E. O'Brien <obrien@FreeBSD.org>2008-03-19 15:05:27 +0000
commit1cc39002b8f28962206f87604f3bd99fb2b77620 (patch)
tree195b81e45235e0f3b5d7e56b24eb904cd0ee3f25 /contrib/cvs
parent62641a635bf5f51c2dd59c17a233dc805e54e0c2 (diff)
Notes
Diffstat (limited to 'contrib/cvs')
-rw-r--r--contrib/cvs/src/parseinfo.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/contrib/cvs/src/parseinfo.c b/contrib/cvs/src/parseinfo.c
index c206fb7ff9142..bf1e095fdd10c 100644
--- a/contrib/cvs/src/parseinfo.c
+++ b/contrib/cvs/src/parseinfo.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 1986-2005 The Free Software Foundation, Inc.
+ * Copyright (C) 1986-2008 The Free Software Foundation, Inc.
*
* Portions Copyright (C) 1998-2005 Derek Price, Ximbiot <http://ximbiot.com>,
* and others.
@@ -247,6 +247,7 @@ parse_config (cvsroot)
/* FIXME-reentrancy: If we do a multi-threaded server, this would need
to go to the per-connection data structures. */
static int parsed = 0;
+ int ignore_unknown_config_keys = 0;
/* Authentication code and serve_root might both want to call us.
Let this happen smoothly. */
@@ -446,6 +447,23 @@ warning: this CVS does not support PreservePermissions");
/* Recognize cvs-1.12-style keyword control rather than erroring out. */
RCS_setincexc(p);
}
+ else if (strcmp (line, "IgnoreUnknownConfigKeys") == 0)
+ {
+ if (strcmp (p, "no") == 0 || strcmp (p, "false") == 0
+ || strcmp (p, "off") == 0 || strcmp (p, "0") == 0)
+ ignore_unknown_config_keys = 0;
+ else if (strcmp (p, "yes") == 0 || strcmp (p, "true") == 0
+ || strcmp (p, "on") == 0 || strcmp (p, "1") == 0)
+ ignore_unknown_config_keys = 1;
+ else
+ {
+ error (0, 0, "%s: unrecognized value '%s' for '%s'",
+ infopath, p, line);
+ goto error_return;
+ }
+ }
+ else if (ignore_unknown_config_keys)
+ ;
else
{
/* We may be dealing with a keyword which was added in a