X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-meta%2Fback-meta.h;h=620bb93e14c96ef7976c3e43c5cb6adff728166e;hb=be53e8265065e7de61a0996e37732f44e22fdec7;hp=7b74ae923034e2b5f5d44ac68b528ca91b9616dc;hpb=bb21f09d1fbe293f3f66cf7972174e0de736ae4b;p=openldap diff --git a/servers/slapd/back-meta/back-meta.h b/servers/slapd/back-meta/back-meta.h index 7b74ae9230..620bb93e14 100644 --- a/servers/slapd/back-meta/back-meta.h +++ b/servers/slapd/back-meta/back-meta.h @@ -70,15 +70,15 @@ struct ldaprwmap { /* Whatever context ldap_back_dn_massage needs... */ typedef struct dncookie { - struct ldaprwmap *rwmap; + struct metatarget_t *target; #ifdef ENABLE_REWRITE - Connection *conn; - char *ctx; - SlapReply *rs; + Connection *conn; + char *ctx; + SlapReply *rs; #else - int normalized; - int tofrom; + int normalized; + int tofrom; #endif } dncookie; @@ -156,11 +156,12 @@ ldap_dnattr_result_rewrite( /* (end of) from back-ldap.h before rwm removal */ +struct metainfo_t; + typedef struct metasingleconn_t { int msc_candidate; #define META_NOT_CANDIDATE ((ber_tag_t)0) #define META_CANDIDATE ((ber_tag_t)1) -#define META_LAST_CONN ((ber_tag_t)(-1)) LDAP *msc_ld; struct berval msc_bound_ndn; @@ -169,9 +170,9 @@ typedef struct metasingleconn_t { #define META_UNBOUND 0 #define META_BOUND 1 #define META_ANONYMOUS 2 -} metasingleconn_t; -#define META_LAST(msc) ((msc)->msc_candidate == META_LAST_CONN) + struct metainfo_t *msc_info; +} metasingleconn_t; typedef struct metaconn_t { struct slap_conn *mc_conn; @@ -190,8 +191,10 @@ typedef struct metaconn_t { typedef struct metatarget_t { char *mt_uri; + struct berval mt_psuffix; /* pretty suffix */ struct berval mt_nsuffix; /* normalized suffix */ + struct berval mt_binddn; struct berval mt_bindpw; @@ -205,6 +208,9 @@ typedef struct metatarget_t { #define META_RETRY_DEFAULT (3) struct ldaprwmap mt_rwmap; + + unsigned mt_flags; + int mt_version; } metatarget_t; typedef struct metadncache_t { @@ -223,7 +229,7 @@ typedef struct metainfo_t { #define META_DEFAULT_TARGET_NONE (-1) int mi_nretries; - metatarget_t **mi_targets; + metatarget_t *mi_targets; SlapReply *mi_candidates; metadncache_t mi_cache; @@ -237,9 +243,13 @@ typedef struct metainfo_t { #define LDAP_BACK_F_NONE 0x00U #define LDAP_BACK_F_SAVECRED 0x01U #define LDAP_BACK_F_USE_TLS 0x02U -#define LDAP_BACK_F_TLS_CRITICAL ( 0x04U | LDAP_BACK_F_USE_TLS ) -#define LDAP_BACK_F_CHASE_REFERRALS 0x8U +#define LDAP_BACK_F_PROPAGATE_TLS 0x04U +#define LDAP_BACK_F_TLS_CRITICAL 0x08U +#define LDAP_BACK_F_TLS_MASK (LDAP_BACK_F_USE_TLS|LDAP_BACK_F_PROPAGATE_TLS|LDAP_BACK_F_TLS_CRITICAL) +#define LDAP_BACK_F_CHASE_REFERRALS 0x10U #endif + + int mi_version; } metainfo_t; typedef enum meta_op_type {