diff options
author | Noriko Hosoi <nhosoi@redhat.com> | 2010-08-31 13:57:04 -0700 |
---|---|---|
committer | Noriko Hosoi <nhosoi@redhat.com> | 2010-08-31 13:57:04 -0700 |
commit | bc7df12bbdeade5ba5115e5ea900d16ddd23c046 (patch) | |
tree | 5ff8889eb15508e500bec627a2f81b18e9e144b8 /ldap/servers/slapd/dn.c | |
parent | 8a943175138bbfec0b398ea4ffd24f3047df3951 (diff) | |
download | ds-bc7df12bbdeade5ba5115e5ea900d16ddd23c046.tar.gz ds-bc7df12bbdeade5ba5115e5ea900d16ddd23c046.tar.xz ds-bc7df12bbdeade5ba5115e5ea900d16ddd23c046.zip |
DN normalizer should check the invalid type
File: ldap/servers/slapd/dn.c
Description: slapi_dn_normalize_ext failed to check a typical
invald DN (e.g., "bogus,dc=example,dc=com"), in which RDN does
not have the type=value format. The problem is fixed.
Diffstat (limited to 'ldap/servers/slapd/dn.c')
-rw-r--r-- | ldap/servers/slapd/dn.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ldap/servers/slapd/dn.c b/ldap/servers/slapd/dn.c index a163fb35..54ddac10 100644 --- a/ldap/servers/slapd/dn.c +++ b/ldap/servers/slapd/dn.c @@ -564,6 +564,10 @@ slapi_dn_normalize_ext(char *src, size_t src_len, char **dest, size_t *dest_len) *d++ = *s++; } else if (ISSPACE(*s)) { state = B4EQUAL; /* skip a trailing space */ + } else if (ISQUOTE(*s) || SEPARATOR(*s)) { + /* type includes quote / separator; not a valid dn */ + rc = -1; + goto bail; } else { *d++ = *s++; } |