]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slapi/slapi_utils.c
Add manage obsolete attributes capability.
[openldap] / servers / slapd / slapi / slapi_utils.c
index a4f177246da2d4ae8ad874b29d88325ce9a50d3a..1adeb85086284b2b9aa2744a2915492fc8f91375 100644 (file)
@@ -1,7 +1,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2002-2004 The OpenLDAP Foundation.
+ * Copyright 2002-2005 The OpenLDAP Foundation.
  * Portions Copyright 1997,2002-2003 IBM Corporation.
  * All rights reserved.
  *
@@ -26,7 +26,6 @@
 #include <ac/stdarg.h>
 #include <ac/ctype.h>
 #include <ac/unistd.h>
-#include <ldap_pvt.h>
 
 #include <slap.h>
 #include <slapi.h>
@@ -1398,7 +1397,7 @@ slapiControlOp2SlapControlMask(unsigned long slapi_mask,
        if ( slapi_mask & SLAPI_OPERATION_ABANDON )
                *slap_mask |= SLAP_CTRL_ABANDON;
 
-       *slap_mask |= SLAP_CTRL_FRONTEND;
+       *slap_mask |= SLAP_CTRL_GLOBAL;
 }
 
 static int
@@ -1423,7 +1422,7 @@ slapi_register_supported_control(
 
        slapiControlOp2SlapControlMask( controlops, &controlmask );
 
-       register_supported_control( controloid, controlmask, NULL, slapi_int_parse_control );
+       register_supported_control( controloid, controlmask, NULL, slapi_int_parse_control, NULL );
 #endif /* LDAP_SLAPI */
 }
 
@@ -3365,6 +3364,7 @@ int slapi_access_allowed( Slapi_PBlock *pb, Slapi_Entry *e, char *attr,
        case SLAPI_ACL_DELETE:
        case SLAPI_ACL_ADD:
        case SLAPI_ACL_SELF:
+               /* FIXME: handle ACL_WADD/ACL_WDEL */
                slap_access = ACL_WRITE;
                break;
        default:
@@ -4001,6 +4001,7 @@ int slapi_int_access_allowed( Operation *op,
 
        switch ( access ) {
        case ACL_WRITE:
+               /* FIXME: handle ACL_WADD/ACL_WDEL */
                slap_access |= SLAPI_ACL_ADD | SLAPI_ACL_DELETE | SLAPI_ACL_WRITE;
                break;
        case ACL_READ:
@@ -4117,7 +4118,8 @@ int slapi_entry_schema_check( Slapi_PBlock *pb, Slapi_Entry *e )
        if ( slapi_pblock_get( pb, SLAPI_BACKEND, (void **)&be ) != 0 )
                return -1;
 
-       rc = entry_schema_check( be, e, NULL, &text, textbuf, textlen );
+       rc = entry_schema_check( be, e, NULL, 0,
+               &text, textbuf, textlen );
 
        return ( rc == LDAP_SUCCESS ) ? 0 : 1;
 #else
@@ -4268,3 +4270,17 @@ void slapi_ldap_unbind( LDAP *ld )
 #endif /* LDAP_SLAPI */
 }
 
+int slapi_x_backend_get_flags( const Slapi_Backend *be, unsigned long *flags )
+{
+#ifdef LDAP_SLAPI
+       if ( be == NULL )
+               return LDAP_PARAM_ERROR;
+
+       *flags = SLAP_DBFLAGS(be);
+
+       return LDAP_SUCCESS;
+#else
+       return -1;
+#endif /* LDAP_SLAPI */
+}
+