]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldap/proto-ldap.h
use request/referral DN, scope, filter according to RFC4511 (related to ITS#6565)
[openldap] / servers / slapd / back-ldap / proto-ldap.h
index b9c4e727b305bd8bf4d241817d61810c06027c5b..e4d85205140200fac57c7c60017f29c4854ea2d6 100644 (file)
@@ -1,7 +1,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2003-2006 The OpenLDAP Foundation.
+ * Copyright 2003-2010 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
 LDAP_BEGIN_DECL
 
 extern BI_init                 ldap_back_initialize;
-
 extern BI_open                 ldap_back_open;
-extern BI_close                        ldap_back_close;
-extern BI_destroy              ldap_back_destroy;
 
 extern BI_db_init              ldap_back_db_init;
 extern BI_db_open              ldap_back_db_open;
+extern BI_db_close             ldap_back_db_close;
 extern BI_db_destroy           ldap_back_db_destroy;
 
 extern BI_op_bind              ldap_back_bind;
@@ -47,11 +45,9 @@ extern BI_connection_destroy ldap_back_conn_destroy;
 
 extern BI_entry_get_rw         ldap_back_entry_get;
 
-int ldap_back_freeconn( Operation *op, ldapconn_t *lc, int dolock );
-ldapconn_t *ldap_back_getconn( Operation *op, SlapReply *rs, ldap_back_send_t sendok );
-void ldap_back_release_conn_lock( Operation *op, SlapReply *rs, ldapconn_t *lc, int dolock );
-#define ldap_back_release_conn(op, rs, lc) ldap_back_release_conn_lock((op), (rs), (lc), 1)
-int ldap_back_dobind( ldapconn_t *lc, Operation *op, SlapReply *rs, ldap_back_send_t sendok );
+void ldap_back_release_conn_lock( ldapinfo_t *li, ldapconn_t **lcp, int dolock );
+#define ldap_back_release_conn(li, lc) ldap_back_release_conn_lock((li), &(lc), 1)
+int ldap_back_dobind( ldapconn_t **lcp, Operation *op, SlapReply *rs, ldap_back_send_t sendok );
 int ldap_back_retry( ldapconn_t **lcp, Operation *op, SlapReply *rs, ldap_back_send_t sendok );
 int ldap_back_map_result( SlapReply *rs );
 int ldap_back_op_result( ldapconn_t *lc, Operation *op, SlapReply *rs,
@@ -59,41 +55,67 @@ int ldap_back_op_result( ldapconn_t *lc, Operation *op, SlapReply *rs,
 int ldap_back_cancel( ldapconn_t *lc, Operation *op, SlapReply *rs, ber_int_t msgid, ldap_back_send_t sendok );
 
 int ldap_back_init_cf( BackendInfo *bi );
+int ldap_pbind_init_cf( BackendInfo *bi );
 
 extern int ldap_back_conndn_cmp( const void *c1, const void *c2);
 extern int ldap_back_conn_cmp( const void *c1, const void *c2);
 extern int ldap_back_conndn_dup( void *c1, void *c2 );
 extern void ldap_back_conn_free( void *c );
 
+extern ldapconn_t * ldap_back_conn_delete( ldapinfo_t *li, ldapconn_t *lc );
+
+extern int ldap_back_conn2str( const ldapconn_base_t *lc, char *buf, ber_len_t buflen );
+extern int ldap_back_connid2str( const ldapconn_base_t *lc, char *buf, ber_len_t buflen );
+
 extern int
 ldap_back_proxy_authz_ctrl(
-               ldapconn_t      *lc,
                Operation       *op,
                SlapReply       *rs,
-               LDAPControl     ***pctrls );
+               struct berval   *bound_ndn,
+               int             version,
+               slap_idassert_t *si,
+               LDAPControl     *ctrl );
 
 extern int
-ldap_back_proxy_authz_ctrl_free(
+ldap_back_controls_add(
                Operation       *op,
+               SlapReply       *rs,
+               ldapconn_t      *lc,
                LDAPControl     ***pctrls );
 
+extern int
+ldap_back_controls_free( Operation *op, SlapReply *rs, LDAPControl ***pctrls );
+
 extern void
 ldap_back_quarantine(
        Operation       *op,
-       SlapReply       *rs,
-       int             dolock );
+       SlapReply       *rs );
+
+#ifdef LDAP_BACK_PRINT_CONNTREE
+extern void
+ldap_back_print_conntree( ldapinfo_t *li, char *msg );
+#endif /* LDAP_BACK_PRINT_CONNTREE */
 
 extern void slap_retry_info_destroy( slap_retry_info_t *ri );
 extern int slap_retry_info_parse( char *in, slap_retry_info_t *ri,
        char *buf, ber_len_t buflen );
 extern int slap_retry_info_unparse( slap_retry_info_t *ri, struct berval *bvout );
 
+extern int slap_idassert_authzfrom_parse_cf( const char *fname, int lineno, const char *arg, slap_idassert_t *si );
+extern int slap_idassert_passthru_parse_cf( const char *fname, int lineno, const char *arg, slap_idassert_t *si );
+extern int slap_idassert_parse_cf( const char *fname, int lineno, int argc, char *argv[], slap_idassert_t *si );
 
 extern int chain_initialize( void );
-#ifdef LDAP_DEVEL
+extern int pbind_initialize( void );
+#ifdef SLAP_DISTPROC
 extern int distproc_initialize( void );
 #endif
 
+extern int ldap_back_monitor_db_init( BackendDB *be );
+extern int ldap_back_monitor_db_open( BackendDB *be );
+extern int ldap_back_monitor_db_close( BackendDB *be );
+extern int ldap_back_monitor_db_destroy( BackendDB *be );
+
 extern LDAP_REBIND_PROC                ldap_back_default_rebind;
 extern LDAP_URLLIST_PROC       ldap_back_default_urllist;