]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldap/back-ldap.h
Merge remote-tracking branch 'origin/mdb.master'
[openldap] / servers / slapd / back-ldap / back-ldap.h
index 4ffb34da2d24cf31d19f2f9d9ca1f367dd54a049..78c11c3179894c2c468840986574a604d57d7161 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1999-2009 The OpenLDAP Foundation.
+ * Copyright 1999-2012 The OpenLDAP Foundation.
  * Portions Copyright 2000-2003 Pierangelo Masarati.
  * Portions Copyright 1999-2003 Howard Chu.
  * All rights reserved.
@@ -32,16 +32,11 @@ struct ldapinfo_t;
 
 /* stuff required for monitoring */
 typedef struct ldap_monitor_info_t {
-       monitor_subsys_t        lmi_mss;
-       struct ldapinfo_t       *lmi_li;
-
-       struct berval           lmi_rdn;
-       struct berval           lmi_nrdn;
-       monitor_callback_t      *lmi_cb;
-       struct berval           lmi_base;
-       int                     lmi_scope;
-       struct berval           lmi_filter;
-       struct berval           lmi_more_filter;
+       monitor_subsys_t        lmi_mss[2];
+
+       struct berval           lmi_ndn;
+       struct berval           lmi_conn_rdn;
+       struct berval           lmi_ops_rdn;
 } ldap_monitor_info_t;
 
 enum {
@@ -175,6 +170,7 @@ typedef struct ldapconn_t {
 #define        LDAP_BACK_CONN_CACHED_CLEAR(lc)         LDAP_BACK_CONN_CLEAR((lc), LDAP_BACK_FCONN_CACHED)
 
        LDAP                    *lc_ld;
+       unsigned long           lc_connid;
        struct berval           lc_cred;
        struct berval           lc_bound_ndn;
        unsigned                lc_flags;
@@ -234,6 +230,10 @@ typedef struct slap_idassert_t {
 #define        LDAP_BACK_AUTH_OBSOLETE_PROXY_AUTHZ             (0x08U)
 #define        LDAP_BACK_AUTH_OBSOLETE_ENCODING_WORKAROUND     (0x10U)
 #define        LDAP_BACK_AUTH_AUTHZ_ALL                        (0x20U)
+#define        LDAP_BACK_AUTH_PROXYAUTHZ_CRITICAL              (0x40U)
+#define LDAP_BACK_AUTH_DN_AUTHZID                      (0x100U)
+#define LDAP_BACK_AUTH_DN_WHOAMI                       (0x200U)
+#define LDAP_BACK_AUTH_DN_MASK                         (LDAP_BACK_AUTH_DN_AUTHZID|LDAP_BACK_AUTH_DN_WHOAMI)
 #define        li_idassert_flags       li_idassert.si_flags
 
        BerVarray       si_authz;
@@ -375,6 +375,8 @@ typedef struct ldapinfo_t {
 
        int                     li_version;
 
+       unsigned long           li_conn_nextid;
+
        /* cached connections; 
         * special conns are in tailq rather than in tree */
        ldap_avl_info_t         li_conninfo;
@@ -405,6 +407,9 @@ typedef struct ldapinfo_t {
        time_t                  li_conn_ttl;
        time_t                  li_idle_timeout;
        time_t                  li_timeout[ SLAP_OP_LAST ];
+
+       ldap_pvt_thread_mutex_t li_counter_mutex;
+       ldap_pvt_mp_t           li_ops_completed[SLAP_OP_LAST];
 } ldapinfo_t;
 
 #define        LDAP_ERR_OK(err) ((err) == LDAP_SUCCESS || (err) == LDAP_COMPARE_FALSE || (err) == LDAP_COMPARE_TRUE)