version 1.452.2.1, 2003/05/31 19:01:40
|
version 1.452.2.2, 2003/09/18 15:43:35
|
Line 1
|
Line 1
|
/* slap.h - stand alone ldap server include file */ |
/* slap.h - stand alone ldap server include file */ |
/* $OpenLDAP: pkg/ldap/servers/slapd/slap.h,v 1.452 2003/05/30 03:24:39 kurt Exp $ */ |
/* $OpenLDAP: pkg/ldap/servers/slapd/slap.h,v 1.452.2.1 2003/05/31 19:01:40 kurt Exp $ */ |
/* |
/* |
* Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved. |
* Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved. |
* COPYING RESTRICTIONS APPLY, see COPYRIGHT file |
* COPYING RESTRICTIONS APPLY, see COPYRIGHT file |
Line 37
|
Line 37
|
#include "ldap_queue.h" |
#include "ldap_queue.h" |
|
|
#define SLAP_EXTENDED_SCHEMA 1 |
#define SLAP_EXTENDED_SCHEMA 1 |
#define LDAP_CACHING 1 |
|
|
|
LDAP_BEGIN_DECL |
LDAP_BEGIN_DECL |
/* |
/* |
Line 76 LDAP_BEGIN_DECL
|
Line 75 LDAP_BEGIN_DECL
|
|
|
#define SLAP_MAX_WORKER_THREADS (16) |
#define SLAP_MAX_WORKER_THREADS (16) |
|
|
#ifdef LDAP_SYNCREPL |
|
#define SLAP_MAX_SYNCREPL_THREADS (8) |
#define SLAP_MAX_SYNCREPL_THREADS (8) |
#endif |
|
|
|
#define SLAP_SB_MAX_INCOMING_DEFAULT ((1<<18) - 1) |
#define SLAP_SB_MAX_INCOMING_DEFAULT ((1<<18) - 1) |
#define SLAP_SB_MAX_INCOMING_AUTH ((1<<24) - 1) |
#define SLAP_SB_MAX_INCOMING_AUTH ((1<<24) - 1) |
Line 141 LDAP_BEGIN_DECL
|
Line 138 LDAP_BEGIN_DECL
|
/* must match in schema_init.c */ |
/* must match in schema_init.c */ |
#define SLAPD_DN_SYNTAX "1.3.6.1.4.1.1466.115.121.1.12" |
#define SLAPD_DN_SYNTAX "1.3.6.1.4.1.1466.115.121.1.12" |
#define SLAPD_NAMEUID_SYNTAX "1.3.6.1.4.1.1466.115.121.1.34" |
#define SLAPD_NAMEUID_SYNTAX "1.3.6.1.4.1.1466.115.121.1.34" |
|
#define SLAPD_INTEGER_SYNTAX "1.3.6.1.4.1.1466.115.121.1.27" |
#define SLAPD_GROUP_ATTR "member" |
#define SLAPD_GROUP_ATTR "member" |
#define SLAPD_GROUP_CLASS "groupOfNames" |
#define SLAPD_GROUP_CLASS "groupOfNames" |
#define SLAPD_ROLE_ATTR "roleOccupant" |
#define SLAPD_ROLE_ATTR "roleOccupant" |
Line 229 typedef struct slap_ssf_set {
|
Line 227 typedef struct slap_ssf_set {
|
#define SLAP_SYNTAX_MATCHINGRULEUSES_OID "1.3.6.1.4.1.1466.115.121.1.31" |
#define SLAP_SYNTAX_MATCHINGRULEUSES_OID "1.3.6.1.4.1.1466.115.121.1.31" |
#define SLAP_SYNTAX_CONTENTRULE_OID "1.3.6.1.4.1.1466.115.121.1.16" |
#define SLAP_SYNTAX_CONTENTRULE_OID "1.3.6.1.4.1.1466.115.121.1.16" |
|
|
#ifdef LDAP_CLIENT_UPDATE |
|
#define LCUP_COOKIE_OID "1.3.6.1.4.1.4203.666.10.1" |
|
#endif /* LDAP_CLIENT_UPDATE */ |
|
|
|
/* |
/* |
* represents schema information for a database |
* represents schema information for a database |
*/ |
*/ |
Line 302 typedef struct slap_syntax {
|
Line 296 typedef struct slap_syntax {
|
LDAPSyntax ssyn_syn; |
LDAPSyntax ssyn_syn; |
#define ssyn_oid ssyn_syn.syn_oid |
#define ssyn_oid ssyn_syn.syn_oid |
#define ssyn_desc ssyn_syn.syn_desc |
#define ssyn_desc ssyn_syn.syn_desc |
#define ssyn_extensions ssyn_syn.syn_extensions |
#define ssyn_extensions ssyn_syn.syn_extensions |
/* |
/* |
* Note: the former |
* Note: the former |
ber_len_t ssyn_oidlen; |
ber_len_t ssyn_oidlen; |
Line 647 typedef struct slap_object_class {
|
Line 641 typedef struct slap_object_class {
|
#define SLAP_OC_SUBENTRY 0x0004 |
#define SLAP_OC_SUBENTRY 0x0004 |
#define SLAP_OC_DYNAMICOBJECT 0x0008 |
#define SLAP_OC_DYNAMICOBJECT 0x0008 |
#define SLAP_OC_COLLECTIVEATTRIBUTESUBENTRY 0x0010 |
#define SLAP_OC_COLLECTIVEATTRIBUTESUBENTRY 0x0010 |
#define SLAP_OC__MASK 0x001F |
#define SLAP_OC_GLUE 0x0020 |
#define SLAP_OC__END 0x0020 |
#define SLAP_OC_SYNCPROVIDERSUBENTRY 0x0040 |
|
#define SLAP_OC_SYNCCONSUMERSUBENTRY 0x0080 |
|
#define SLAP_OC__MASK 0x00FF |
|
#define SLAP_OC__END 0x0100 |
#define SLAP_OC_OPERATIONAL 0x4000 |
#define SLAP_OC_OPERATIONAL 0x4000 |
#ifdef LDAP_DEVEL |
#ifdef LDAP_DEVEL |
#define SLAP_OC_HIDE 0x0000 |
#define SLAP_OC_HIDE 0x0000 |
Line 717 struct slap_internal_schema {
|
Line 714 struct slap_internal_schema {
|
ObjectClass *si_oc_collectiveAttributeSubentry; |
ObjectClass *si_oc_collectiveAttributeSubentry; |
ObjectClass *si_oc_dynamicObject; |
ObjectClass *si_oc_dynamicObject; |
|
|
#ifdef LDAP_SYNCREPL |
|
ObjectClass *si_oc_glue; |
ObjectClass *si_oc_glue; |
ObjectClass *si_oc_syncConsumerSubentry; |
ObjectClass *si_oc_syncConsumerSubentry; |
ObjectClass *si_oc_syncProviderSubentry; |
ObjectClass *si_oc_syncProviderSubentry; |
#endif |
|
|
|
/* objectClass attribute descriptions */ |
/* objectClass attribute descriptions */ |
AttributeDescription *si_ad_objectClass; |
AttributeDescription *si_ad_objectClass; |
Line 741 struct slap_internal_schema {
|
Line 736 struct slap_internal_schema {
|
AttributeDescription *si_ad_namingCSN; |
AttributeDescription *si_ad_namingCSN; |
AttributeDescription *si_ad_superiorUUID; |
AttributeDescription *si_ad_superiorUUID; |
|
|
#ifdef LDAP_CACHING |
|
/* LDAP cache specific operational attribute */ |
/* LDAP cache specific operational attribute */ |
AttributeDescription *si_ad_queryid; |
AttributeDescription *si_ad_queryid; |
#endif /* LDAP_CACHING */ |
|
|
|
#ifdef LDAP_SYNCREPL |
|
AttributeDescription *si_ad_dseType; |
AttributeDescription *si_ad_dseType; |
AttributeDescription *si_ad_syncreplCookie; |
AttributeDescription *si_ad_syncreplCookie; |
#endif |
AttributeDescription *si_ad_contextCSN; |
|
|
/* root DSE attribute descriptions */ |
/* root DSE attribute descriptions */ |
AttributeDescription *si_ad_altServer; |
AttributeDescription *si_ad_altServer; |
Line 1059 typedef enum slap_style_e {
|
Line 1051 typedef enum slap_style_e {
|
ACL_STYLE_ONE, |
ACL_STYLE_ONE, |
ACL_STYLE_SUBTREE, |
ACL_STYLE_SUBTREE, |
ACL_STYLE_CHILDREN, |
ACL_STYLE_CHILDREN, |
ACL_STYLE_ATTROF, |
ACL_STYLE_ATTROF |
} slap_style_t; |
} slap_style_t; |
|
|
typedef struct slap_authz_info { |
typedef struct slap_authz_info { |
Line 1282 typedef BackendDB Backend;
|
Line 1274 typedef BackendDB Backend;
|
#define nbackends nBackendDB |
#define nbackends nBackendDB |
#define backends backendDB |
#define backends backendDB |
|
|
#ifdef LDAP_SYNCREPL |
|
struct nonpresent_entry { |
struct nonpresent_entry { |
struct berval *dn; |
struct berval *dn; |
struct berval *ndn; |
struct berval *ndn; |
Line 1296 typedef struct syncinfo_s {
|
Line 1287 typedef struct syncinfo_s {
|
struct slap_conn *conn; |
struct slap_conn *conn; |
struct slap_backend_db *be; |
struct slap_backend_db *be; |
struct slap_entry *e; |
struct slap_entry *e; |
void *ctx; |
void *ctx; |
int id; |
int id; |
char *masteruri; |
char *provideruri; |
struct berval *master_bv; |
BerVarray provideruri_bv; |
char *mastername; |
#define TLS_OFF 0 |
int masterport; |
#define TLS_ON 1 |
int type; |
#define TLS_CRITICAL 2 |
|
int tls; |
struct berval updatedn; |
struct berval updatedn; |
char *binddn; |
int bindmethod; |
int bindmethod; |
char *binddn; |
char *passwd; |
char *passwd; |
char *secprops; |
char *saslmech; |
char *realm; |
char *secprops; |
char *authcId; |
char *realm; |
char *authzId; |
char *authcId; |
char *srvtab; |
char *authzId; |
char *saslmech; |
char *srvtab; |
|
int schemachecking; |
|
Filter *filter; |
|
char *filterstr; |
|
char *base; |
|
int scope; |
|
int attrsonly; |
|
char **attrs; |
|
int type; |
time_t interval; |
time_t interval; |
char *base; |
struct berval *syncCookie; |
int scope; |
int manageDSAit; |
int deref; |
int slimit; |
int slimit; |
int tlimit; |
int tlimit; |
struct berval *syncUUID; |
Filter *filter; |
|
char *filterstr; |
|
char **attrs; |
|
int attrsonly; |
|
#define LASTMOD_REQ 0 |
|
#define LASTMOD_GEN 1 |
|
#define LASTMOD_NO 2 |
|
int lastmod; |
|
/* TLS flags */ |
|
#define TLS_OFF 0 |
|
#define TLS_ON 1 |
|
#define TLS_CRITICAL 2 |
|
int tls; |
|
int found; |
|
struct berval *syncUUID; |
|
struct berval *syncUUID_ndn; |
struct berval *syncUUID_ndn; |
struct berval *syncCookie; |
Avlnode *presentlist; |
Avlnode *presentlist; |
int sync_mode; |
LDAP_LIST_HEAD(np, nonpresent_entry) nonpresentlist; |
LDAP_LIST_HEAD(np, nonpresent_entry) nonpresentlist; |
} syncinfo_t; |
} syncinfo_t; |
|
|
#define IDSTR "id" |
|
#define MASTERSTR "master" |
|
#define SUFFIXSTR "suffix" |
|
#define UPDATEDNSTR "updatedn" |
|
#define BINDDNSTR "binddn" |
|
#define BINDMETHSTR "bindmethod" |
|
#define SIMPLESTR "simple" |
|
#define SASLSTR "sasl" |
|
#define CREDSTR "credentials" |
|
#define OLDAUTHCSTR "bindprincipal" |
|
#define AUTHCSTR "authcID" |
|
#define AUTHZSTR "authzID" |
|
#define SRVTABSTR "srvtab" |
|
#define SASLMECHSTR "saslmech" |
|
#define REALMSTR "realm" |
|
#define SECPROPSSTR "secprops" |
|
#define TLSSTR "tls" |
|
#define TLSCRITICALSTR "critical" |
|
|
|
#define FILTERSTR "filter" |
|
#define SEARCHBASESTR "searchbase" |
|
#define SCOPESTR "scope" |
|
#define ATTRSSTR "attrs" |
|
#define ATTRSONLYSTR "attrsonly" |
|
#define TYPESTR "type" |
|
#define INTERVALSTR "interval" |
|
#define COOKIESTR "cookie" |
|
#define LASTMODSTR "lastmod" |
|
#define LMREQSTR "req" |
|
#define LMGENSTR "gen" |
|
#define LMNOSTR "no" |
|
|
|
#endif /* LDAP_SYNCREPL */ |
|
|
|
struct slap_backend_db { |
struct slap_backend_db { |
BackendInfo *bd_info; /* pointer to shared backend info */ |
BackendInfo *bd_info; /* pointer to shared backend info */ |
|
|
Line 1422 struct slap_backend_db {
|
Line 1373 struct slap_backend_db {
|
#define be_entry_get bd_info->bi_tool_entry_get |
#define be_entry_get bd_info->bi_tool_entry_get |
#define be_entry_put bd_info->bi_tool_entry_put |
#define be_entry_put bd_info->bi_tool_entry_put |
#define be_sync bd_info->bi_tool_sync |
#define be_sync bd_info->bi_tool_sync |
|
#define be_dn2id_get bd_info->bi_tool_dn2id_get |
|
#define be_id2entry_get bd_info->bi_tool_id2entry_get |
|
#define be_entry_modify bd_info->bi_tool_entry_modify |
#endif |
#endif |
|
|
#define SLAP_BFLAG_NOLASTMOD 0x0001U |
#define SLAP_BFLAG_NOLASTMOD 0x0001U |
|
#define SLAP_BFLAG_NO_SCHEMA_CHECK 0x0002U |
#define SLAP_BFLAG_GLUE_INSTANCE 0x0010U /* a glue backend */ |
#define SLAP_BFLAG_GLUE_INSTANCE 0x0010U /* a glue backend */ |
#define SLAP_BFLAG_GLUE_SUBORDINATE 0x0020U /* child of a glue hierarchy */ |
#define SLAP_BFLAG_GLUE_SUBORDINATE 0x0020U /* child of a glue hierarchy */ |
#define SLAP_BFLAG_GLUE_LINKED 0x0040U /* child is connected to parent */ |
#define SLAP_BFLAG_GLUE_LINKED 0x0040U /* child is connected to parent */ |
#define SLAP_BFLAG_ALIASES 0x0100U |
#define SLAP_BFLAG_MONITOR 0x0080U /* a monitor backend */ |
#define SLAP_BFLAG_REFERRALS 0x0200U |
#define SLAP_BFLAG_INCREMENT 0x0100U |
#define SLAP_BFLAG_SUBENTRIES 0x0400U |
#define SLAP_BFLAG_ALIASES 0x1000U |
#define SLAP_BFLAG_MONITOR 0x1000U |
#define SLAP_BFLAG_REFERRALS 0x2000U |
#define SLAP_BFLAG_DYNAMIC 0x2000U |
#define SLAP_BFLAG_SUBENTRIES 0x4000U |
|
#define SLAP_BFLAG_DYNAMIC 0x8000U |
slap_mask_t be_flags; |
slap_mask_t be_flags; |
#define SLAP_LASTMOD(be) (!((be)->be_flags & SLAP_BFLAG_NOLASTMOD)) |
#define SLAP_LASTMOD(be) (!((be)->be_flags & SLAP_BFLAG_NOLASTMOD)) |
|
#define SLAP_NO_SCHEMA_CHECK(be) (((be)->be_flags & SLAP_BFLAG_NO_SCHEMA_CHECK)) |
#define SLAP_GLUE_INSTANCE(be) ((be)->be_flags & SLAP_BFLAG_GLUE_INSTANCE) |
#define SLAP_GLUE_INSTANCE(be) ((be)->be_flags & SLAP_BFLAG_GLUE_INSTANCE) |
#define SLAP_GLUE_SUBORDINATE(be) \ |
#define SLAP_GLUE_SUBORDINATE(be) \ |
((be)->be_flags & SLAP_BFLAG_GLUE_SUBORDINATE) |
((be)->be_flags & SLAP_BFLAG_GLUE_SUBORDINATE) |
#define SLAP_GLUE_LINKED(be) ((be)->be_flags & SLAP_BFLAG_GLUE_LINKED) |
#define SLAP_GLUE_LINKED(be) ((be)->be_flags & SLAP_BFLAG_GLUE_LINKED) |
|
|
|
#define SLAP_MONITOR(be) ((be)->be_flags & SLAP_BFLAG_MONITOR) |
|
#define SLAP_INCREMENT(be) ((be)->be_flags & SLAP_BFLAG_INCREMENT) |
|
|
#define SLAP_ALIASES(be) ((be)->be_flags & SLAP_BFLAG_ALIASES) |
#define SLAP_ALIASES(be) ((be)->be_flags & SLAP_BFLAG_ALIASES) |
#define SLAP_REFERRALS(be) ((be)->be_flags & SLAP_BFLAG_REFERRALS) |
#define SLAP_REFERRALS(be) ((be)->be_flags & SLAP_BFLAG_REFERRALS) |
#define SLAP_SUBENTRIES(be) ((be)->be_flags & SLAP_BFLAG_SUBENTRIES) |
#define SLAP_SUBENTRIES(be) ((be)->be_flags & SLAP_BFLAG_SUBENTRIES) |
#define SLAP_MONITOR(be) ((be)->be_flags & SLAP_BFLAG_MONITOR) |
|
#define SLAP_DYNAMIC(be) ((be)->be_flags & SLAP_BFLAG_DYNAMIC) |
#define SLAP_DYNAMIC(be) ((be)->be_flags & SLAP_BFLAG_DYNAMIC) |
|
|
|
|
slap_mask_t be_restrictops; /* restriction operations */ |
slap_mask_t be_restrictops; /* restriction operations */ |
#define SLAP_RESTRICT_OP_ADD 0x0001U |
#define SLAP_RESTRICT_OP_ADD 0x0001U |
#define SLAP_RESTRICT_OP_BIND 0x0002U |
#define SLAP_RESTRICT_OP_BIND 0x0002U |
Line 1472 struct slap_backend_db {
|
Line 1433 struct slap_backend_db {
|
|
|
#define SLAP_DISALLOW_BIND_ANON 0x0001U /* no anonymous */ |
#define SLAP_DISALLOW_BIND_ANON 0x0001U /* no anonymous */ |
#define SLAP_DISALLOW_BIND_SIMPLE 0x0002U /* simple authentication */ |
#define SLAP_DISALLOW_BIND_SIMPLE 0x0002U /* simple authentication */ |
#define SLAP_DISALLOW_BIND_SIMPLE_UNPROTECTED \ |
#define SLAP_DISALLOW_BIND_KRBV4 0x0004U /* Kerberos V4 authentication */ |
0x0004U /* unprotected simple auth */ |
|
#define SLAP_DISALLOW_BIND_KRBV4 0x0008U /* Kerberos V4 authentication */ |
|
|
|
#define SLAP_DISALLOW_TLS_2_ANON 0x0010U /* StartTLS -> Anonymous */ |
#define SLAP_DISALLOW_TLS_2_ANON 0x0010U /* StartTLS -> Anonymous */ |
#define SLAP_DISALLOW_TLS_AUTHC 0x0020U /* TLS while authenticated */ |
#define SLAP_DISALLOW_TLS_AUTHC 0x0020U /* TLS while authenticated */ |
Line 1514 struct slap_backend_db {
|
Line 1473 struct slap_backend_db {
|
void *be_private; /* anything the backend database needs */ |
void *be_private; /* anything the backend database needs */ |
|
|
void *be_pb; /* Netscape plugin */ |
void *be_pb; /* Netscape plugin */ |
#ifdef LDAP_SYNCREPL |
LDAP_TAILQ_HEAD( pcl, slap_csn_entry ) be_pending_csn_list; |
|
ldap_pvt_thread_mutex_t be_pcl_mutex; |
|
struct berval be_context_csn; |
|
ldap_pvt_thread_mutex_t be_context_csn_mutex; |
syncinfo_t *syncinfo; /* For syncrepl */ |
syncinfo_t *syncinfo; /* For syncrepl */ |
#endif |
|
}; |
}; |
|
|
struct slap_conn; |
struct slap_conn; |
Line 1668 typedef ID (BI_tool_entry_put) LDAP_P((
|
Line 1629 typedef ID (BI_tool_entry_put) LDAP_P((
|
struct berval *text )); |
struct berval *text )); |
typedef int (BI_tool_entry_reindex) LDAP_P(( BackendDB *be, ID id )); |
typedef int (BI_tool_entry_reindex) LDAP_P(( BackendDB *be, ID id )); |
typedef int (BI_tool_sync) LDAP_P(( BackendDB *be )); |
typedef int (BI_tool_sync) LDAP_P(( BackendDB *be )); |
|
typedef ID (BI_tool_dn2id_get) LDAP_P(( BackendDB *be, struct berval *dn )); |
|
typedef int (BI_tool_id2entry_get) LDAP_P(( BackendDB *be, ID id, Entry **e )); |
|
typedef ID (BI_tool_entry_modify) LDAP_P(( BackendDB *be, Entry *e, |
|
struct berval *text )); |
|
|
struct slap_backend_info { |
struct slap_backend_info { |
char *bi_type; /* type of backend */ |
char *bi_type; /* type of backend */ |
Line 1752 struct slap_backend_info {
|
Line 1717 struct slap_backend_info {
|
BI_connection_destroy *bi_connection_destroy; |
BI_connection_destroy *bi_connection_destroy; |
|
|
/* hooks for slap tools */ |
/* hooks for slap tools */ |
BI_tool_entry_open *bi_tool_entry_open; |
BI_tool_entry_open *bi_tool_entry_open; |
BI_tool_entry_close *bi_tool_entry_close; |
BI_tool_entry_close *bi_tool_entry_close; |
BI_tool_entry_first *bi_tool_entry_first; |
BI_tool_entry_first *bi_tool_entry_first; |
BI_tool_entry_next *bi_tool_entry_next; |
BI_tool_entry_next *bi_tool_entry_next; |
BI_tool_entry_get *bi_tool_entry_get; |
BI_tool_entry_get *bi_tool_entry_get; |
BI_tool_entry_put *bi_tool_entry_put; |
BI_tool_entry_put *bi_tool_entry_put; |
BI_tool_entry_reindex *bi_tool_entry_reindex; |
BI_tool_entry_reindex *bi_tool_entry_reindex; |
BI_tool_sync *bi_tool_sync; |
BI_tool_sync *bi_tool_sync; |
|
BI_tool_dn2id_get *bi_tool_dn2id_get; |
|
BI_tool_id2entry_get *bi_tool_id2entry_get; |
|
BI_tool_entry_modify *bi_tool_entry_modify; |
|
|
#define SLAP_INDEX_ADD_OP 0x0001 |
#define SLAP_INDEX_ADD_OP 0x0001 |
#define SLAP_INDEX_DELETE_OP 0x0002 |
#define SLAP_INDEX_DELETE_OP 0x0002 |
Line 1795 typedef struct slap_callback {
|
Line 1763 typedef struct slap_callback {
|
void *sc_private; |
void *sc_private; |
} slap_callback; |
} slap_callback; |
|
|
|
struct slap_overinfo; |
|
|
|
typedef struct slap_overinst { |
|
BackendInfo on_bi; |
|
slap_response *on_response; |
|
struct slap_overinfo *on_info; |
|
struct slap_overinst *on_next; |
|
} slap_overinst; |
|
|
|
typedef struct slap_overinfo { |
|
BackendInfo oi_bi; |
|
BackendDB oi_bd; |
|
slap_overinst *oi_list; |
|
} slap_overinfo; |
|
|
|
/* Should successive callbacks in a chain be processed? */ |
|
#define SLAP_CB_CONTINUE 0x8000 |
|
|
/* |
/* |
* Paged Results state |
* Paged Results state |
*/ |
*/ |
Line 1806 typedef struct slap_paged_state {
|
Line 1792 typedef struct slap_paged_state {
|
} PagedResultsState; |
} PagedResultsState; |
|
|
|
|
#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC) |
#define LDAP_PSEARCH_BY_ADD 0x01 |
#define LDAP_PSEARCH_BY_ADD 0x01 |
|
#define LDAP_PSEARCH_BY_DELETE 0x02 |
#define LDAP_PSEARCH_BY_DELETE 0x02 |
#define LDAP_PSEARCH_BY_PREMODIFY 0x03 |
#define LDAP_PSEARCH_BY_PREMODIFY 0x03 |
#define LDAP_PSEARCH_BY_MODIFY 0x04 |
#define LDAP_PSEARCH_BY_MODIFY 0x04 |
Line 1817 struct psid_entry {
|
Line 1802 struct psid_entry {
|
struct slap_op *ps_op; |
struct slap_op *ps_op; |
LDAP_LIST_ENTRY(psid_entry) ps_link; |
LDAP_LIST_ENTRY(psid_entry) ps_link; |
}; |
}; |
#endif |
|
|
|
|
struct slap_csn_entry { |
|
struct berval *csn; |
|
unsigned long opid; |
|
unsigned long connid; |
|
#define SLAP_CSN_PENDING 1 |
|
#define SLAP_CSN_COMMIT 2 |
|
long state; |
|
LDAP_TAILQ_ENTRY (slap_csn_entry) csn_link; |
|
}; |
|
|
/* |
/* |
* represents an operation pending from an ldap client |
* represents an operation pending from an ldap client |
Line 1915 typedef struct slap_op {
|
Line 1908 typedef struct slap_op {
|
char o_subentries_visibility; |
char o_subentries_visibility; |
#define get_subentries_visibility(op) ((int)(op)->o_subentries_visibility) |
#define get_subentries_visibility(op) ((int)(op)->o_subentries_visibility) |
|
|
|
char o_assert; |
|
#define get_assert(op) ((int)(op)->o_assert) |
|
|
char o_valuesreturnfilter; |
char o_valuesreturnfilter; |
|
|
#ifdef LDAP_CONTROL_X_PERMISSIVE_MODIFY |
#ifdef LDAP_CONTROL_X_PERMISSIVE_MODIFY |
Line 1931 typedef struct slap_op {
|
Line 1927 typedef struct slap_op {
|
#define get_domainScope(op) (0) |
#define get_domainScope(op) (0) |
#endif |
#endif |
|
|
|
char o_preread; |
|
char o_postread; |
|
AttributeName *o_preread_attrs; |
|
AttributeName *o_postread_attrs; |
|
|
#ifdef LDAP_CONTROL_PAGEDRESULTS |
#ifdef LDAP_CONTROL_PAGEDRESULTS |
char o_pagedresults; |
char o_pagedresults; |
#define get_pagedresults(op) ((int)(op)->o_pagedresults) |
#define get_pagedresults(op) ((int)(op)->o_pagedresults) |
Line 1940 typedef struct slap_op {
|
Line 1941 typedef struct slap_op {
|
#define get_pagedresults(op) (0) |
#define get_pagedresults(op) (0) |
#endif |
#endif |
|
|
#ifdef LDAP_CLIENT_UPDATE |
|
char o_clientupdate; |
|
char o_clientupdate_type; |
|
#define SLAP_LCUP_NONE (0x0) |
|
#define SLAP_LCUP_SYNC (0x1) |
|
#define SLAP_LCUP_PERSIST (0x2) |
|
#define SLAP_LCUP_SYNC_AND_PERSIST (0x3) |
|
ber_int_t o_clientupdate_interval; |
|
struct berval o_clientupdate_state; |
|
#endif |
|
|
|
#ifdef LDAP_SYNC |
|
char o_sync; |
char o_sync; |
char o_sync_mode; |
char o_sync_mode; |
#define SLAP_SYNC_NONE (0x0) |
#define SLAP_SYNC_NONE (0x0) |
Line 1959 typedef struct slap_op {
|
Line 1948 typedef struct slap_op {
|
#define SLAP_SYNC_PERSIST (0x2) |
#define SLAP_SYNC_PERSIST (0x2) |
#define SLAP_SYNC_REFRESH_AND_PERSIST (0x3) |
#define SLAP_SYNC_REFRESH_AND_PERSIST (0x3) |
struct berval o_sync_state; |
struct berval o_sync_state; |
#endif |
|
|
|
#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC) |
|
int o_ps_protocol; |
|
int o_ps_entries; |
int o_ps_entries; |
LDAP_LIST_ENTRY(slap_op) o_ps_link; |
LDAP_LIST_ENTRY(slap_op) o_ps_link; |
LDAP_LIST_HEAD(pe, psid_entry) o_pm_list; |
LDAP_LIST_HEAD(pe, psid_entry) o_pm_list; |
#endif |
|
|
|
AuthorizationInformation o_authz; |
AuthorizationInformation o_authz; |
|
|
BerElement *o_ber; /* ber of the request */ |
BerElement *o_ber; /* ber of the request */ |
#ifdef LDAP_CONNECTIONLESS |
BerElement *o_res_ber; /* ber of the CLDAP reply or readback control */ |
BerElement *o_res_ber; /* ber of the reply */ |
slap_callback *o_callback; /* callback pointers */ |
#endif |
|
slap_callback *o_callback; /* callback pointers */ |
|
LDAPControl **o_ctrls; /* controls */ |
LDAPControl **o_ctrls; /* controls */ |
|
|
void *o_threadctx; /* thread pool thread context */ |
void *o_threadctx; /* thread pool thread context */ |
Line 1987 typedef struct slap_op {
|
Line 1970 typedef struct slap_op {
|
void *o_private; /* anything the backend needs */ |
void *o_private; /* anything the backend needs */ |
|
|
LDAP_STAILQ_ENTRY(slap_op) o_next; /* next operation in list */ |
LDAP_STAILQ_ENTRY(slap_op) o_next; /* next operation in list */ |
ValuesReturnFilter *vrFilter; /* Structure represents ValuesReturnFilter */ |
|
|
|
#ifdef LDAP_CACHING |
Filter *o_assertion; /* Assert control filter */ |
char o_caching_on; |
#define get_assertion(op) ((op)->o_assertion) |
#endif /*LDAP_CACHING */ |
|
|
ValuesReturnFilter *o_vrFilter; /* ValuesReturnFilter */ |
|
|
|
syncinfo_t* o_si; |
|
|
#ifdef LDAP_SLAPI |
#ifdef LDAP_SLAPI |
void *o_pb; /* NS-SLAPI plugin */ |
void *o_pb; /* NS-SLAPI plugin */ |
|
void *o_extensions; /* NS-SLAPI plugin */ |
#endif |
#endif |
} Operation; |
} Operation; |
|
|
Line 2113 typedef struct slap_conn {
|
Line 2099 typedef struct slap_conn {
|
long c_n_write; /* num of write calls */ |
long c_n_write; /* num of write calls */ |
|
|
void *c_pb; /* Netscape plugin */ |
void *c_pb; /* Netscape plugin */ |
|
void *c_extensions; /* Netscape plugin */ |
|
|
/* |
/* |
* These are the "callbacks" that are available for back-ends to |
* These are the "callbacks" that are available for back-ends to |
Line 2195 enum {
|
Line 2182 enum {
|
#define SLAP_LDAPDN_PRETTY 0x1 |
#define SLAP_LDAPDN_PRETTY 0x1 |
#define SLAP_LDAPDN_MAXLEN 8192 |
#define SLAP_LDAPDN_MAXLEN 8192 |
|
|
/* |
/* number of response controls supported */ |
* Macros for LCUP |
#define SLAP_MAX_RESPONSE_CONTROLS 6 |
*/ |
|
#ifdef LDAP_CLIENT_UPDATE |
|
#define SLAP_LCUP_STATE_UPDATE_TRUE 1 |
|
#define SLAP_LCUP_STATE_UPDATE_FALSE 0 |
|
#define SLAP_LCUP_ENTRY_DELETED_TRUE 1 |
|
#define SLAP_LCUP_ENTRY_DELETED_FALSE 0 |
|
#endif /* LDAP_CLIENT_UPDATE */ |
|
|
|
#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC) |
|
#define SLAP_SEARCH_MAX_CTRLS 10 |
|
#endif |
|
|
|
#ifdef LDAP_DEVEL |
#ifdef LDAP_DEVEL |
#define SLAP_CTRL_HIDE 0x00000000U |
#define SLAP_CTRL_HIDE 0x00000000U |