summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ldapd/modify.c
diff options
context:
space:
mode:
authormartinh <martinh@openbsd.org>2010-06-29 02:45:46 +0000
committermartinh <martinh@openbsd.org>2010-06-29 02:45:46 +0000
commita2a433637a48b3f957c19d9c3f4e8cca08dba220 (patch)
treeeaf193c4d36cd4fe7bd00e9b64af9e0c2bf9e454 /usr.sbin/ldapd/modify.c
parentVIA xcrypt for amd64, simpler version of a diff from deraadt (diff)
downloadwireguard-openbsd-a2a433637a48b3f957c19d9c3f4e8cca08dba220.tar.xz
wireguard-openbsd-a2a433637a48b3f957c19d9c3f4e8cca08dba220.zip
Rewrite the schema parser, as it's not a context-free grammar.
This also brings the config parser more in line with other parse.y in the tree. The new schema parser also supports symbolic OID names. You need to update your /etc/ldapd.conf. Schema files are no longer included with the 'include' keyword, you have to use 'schema' for that. Moves schema-related structures to a separate include file to ease reuse.
Diffstat (limited to 'usr.sbin/ldapd/modify.c')
-rw-r--r--usr.sbin/ldapd/modify.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.sbin/ldapd/modify.c b/usr.sbin/ldapd/modify.c
index b2a25d8ff1a..79921dd14c2 100644
--- a/usr.sbin/ldapd/modify.c
+++ b/usr.sbin/ldapd/modify.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: modify.c,v 1.3 2010/06/23 13:10:14 martinh Exp $ */
+/* $OpenBSD: modify.c,v 1.4 2010/06/29 02:45:46 martinh Exp $ */
/*
* Copyright (c) 2009, 2010 Martin Hedenfalk <martin@bzero.se>
@@ -139,7 +139,7 @@ ldap_modify(struct request *req)
int rc;
char *dn;
long long op;
- const char *attr;
+ char *attr;
struct ber_element *mods, *entry, *mod, *vals, *a, *set;
struct namespace *ns;
struct attr_type *at;
@@ -181,7 +181,7 @@ ldap_modify(struct request *req)
goto done;
}
- if ((at = lookup_attribute(attr)) == NULL && !ns->relax) {
+ if ((at = lookup_attribute(conf->schema, attr)) == NULL && !ns->relax) {
log_debug("unknown attribute type %s", attr);
rc = LDAP_NO_SUCH_ATTRIBUTE;
goto done;