]> 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 f1e2b4e73a6dc506c671ef35c326e5f18850d6c2..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.
  *
@@ -1397,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
@@ -3364,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:
@@ -4000,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:
@@ -4116,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
@@ -4267,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 */
+}
+