]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldap/back-ldap.h
Merge remote branch 'origin/mdb.master'
[openldap] / servers / slapd / back-ldap / back-ldap.h
index e5d43d107e776cd2b7f0d98d8b27ccbd8c501c25..e8b352212a8e2d9af654d7073955f0d18daf7f50 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-2011 The OpenLDAP Foundation.
  * Portions Copyright 2000-2003 Pierangelo Masarati.
  * Portions Copyright 1999-2003 Howard Chu.
  * All rights reserved.
@@ -234,10 +234,17 @@ 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;
 #define        li_idassert_authz       li_idassert.si_authz
+
+       BerVarray       si_passthru;
+#define        li_idassert_passthru    li_idassert.si_passthru
 } slap_idassert_t;
 
 /*
@@ -448,6 +455,7 @@ typedef struct ldap_extra_t {
                int version, slap_idassert_t *si, LDAPControl   *ctrl );
        int (*controls_free)( Operation *op, SlapReply *rs, LDAPControl ***pctrls );
        int (*idassert_authzfrom_parse_cf)( const char *fname, int lineno, const char *arg, slap_idassert_t *si );
+       int (*idassert_passthru_parse_cf)( const char *fname, int lineno, const char *arg, slap_idassert_t *si );
        int (*idassert_parse_cf)( const char *fname, int lineno, int argc, char *argv[], slap_idassert_t *si );
        void (*retry_info_destroy)( slap_retry_info_t *ri );
        int (*retry_info_parse)( char *in, slap_retry_info_t *ri, char *buf, ber_len_t buflen );