X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fslap.h;h=2e7d0b28e43594ec313a3605193c8a77a360301b;hb=3b2cef17eb8537b3095c78448b785995f3ea148b;hp=567f35665447784b26cb92b9be109c0269f19b59;hpb=198634e945541df095e0155b4cffc6ad637af6e1;p=openldap diff --git a/servers/slapd/slap.h b/servers/slapd/slap.h index 567f356654..2e7d0b28e4 100644 --- a/servers/slapd/slap.h +++ b/servers/slapd/slap.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2009 The OpenLDAP Foundation. + * Copyright 1998-2010 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -65,6 +65,10 @@ LDAP_BEGIN_DECL #define SLAP_CONTROL_X_SESSION_TRACKING #define SLAP_CONTROL_X_WHATFAILED #define SLAP_CONFIG_DELETE +#define SLAP_AUXPROP_DONTUSECOPY +#ifndef SLAP_SCHEMA_EXPOSE +#define SLAP_SCHEMA_EXPOSE +#endif #endif #define LDAP_DYNAMIC_OBJECTS @@ -412,7 +416,7 @@ struct Syntax { #define SLAP_SYNTAX_BLOB 0x0001U /* syntax treated as blob (audio) */ #define SLAP_SYNTAX_BINARY 0x0002U /* binary transfer required (certificate) */ #define SLAP_SYNTAX_BER 0x0004U /* stored in BER encoding (certificate) */ -#ifdef LDAP_DEVEL +#ifdef SLAP_SCHEMA_EXPOSE #define SLAP_SYNTAX_HIDE 0x0000U /* publish everything */ #else #define SLAP_SYNTAX_HIDE 0x8000U /* hide (do not publish) */ @@ -519,7 +523,7 @@ struct MatchingRule { slap_mask_t smr_usage; -#ifdef LDAP_DEVEL +#ifdef SLAP_SCHEMA_EXPOSE #define SLAP_MR_HIDE 0x0000U #else #define SLAP_MR_HIDE 0x8000U @@ -690,7 +694,7 @@ struct AttributeType { #define SLAP_AT_NONE 0x0000U #define SLAP_AT_ABSTRACT 0x0100U /* cannot be instantiated */ #define SLAP_AT_FINAL 0x0200U /* cannot be subtyped */ -#ifdef LDAP_DEVEL +#ifdef SLAP_SCHEMA_EXPOSE #define SLAP_AT_HIDE 0x0000U /* publish everything */ #else #define SLAP_AT_HIDE 0x8000U /* hide attribute */ @@ -788,7 +792,7 @@ struct ObjectClass { #define SLAP_OC__MASK 0x00FF #define SLAP_OC__END 0x0100 #define SLAP_OC_OPERATIONAL 0x4000 -#ifdef LDAP_DEVEL +#ifdef SLAP_SCHEMA_EXPOSE #define SLAP_OC_HIDE 0x0000 #else #define SLAP_OC_HIDE 0x8000 @@ -1282,7 +1286,9 @@ typedef enum slap_style_e { ACL_STYLE_SELF, ACL_STYLE_IP, ACL_STYLE_IPV6, - ACL_STYLE_PATH + ACL_STYLE_PATH, + + ACL_STYLE_NONE } slap_style_t; typedef struct AuthorizationInformation { @@ -1792,6 +1798,7 @@ struct BackendDB { #define be_entry_open bd_info->bi_tool_entry_open #define be_entry_close bd_info->bi_tool_entry_close #define be_entry_first bd_info->bi_tool_entry_first +#define be_entry_first_x bd_info->bi_tool_entry_first_x #define be_entry_next bd_info->bi_tool_entry_next #define be_entry_reindex bd_info->bi_tool_entry_reindex #define be_entry_get bd_info->bi_tool_entry_get @@ -1930,6 +1937,7 @@ struct BackendDB { struct slap_limits **be_limits; /* regex-based size and time limits */ AccessControl *be_acl; /* access control list for this backend */ slap_access_t be_dfltaccess; /* access given if no acl matches */ + AttributeName *be_extra_anlist; /* attributes that need to be added to search requests (ITS#6513) */ /* Replica Information */ struct berval be_update_ndn; /* allowed to make changes (in replicas) */ @@ -2018,7 +2026,7 @@ typedef struct req_abandon_s { ber_int_t rs_msgid; } req_abandon_s; -#ifdef LDAP_DEVEL +#ifdef SLAP_SCHEMA_EXPOSE #define SLAP_EXOP_HIDE 0x0000 #else #define SLAP_EXOP_HIDE 0x8000 @@ -2162,6 +2170,7 @@ typedef BI_conn_func BI_connection_destroy; typedef int (BI_tool_entry_open) LDAP_P(( BackendDB *be, int mode )); typedef int (BI_tool_entry_close) LDAP_P(( BackendDB *be )); typedef ID (BI_tool_entry_first) LDAP_P(( BackendDB *be )); +typedef ID (BI_tool_entry_first_x) LDAP_P(( BackendDB *be, struct berval *base, int scope, Filter *f )); typedef ID (BI_tool_entry_next) LDAP_P(( BackendDB *be )); typedef Entry* (BI_tool_entry_get) LDAP_P(( BackendDB *be, ID id )); typedef ID (BI_tool_entry_put) LDAP_P(( BackendDB *be, Entry *e, @@ -2261,7 +2270,8 @@ struct BackendInfo { /* hooks for slap tools */ BI_tool_entry_open *bi_tool_entry_open; BI_tool_entry_close *bi_tool_entry_close; - BI_tool_entry_first *bi_tool_entry_first; + BI_tool_entry_first *bi_tool_entry_first; /* deprecated */ + BI_tool_entry_first_x *bi_tool_entry_first_x; BI_tool_entry_next *bi_tool_entry_next; BI_tool_entry_get *bi_tool_entry_get; BI_tool_entry_put *bi_tool_entry_put; @@ -2977,7 +2987,7 @@ struct Listener { /* number of response controls supported */ #define SLAP_MAX_RESPONSE_CONTROLS 6 -#ifdef LDAP_DEVEL +#ifdef SLAP_SCHEMA_EXPOSE #define SLAP_CTRL_HIDE 0x00000000U #else #define SLAP_CTRL_HIDE 0x80000000U @@ -3013,7 +3023,6 @@ typedef int (*SLAP_ENTRY_INFO_FN) LDAP_P(( void *arg, Entry *e )); #define SLAP_SLAB_SIZE (1024*1024) #define SLAP_SLAB_STACK 1 -#define SLAP_SLAB_SOBLOCK 64 #define SLAP_ZONE_ALLOC 1 #undef SLAP_ZONE_ALLOC @@ -3243,25 +3252,6 @@ struct ComponentSyntaxInfo { #endif /* LDAP_COMP_MATCH */ -/* slab heap data structures */ - -struct slab_object { - void *so_ptr; - int so_blockhead; - LDAP_LIST_ENTRY(slab_object) so_link; -}; - -struct slab_heap { - void *sh_base; - void *sh_last; - void *sh_end; - int sh_stack; - int sh_maxorder; - unsigned char **sh_map; - LDAP_LIST_HEAD( sh_freelist, slab_object ) *sh_free; - LDAP_LIST_HEAD( sh_so, slab_object ) sh_sopool; -}; - #ifdef SLAP_ZONE_ALLOC #define SLAP_ZONE_SIZE 0x80000 /* 512KB */ #define SLAP_ZONE_SHIFT 19