X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=servers%2Fslapd%2Fcontrols.c;h=1900312250e856026279a1b2e7cc95c3ee3255e9;hb=89812424f4f844053cc2607e3e5e9382b0825bb8;hp=16a9e3fcdce63f07ef6a5b5df0fe5149c40d26ab;hpb=21796e671ab5c352ccefcd5bf6e054dcd6290472;p=openldap
diff --git a/servers/slapd/controls.c b/servers/slapd/controls.c
index 16a9e3fcdc..1900312250 100644
--- a/servers/slapd/controls.c
+++ b/servers/slapd/controls.c
@@ -1,13 +1,18 @@
/* $OpenLDAP$ */
-/*
- * Copyright 1999-2003 The OpenLDAP Foundation.
+/* This work is part of OpenLDAP Software .
+ *
+ * Copyright 1998-2004 The OpenLDAP Foundation.
* All rights reserved.
*
- * Redistribution and use in source and binary forms are permitted only
- * as authorized by the OpenLDAP Public License. A copy of this
- * license is available at http://www.OpenLDAP.org/license.html or
- * in file LICENSE in the top-level directory of the distribution.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in the file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * .
*/
+
#include "portable.h"
#include
@@ -84,11 +89,9 @@ static struct slap_control control_defs[] = {
{ LDAP_CONTROL_VALUESRETURNFILTER,
SLAP_CTRL_SEARCH, NULL,
parseValuesReturnFilter, LDAP_SLIST_ENTRY_INITIALIZER(next) },
-#ifdef LDAP_CONTROL_PAGEDRESULTS
{ LDAP_CONTROL_PAGEDRESULTS,
SLAP_CTRL_SEARCH, NULL,
parsePagedResults, LDAP_SLIST_ENTRY_INITIALIZER(next) },
-#endif
#ifdef LDAP_CONTROL_X_DOMAIN_SCOPE
{ LDAP_CONTROL_X_DOMAIN_SCOPE,
SLAP_CTRL_FRONTEND|SLAP_CTRL_SEARCH, NULL,
@@ -110,9 +113,11 @@ static struct slap_control control_defs[] = {
{ LDAP_CONTROL_SYNC,
SLAP_CTRL_HIDE|SLAP_CTRL_SEARCH, NULL,
parseLDAPsync, LDAP_SLIST_ENTRY_INITIALIZER(next) },
+#ifdef LDAP_CONTROL_MODIFY_INCREMENT
{ LDAP_CONTROL_MODIFY_INCREMENT,
SLAP_CTRL_HIDE|SLAP_CTRL_MODIFY, NULL,
parseModifyIncrement, LDAP_SLIST_ENTRY_INITIALIZER(next) },
+#endif
{ LDAP_CONTROL_MANAGEDSAIT,
SLAP_CTRL_ACCESS, NULL,
parseManageDSAit, LDAP_SLIST_ENTRY_INITIALIZER(next) },
@@ -696,8 +701,8 @@ static int parseProxyAuthz (
SlapReply *rs,
LDAPControl *ctrl )
{
- int rc;
- struct berval dn = { 0, NULL };
+ int rc;
+ struct berval dn = { 0, NULL };
if ( op->o_proxy_authz != SLAP_NO_CONTROL ) {
rs->sr_text = "proxy authorization control specified multiple times";
@@ -746,8 +751,8 @@ static int parseProxyAuthz (
}
rc = slap_sasl_getdn( op->o_conn, op,
- ctrl->ldctl_value.bv_val, ctrl->ldctl_value.bv_len,
- NULL, &dn, SLAP_GETDN_AUTHZID );
+ ctrl->ldctl_value.bv_val, ctrl->ldctl_value.bv_len,
+ NULL, &dn, SLAP_GETDN_AUTHZID );
if( rc != LDAP_SUCCESS || !dn.bv_len ) {
if ( dn.bv_val ) {
@@ -755,6 +760,7 @@ static int parseProxyAuthz (
}
rs->sr_text = "authzId mapping failed";
return LDAP_PROXY_AUTHZ_FAILURE;
+
}
#ifdef NEW_LOGGING
@@ -814,7 +820,6 @@ static int parseNoOp (
return LDAP_SUCCESS;
}
-#ifdef LDAP_CONTROL_PAGEDRESULTS
static int parsePagedResults (
Operation *op,
SlapReply *rs,
@@ -895,7 +900,6 @@ static int parsePagedResults (
return LDAP_SUCCESS;
}
-#endif
static int parseAssert (
Operation *op,
@@ -993,10 +997,17 @@ static int parsePreRead (
}
for( i=0; ildctl_iscritical ) {
+ rs->sr_text = dummy ? dummy : "postread control: unknown attributeType";
+ return rc;
+ }
}
op->o_preread = ctrl->ldctl_iscritical
@@ -1042,10 +1053,17 @@ static int parsePostRead (
}
for( i=0; ildctl_iscritical ) {
+ rs->sr_text = dummy ? dummy : "postread control: unknown attributeType";
+ return rc;
+ }
}
op->o_postread = ctrl->ldctl_iscritical