]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/frontend.c
make back-meta conform with man page
[openldap] / servers / slapd / frontend.c
index 1ae0233f2d732ed5c107a5d93b08d65a020c643b..a7796565bfd3ae623ff290215508c7c13eaa8d06 100644 (file)
@@ -1,7 +1,7 @@
 /* frontend.c - routines for dealing with frontend */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2005 The OpenLDAP Foundation.
+ * Copyright 1998-2006 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,55 +42,6 @@ static BackendInfo   slap_frontendInfo;
 static BackendDB       slap_frontendDB;
 BackendDB      *frontendDB;
 
-static int
-fe_aux_operational(
-       Operation *op,
-       SlapReply *rs )
-{
-       Attribute       **ap;
-       int             rc = 0;
-       BackendDB       *be_orig;
-
-       for ( ap = &rs->sr_operational_attrs; *ap; ap = &(*ap)->a_next )
-               /* just count them */ ;
-
-       /*
-        * If operational attributes (allegedly) are required, 
-        * and the backend supports specific operational attributes, 
-        * add them to the attribute list
-        */
-       if ( SLAP_OPATTRS( rs->sr_attr_flags ) || ( rs->sr_attrs &&
-               ad_inlist( slap_schema.si_ad_entryDN, rs->sr_attrs ) ) )
-       {
-               *ap = slap_operational_entryDN( rs->sr_entry );
-               ap = &(*ap)->a_next;
-       }
-
-       if ( SLAP_OPATTRS( rs->sr_attr_flags ) || ( rs->sr_attrs &&
-               ad_inlist( slap_schema.si_ad_subschemaSubentry, rs->sr_attrs ) ) )
-       {
-               *ap = slap_operational_subschemaSubentry( op->o_bd );
-               ap = &(*ap)->a_next;
-       }
-
-       if ( op->o_bd != NULL )
-       {
-               /* Let the overlays have a chance at this */
-               be_orig = op->o_bd;
-               if ( SLAP_ISOVERLAY( be_orig ) )
-                       op->o_bd = select_backend( be_orig->be_nsuffix, 0, 0 );
-
-               if ( ( SLAP_OPATTRS( rs->sr_attr_flags ) || rs->sr_attrs ) &&
-                       op->o_bd && op->o_bd->be_operational != NULL )
-               {
-                       rc = op->o_bd->be_operational( op, rs );
-               }
-               op->o_bd = be_orig;
-       }
-
-       return rc;
-}
-
 int
 frontend_init( void )
 {
@@ -164,6 +115,15 @@ frontend_init( void )
        frontendDB->bd_info->bi_op_search = fe_op_search;
        frontendDB->bd_info->bi_extended = fe_extended;
        frontendDB->bd_info->bi_operational = fe_aux_operational;
+#if 0
+       frontendDB->bd_info->bi_entry_get_rw = fe_entry_get_rw;
+       frontendDB->bd_info->bi_entry_release_rw = fe_entry_release_rw;
+#endif
+#ifdef SLAP_OVERLAY_ACCESS
+       frontendDB->bd_info->bi_access_allowed = fe_access_allowed;
+       frontendDB->bd_info->bi_acl_group = fe_acl_group;
+       frontendDB->bd_info->bi_acl_attribute = fe_acl_attribute;
+#endif /* SLAP_OVERLAY_ACCESS */
 
 #if 0
        /* FIXME: is this too early? */