From 23953716c76ab36fab7d5f6dea335bf9bdea6323 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Tue, 22 Sep 2015 21:43:02 +0100 Subject: [PATCH] ITS#8233 (#8251) Schema parsing ignores some slapd.conf rules --- servers/slapd/config.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/servers/slapd/config.c b/servers/slapd/config.c index a9b04b6bf0..974ec4894d 100644 --- a/servers/slapd/config.c +++ b/servers/slapd/config.c @@ -2269,6 +2269,8 @@ config_fp_parse_line(ConfigArgs *c) "dbpasswd", /* in back-sql */ NULL }; + static char *const raw[] = { + "attributetype", "objectclass", "ditcontentrule", "ldapsyntax", NULL }; char *quote_ptr; int i = (int)(sizeof(hide)/sizeof(hide[0])) - 1; int inquote = 0; @@ -2297,11 +2299,14 @@ config_fp_parse_line(ConfigArgs *c) break; c->argv[c->argc++] = token; } + c->argv[c->argc] = NULL; if (inquote) { + /* these directives parse c->line independently of argv tokenizing */ + for(i = 0; raw[i]; i++) if (!strcasecmp(c->argv[0], raw[i])) return 0; + Debug(LDAP_DEBUG_ANY, "%s: unterminated quoted string \"%s\"\n", c->log, c->argv[c->argc-1], 0); return -1; } - c->argv[c->argc] = NULL; return(0); } -- 2.39.2