version 1.452, 2003/05/30 03:24:39
|
version 1.452.2.1, 2003/05/31 19:01:40
|
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.451 2003/05/30 00:17:30 kurt Exp $ */ |
/* $OpenLDAP: pkg/ldap/servers/slapd/slap.h,v 1.452 2003/05/30 03:24:39 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 32
|
Line 32
|
#include <ldap.h> |
#include <ldap.h> |
#include <ldap_schema.h> |
#include <ldap_schema.h> |
|
|
|
#include "lber_pvt.h" |
#include "ldap_pvt_thread.h" |
#include "ldap_pvt_thread.h" |
#include "ldap_queue.h" |
#include "ldap_queue.h" |
|
|
#ifdef LDAP_DEVEL |
|
#define SLAP_EXTENDED_SCHEMA 1 |
#define SLAP_EXTENDED_SCHEMA 1 |
#define LDAP_CACHING |
#define LDAP_CACHING 1 |
#endif |
|
|
|
LDAP_BEGIN_DECL |
LDAP_BEGIN_DECL |
/* |
/* |
Line 321 typedef struct slap_syntax {
|
Line 320 typedef struct slap_syntax {
|
#define SLAP_SYNTAX_BLOB 0x0001U /* syntax treated as blob (audio) */ |
#define SLAP_SYNTAX_BLOB 0x0001U /* syntax treated as blob (audio) */ |
#define SLAP_SYNTAX_BINARY 0x0002U /* binary transfer required (certificate) */ |
#define SLAP_SYNTAX_BINARY 0x0002U /* binary transfer required (certificate) */ |
#define SLAP_SYNTAX_BER 0x0004U /* stored in BER encoding (certificate) */ |
#define SLAP_SYNTAX_BER 0x0004U /* stored in BER encoding (certificate) */ |
|
#ifdef LDAP_DEVEL |
|
#define SLAP_SYNTAX_HIDE 0x0000U /* publish everything */ |
|
#else |
#define SLAP_SYNTAX_HIDE 0x8000U /* hide (do not publish) */ |
#define SLAP_SYNTAX_HIDE 0x8000U /* hide (do not publish) */ |
|
#endif |
|
|
slap_syntax_validate_func *ssyn_validate; |
slap_syntax_validate_func *ssyn_validate; |
slap_syntax_transform_func *ssyn_pretty; |
slap_syntax_transform_func *ssyn_pretty; |
Line 418 typedef struct slap_matching_rule {
|
Line 421 typedef struct slap_matching_rule {
|
|
|
slap_mask_t smr_usage; |
slap_mask_t smr_usage; |
|
|
|
#ifdef LDAP_DEVEL |
|
#define SLAP_MR_HIDE 0x0000U |
|
#else |
#define SLAP_MR_HIDE 0x8000U |
#define SLAP_MR_HIDE 0x8000U |
|
#endif |
|
|
#define SLAP_MR_TYPE_MASK 0x0F00U |
#define SLAP_MR_TYPE_MASK 0x0F00U |
#define SLAP_MR_SUBTYPE_MASK 0x00F0U |
#define SLAP_MR_SUBTYPE_MASK 0x00F0U |
Line 571 typedef struct slap_attribute_type {
|
Line 578 typedef struct slap_attribute_type {
|
#define SLAP_AT_NONE 0x0000U |
#define SLAP_AT_NONE 0x0000U |
#define SLAP_AT_ABSTRACT 0x0100U /* cannot be instantiated */ |
#define SLAP_AT_ABSTRACT 0x0100U /* cannot be instantiated */ |
#define SLAP_AT_FINAL 0x0200U /* cannot be subtyped */ |
#define SLAP_AT_FINAL 0x0200U /* cannot be subtyped */ |
|
#ifdef LDAP_DEVEL |
|
#define SLAP_AT_HIDE 0x0000U /* publish everything */ |
|
#else |
#define SLAP_AT_HIDE 0x8000U /* hide attribute */ |
#define SLAP_AT_HIDE 0x8000U /* hide attribute */ |
|
#endif |
slap_mask_t sat_flags; |
slap_mask_t sat_flags; |
|
|
LDAP_SLIST_ENTRY(slap_attribute_type) sat_next; |
LDAP_SLIST_ENTRY(slap_attribute_type) sat_next; |
Line 639 typedef struct slap_object_class {
|
Line 650 typedef struct slap_object_class {
|
#define SLAP_OC__MASK 0x001F |
#define SLAP_OC__MASK 0x001F |
#define SLAP_OC__END 0x0020 |
#define SLAP_OC__END 0x0020 |
#define SLAP_OC_OPERATIONAL 0x4000 |
#define SLAP_OC_OPERATIONAL 0x4000 |
|
#ifdef LDAP_DEVEL |
|
#define SLAP_OC_HIDE 0x0000 |
|
#else |
#define SLAP_OC_HIDE 0x8000 |
#define SLAP_OC_HIDE 0x8000 |
|
#endif |
|
|
/* |
/* |
* DIT content rule |
* DIT content rule |
Line 703 struct slap_internal_schema {
|
Line 718 struct slap_internal_schema {
|
ObjectClass *si_oc_dynamicObject; |
ObjectClass *si_oc_dynamicObject; |
|
|
#ifdef LDAP_SYNCREPL |
#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 |
#endif |
|
|
/* objectClass attribute descriptions */ |
/* objectClass attribute descriptions */ |
Line 732 struct slap_internal_schema {
|
Line 747 struct slap_internal_schema {
|
#endif /* LDAP_CACHING */ |
#endif /* LDAP_CACHING */ |
|
|
#ifdef LDAP_SYNCREPL |
#ifdef LDAP_SYNCREPL |
AttributeDescription *si_ad_dseType; |
AttributeDescription *si_ad_dseType; |
AttributeDescription *si_ad_syncreplCookie; |
AttributeDescription *si_ad_syncreplCookie; |
#endif |
#endif |
|
|
/* root DSE attribute descriptions */ |
/* root DSE attribute descriptions */ |
Line 1268 typedef BackendDB Backend;
|
Line 1283 typedef BackendDB Backend;
|
#define backends backendDB |
#define backends backendDB |
|
|
#ifdef LDAP_SYNCREPL |
#ifdef LDAP_SYNCREPL |
|
|
struct nonpresent_entry { |
struct nonpresent_entry { |
struct berval *dn; |
struct berval *dn; |
struct berval *ndn; |
struct berval *ndn; |
Line 1577 typedef enum slap_reply_e {
|
Line 1591 typedef enum slap_reply_e {
|
REP_SASL, |
REP_SASL, |
REP_EXTENDED, |
REP_EXTENDED, |
REP_SEARCH, |
REP_SEARCH, |
REP_SEARCHREF |
REP_SEARCHREF, |
|
REP_INTERMEDIATE |
} slap_reply_t; |
} slap_reply_t; |
|
|
typedef struct rep_sasl_s { |
typedef struct rep_sasl_s { |
Line 1983 typedef struct slap_op {
|
Line 1998 typedef struct slap_op {
|
#endif |
#endif |
} Operation; |
} Operation; |
|
|
#define send_ldap_error( op, rs, err, text ) \ |
#define send_ldap_error( op, rs, err, text ) do { \ |
do { (rs)->sr_err = err; (rs)->sr_text = text; \ |
(rs)->sr_err = err; (rs)->sr_text = text; \ |
(op->o_conn->c_send_ldap_result)( op, rs ); } while (0) |
(op->o_conn->c_send_ldap_result)( op, rs ); \ |
#define send_ldap_discon( op, rs, err, text ) \ |
} while (0) |
do { (rs)->sr_err = err; (rs)->sr_text = text; \ |
#define send_ldap_discon( op, rs, err, text ) do { \ |
send_ldap_disconnect( op, rs ); } while (0) |
(rs)->sr_err = err; (rs)->sr_text = text; \ |
typedef void (SEND_LDAP_RESULT)(struct slap_op *op, struct slap_rep *rs); |
send_ldap_disconnect( op, rs ); \ |
typedef int (SEND_SEARCH_ENTRY)(struct slap_op *op, struct slap_rep *rs); |
} while (0) |
typedef int (SEND_SEARCH_REFERENCE)(struct slap_op *op, struct slap_rep *rs); |
|
typedef void (SEND_LDAP_EXTENDED)(struct slap_op *op, struct slap_rep *rs); |
typedef void (SEND_LDAP_RESULT)( |
typedef void (SEND_LDAP_INTERMEDIATE_RESP)(struct slap_op *op, struct slap_rep *rs); |
struct slap_op *op, struct slap_rep *rs); |
|
typedef int (SEND_SEARCH_ENTRY)( |
|
struct slap_op *op, struct slap_rep *rs); |
|
typedef int (SEND_SEARCH_REFERENCE)( |
|
struct slap_op *op, struct slap_rep *rs); |
|
typedef void (SEND_LDAP_EXTENDED)( |
|
struct slap_op *op, struct slap_rep *rs); |
|
typedef void (SEND_LDAP_INTERMEDIATE)( |
|
struct slap_op *op, struct slap_rep *rs); |
|
|
#define send_ldap_result( op, rs ) \ |
#define send_ldap_result( op, rs ) \ |
(op->o_conn->c_send_ldap_result)( op, rs ) |
(op->o_conn->c_send_ldap_result)( op, rs ) |
#define send_search_entry( op, rs ) \ |
#define send_search_entry( op, rs ) \ |
(op->o_conn->c_send_search_entry)( op, rs ) |
(op->o_conn->c_send_search_entry)( op, rs ) |
#define send_search_reference( op, rs ) \ |
#define send_search_reference( op, rs ) \ |
(op->o_conn->c_send_search_reference)( op, rs ) |
(op->o_conn->c_send_search_reference)( op, rs ) |
#define send_ldap_extended( op, rs ) \ |
#define send_ldap_extended( op, rs ) \ |
(op->o_conn->c_send_ldap_extended)( op, rs ) |
(op->o_conn->c_send_ldap_extended)( op, rs ) |
#define send_ldap_intermediate_resp( op, rs ) \ |
#define send_ldap_intermediate( op, rs ) \ |
(op->o_conn->c_send_ldap_intermediate_resp)( op, rs ) |
(op->o_conn->c_send_ldap_intermediate)( op, rs ) |
|
|
/* |
/* |
* Caches the result of a backend_group check for ACL evaluation |
* Caches the result of a backend_group check for ACL evaluation |
Line 2099 typedef struct slap_conn {
|
Line 2123 typedef struct slap_conn {
|
SEND_SEARCH_ENTRY *c_send_search_entry; |
SEND_SEARCH_ENTRY *c_send_search_entry; |
SEND_SEARCH_REFERENCE *c_send_search_reference; |
SEND_SEARCH_REFERENCE *c_send_search_reference; |
SEND_LDAP_EXTENDED *c_send_ldap_extended; |
SEND_LDAP_EXTENDED *c_send_ldap_extended; |
#ifdef LDAP_RES_INTERMEDIATE_RESP |
#ifdef LDAP_RES_INTERMEDIATE |
SEND_LDAP_INTERMEDIATE_RESP *c_send_ldap_intermediate_resp; |
SEND_LDAP_INTERMEDIATE *c_send_ldap_intermediate; |
#endif |
#endif |
|
|
} Connection; |
} Connection; |
|
|
#if defined(LDAP_SYSLOG) && defined(LDAP_DEBUG) |
#if defined(LDAP_SYSLOG) && defined(LDAP_DEBUG) |
Line 2185 enum {
|
Line 2209 enum {
|
#define SLAP_SEARCH_MAX_CTRLS 10 |
#define SLAP_SEARCH_MAX_CTRLS 10 |
#endif |
#endif |
|
|
#define SLAP_CTRL_FRONTEND 0x80000000U |
#ifdef LDAP_DEVEL |
#define SLAP_CTRL_FRONTEND_SEARCH 0x01000000U /* for NOOP */ |
#define SLAP_CTRL_HIDE 0x00000000U |
|
#else |
|
#define SLAP_CTRL_HIDE 0x80000000U |
|
#endif |
|
|
|
#define SLAP_CTRL_FRONTEND 0x00800000U |
|
#define SLAP_CTRL_FRONTEND_SEARCH 0x00010000U /* for NOOP */ |
|
|
#define SLAP_CTRL_OPFLAGS 0x0000FFFFU |
#define SLAP_CTRL_OPFLAGS 0x0000FFFFU |
#define SLAP_CTRL_ABANDON 0x00000001U |
#define SLAP_CTRL_ABANDON 0x00000001U |