]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/proto-slap.h
Fix ITS#3424
[openldap] / servers / slapd / proto-slap.h
index 8e09977b87720eada118df85dcd6740e6971913a..31b64e6ce960811487a4e7944a70658981b1c237 100644 (file)
@@ -46,6 +46,12 @@ LDAP_SLAPD_F (int) acl_check_modlist LDAP_P((
 
 LDAP_SLAPD_F (void) acl_append( AccessControl **l, AccessControl *a );
 
+#ifdef SLAP_DYNACL
+LDAP_SLAPD_F (int) slap_dynacl_register LDAP_P(( slap_dynacl_t *da ));
+LDAP_SLAPD_F (slap_dynacl_t *) slap_dynacl_get LDAP_P(( const char *name ));
+#endif /* SLAP_DYNACL */
+LDAP_SLAPD_F (int) acl_init LDAP_P(( void ));
+
 /*
  * aclparse.c
  */
@@ -62,6 +68,7 @@ LDAP_SLAPD_F (slap_mask_t) str2accessmask LDAP_P(( const char *str ));
 LDAP_SLAPD_F (void) acl_destroy LDAP_P(( AccessControl*, AccessControl* ));
 LDAP_SLAPD_F (void) acl_free LDAP_P(( AccessControl *a ));
 
+
 /*
  * ad.c
  */
@@ -300,9 +307,12 @@ LDAP_SLAPD_F (int) glue_sub_init( void );
  * backover.c
  */
 
-LDAP_SLAPD_F (int) overlay_register( slap_overinst *on );
-LDAP_SLAPD_F (int) overlay_config( BackendDB *be, const char *ov );
-LDAP_SLAPD_F (slap_overinst *) overlay_next( slap_overinst *on );
+LDAP_SLAPD_F (int) overlay_register LDAP_P(( slap_overinst *on ));
+LDAP_SLAPD_F (int) overlay_config LDAP_P(( BackendDB *be, const char *ov ));
+LDAP_SLAPD_F (slap_overinst *) overlay_next LDAP_P(( slap_overinst *on ));
+LDAP_SLAPD_F (slap_overinst *) overlay_find LDAP_P(( const char *name ));
+LDAP_SLAPD_F (int) overlay_is_over LDAP_P(( BackendDB *be ));
+LDAP_SLAPD_F (int) overlay_is_inst LDAP_P(( BackendDB *be, const char *name ));
 
 /*
  * ch_malloc.c
@@ -342,14 +352,35 @@ LDAP_SLAPD_F (int) componentFilterMatch LDAP_P((
        struct berval *value, 
        void *assertedValue ));
 
+LDAP_SLAPD_F (int) directoryComponentsMatch LDAP_P((
+        int *matchp,
+        slap_mask_t flags,
+        Syntax *syntax,
+        MatchingRule *mr,
+        struct berval *value,
+        void *assertedValue ));
+
+LDAP_SLAPD_F (int) allComponentsMatch LDAP_P((
+        int *matchp,
+        slap_mask_t flags,
+        Syntax *syntax,
+        MatchingRule *mr,
+        struct berval *value,
+        void *assertedValue ));
+                                                                          
 LDAP_SLAPD_F (int) componentFilterValidate LDAP_P(( 
        Syntax *syntax,
        struct berval* bv ));
+
+LDAP_SLAPD_F (int) allComponentsValidate LDAP_P((
+        Syntax *syntax,
+        struct berval* bv ));
 #endif
 
 /*
  * controls.c
  */
+LDAP_SLAPD_V( struct slap_control_ids ) slap_cids;
 LDAP_SLAPD_F (void) slap_free_ctrls LDAP_P((
        Operation *op,
        LDAPControl **ctrls ));
@@ -361,11 +392,13 @@ LDAP_SLAPD_F (int) register_supported_control LDAP_P((
        const char *controloid,
        slap_mask_t controlmask,
        char **controlexops,
-       SLAP_CTRL_PARSE_FN *controlparsefn ));
+       SLAP_CTRL_PARSE_FN *controlparsefn,
+       int *controlcid ));
 LDAP_SLAPD_F (int) slap_controls_init LDAP_P ((void));
 LDAP_SLAPD_F (void) controls_destroy LDAP_P ((void));
 LDAP_SLAPD_F (int) controls_root_dse_info LDAP_P ((Entry *e));
 LDAP_SLAPD_F (int) get_supported_controls LDAP_P (( char ***ctrloidsp, slap_mask_t **ctrlmasks ));
+LDAP_SLAPD_F (int) slap_find_control_id LDAP_P (( const char *oid, int *cid ));
 
 /*
  * config.c
@@ -376,6 +409,10 @@ LDAP_SLAPD_F (char **) slap_str2clist LDAP_P((
                                                char ***,
                                                char *,
                                                const char * ));
+#ifdef LDAP_SLAPI
+LDAP_SLAPD_V (int) slapi_plugins_used;
+#endif
+
 /*
  * connection.c
  */
@@ -445,11 +482,13 @@ LDAP_SLAPD_F (ContentRule *) cr_bvfind LDAP_P((
 
 LDAP_SLAPD_V( const struct berval ) slap_ldapsync_bv;
 LDAP_SLAPD_V( const struct berval ) slap_ldapsync_cn_bv;
-LDAP_SLAPD_F (void) slap_get_commit_csn LDAP_P(( Operation *, struct berval * ));
+LDAP_SLAPD_F (void) slap_get_commit_csn LDAP_P((
+       Operation *, struct berval *maxcsn, struct berval *curcsn ));
 LDAP_SLAPD_F (void) slap_rewind_commit_csn LDAP_P(( Operation * ));
 LDAP_SLAPD_F (void) slap_graduate_commit_csn LDAP_P(( Operation * ));
 LDAP_SLAPD_F (Entry *) slap_create_context_csn_entry LDAP_P(( Backend *, struct berval *));
 LDAP_SLAPD_F (int) slap_get_csn LDAP_P(( Operation *, char *, int, struct berval *, int ));
+LDAP_SLAPD_F (void) slap_queue_csn LDAP_P(( Operation *, struct berval * ));
 
 /*
  * daemon.c
@@ -470,6 +509,12 @@ LDAP_SLAPD_F (void) slapd_clr_write LDAP_P((ber_socket_t s, int wake));
 LDAP_SLAPD_F (void) slapd_set_read LDAP_P((ber_socket_t s, int wake));
 LDAP_SLAPD_F (void) slapd_clr_read LDAP_P((ber_socket_t s, int wake));
 
+LDAP_SLAPD_V (volatile sig_atomic_t) slapd_abrupt_shutdown;
+LDAP_SLAPD_V (volatile sig_atomic_t) slapd_shutdown;
+LDAP_SLAPD_V (int) slapd_register_slp;
+LDAP_SLAPD_V (slap_ssf_t) local_ssf;
+LDAP_SLAPD_V (struct runqueue_s) slapd_rq;
+
 /*
  * dn.c
  */
@@ -585,6 +630,8 @@ LDAP_SLAPD_F (Entry *) entry_dup LDAP_P(( Entry *e ));
  */
 LDAP_SLAPD_F (int) exop_root_dse_info LDAP_P ((Entry *e));
 
+#define exop_is_write( op )    ((op->ore_flags & SLAP_EXOP_WRITES) != 0)
+
 LDAP_SLAPD_V( const struct berval ) slap_EXOP_CANCEL;
 LDAP_SLAPD_V( const struct berval ) slap_EXOP_WHOAMI;
 LDAP_SLAPD_V( const struct berval ) slap_EXOP_MODIFY_PASSWD;
@@ -655,6 +702,8 @@ LDAP_SLAPD_V( const struct berval ) slap_empty_bv;
 LDAP_SLAPD_V( const struct berval ) slap_unknown_bv;
 LDAP_SLAPD_V( const struct berval ) slap_true_bv;
 LDAP_SLAPD_V( const struct berval ) slap_false_bv;
+LDAP_SLAPD_V( struct slap_sync_cookie_s ) slap_sync_cookie;
+LDAP_SLAPD_V( void * ) slap_tls_ctx;
 
 /*
  * index.c
@@ -664,36 +713,24 @@ LDAP_SLAPD_F (int) slap_str2index LDAP_P(( const char *str, slap_mask_t *idx ));
 /*
  * init.c
  */
-LDAP_SLAPD_V( int ) ldap_syslog;
-LDAP_SLAPD_V( int ) ldap_syslog_level;
-
 LDAP_SLAPD_F (int)     slap_init LDAP_P((int mode, const char* name));
 LDAP_SLAPD_F (int)     slap_startup LDAP_P(( Backend *be ));
 LDAP_SLAPD_F (int)     slap_shutdown LDAP_P(( Backend *be ));
 LDAP_SLAPD_F (int)     slap_destroy LDAP_P((void));
 
+LDAP_SLAPD_V (char *)  slap_known_controls[];
+
 /*
  * kerberos.c
  */
 #ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND
-LDAP_SLAPD_F (int)     krbv4_ldap_auth();
+LDAP_SLAPD_V (char *)  ldap_srvtab;
+LDAP_SLAPD_V (int)     krbv4_ldap_auth();
 #endif
 
 /*
  * ldapsync.c
  */
-LDAP_SLAPD_F (int) slap_build_sync_state_ctrl LDAP_P((
-                               Operation *, SlapReply *, Entry *, int, LDAPControl **,
-                               int, int, struct berval * ));
-LDAP_SLAPD_F (int) slap_build_sync_done_ctrl LDAP_P((
-                               Operation *, SlapReply *, LDAPControl **,
-                               int, int, struct berval *, int ));
-LDAP_SLAPD_F (int) slap_build_sync_state_ctrl_from_slog LDAP_P((
-                               Operation *, SlapReply *, struct slog_entry *, int,
-                               LDAPControl **, int, int, struct berval * ));
-LDAP_SLAPD_F (int) slap_send_syncinfo LDAP_P((
-                               Operation *, SlapReply *, int,
-                               struct berval *, int, BerVarray, int ));
 LDAP_SLAPD_F (void) slap_compose_sync_cookie LDAP_P((
                                Operation *, struct berval *, struct berval *, int, int ));
 LDAP_SLAPD_F (void) slap_sync_cookie_free LDAP_P((
@@ -856,6 +893,8 @@ LDAP_SLAPD_F (ObjectClass *) oc_find LDAP_P((
        const char *ocname));
 LDAP_SLAPD_F (ObjectClass *) oc_bvfind LDAP_P((
        struct berval *ocname));
+LDAP_SLAPD_F (ObjectClass *) oc_bvfind_undef LDAP_P((
+       struct berval *ocname));
 LDAP_SLAPD_F (int) is_object_subclass LDAP_P((
        ObjectClass *sup,
        ObjectClass *sub ));
@@ -1136,6 +1175,7 @@ LDAP_SLAPD_F( int ) mods_structural_class(
 /*
  * schema_init.c
  */
+LDAP_SLAPD_V( int ) schema_init_done;
 LDAP_SLAPD_F (int) slap_schema_init LDAP_P((void));
 LDAP_SLAPD_F (void) schema_destroy LDAP_P(( void ));
 
@@ -1188,7 +1228,8 @@ LDAP_SLAPD_F (void) slap_sl_free LDAP_P((
 LDAP_SLAPD_V (BerMemoryFunctions) slap_sl_mfuncs;
 
 LDAP_SLAPD_F (void) slap_sl_mem_init LDAP_P(( void ));
-LDAP_SLAPD_F (void *) slap_sl_mem_create LDAP_P(( ber_len_t size, void *ctx ));
+LDAP_SLAPD_F (void *) slap_sl_mem_create LDAP_P((
+                                               ber_len_t size, int stack, void *ctx ));
 LDAP_SLAPD_F (void) slap_sl_mem_detach LDAP_P(( void *ctx, void *memctx ));
 LDAP_SLAPD_F (void) slap_sl_mem_destroy LDAP_P(( void *key, void *data ));
 LDAP_SLAPD_F (void *) slap_sl_context LDAP_P(( void *ptr ));
@@ -1215,8 +1256,9 @@ LDAP_SLAPD_F (int) syncrepl_message_to_entry LDAP_P((
                                        Modifications **, Entry **, int ));
 LDAP_SLAPD_F (int) syncrepl_entry LDAP_P((
                                        syncinfo_t *, Operation*, Entry*,
-                                       Modifications*,int, struct berval*,
-                                       struct sync_cookie * ));
+                                       Modifications**,int, struct berval*,
+                                       struct sync_cookie *,
+                                       struct berval * ));
 LDAP_SLAPD_F (void) syncrepl_updateCookie LDAP_P((
                                        syncinfo_t *, Operation *, struct berval *,
                                        struct sync_cookie * ));
@@ -1294,13 +1336,59 @@ LDAP_SLAPD_F (int) value_add_one LDAP_P((
 /*
  * Other...
  */
+LDAP_SLAPD_V (unsigned int) index_substr_if_minlen;
+LDAP_SLAPD_V (unsigned int) index_substr_if_maxlen;
+LDAP_SLAPD_V (unsigned int) index_substr_any_len;
+LDAP_SLAPD_V (unsigned int) index_substr_any_step;
+
+LDAP_SLAPD_V (ber_len_t) sockbuf_max_incoming;
+LDAP_SLAPD_V (ber_len_t) sockbuf_max_incoming_auth;
+LDAP_SLAPD_V (int)             slap_conn_max_pending;
+LDAP_SLAPD_V (int)             slap_conn_max_pending_auth;
+
+LDAP_SLAPD_V (slap_mask_t)     global_allows;
+LDAP_SLAPD_V (slap_mask_t)     global_disallows;
+
+LDAP_SLAPD_V (BerVarray)       default_referral;
 LDAP_SLAPD_V (const char)      Versionstr[];
 
+LDAP_SLAPD_V (int)             global_gentlehup;
+LDAP_SLAPD_V (int)             global_idletimeout;
+LDAP_SLAPD_V (int)             global_schemacheck;
+LDAP_SLAPD_V (char *)  global_host;
+LDAP_SLAPD_V (char *)  global_realm;
+LDAP_SLAPD_V (char **) default_passwd_hash;
 LDAP_SLAPD_V (int)             lber_debug;
+LDAP_SLAPD_V (int)             ldap_syslog;
+LDAP_SLAPD_V (struct berval)   default_search_base;
+LDAP_SLAPD_V (struct berval)   default_search_nbase;
+
+LDAP_SLAPD_V (slap_counters_t) slap_counters;
+
+LDAP_SLAPD_V (char *)          slapd_pid_file;
+LDAP_SLAPD_V (char *)          slapd_args_file;
+LDAP_SLAPD_V (time_t)          starttime;
 
 /* use time(3) -- no mutex */
 #define slap_get_time()        time( NULL )
 
+LDAP_SLAPD_V (ldap_pvt_thread_pool_t)  connection_pool;
+LDAP_SLAPD_V (int)                     connection_pool_max;
+
+LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) entry2str_mutex;
+LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) replog_mutex;
+
+#if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD )
+LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) passwd_mutex;
+#endif
+#ifndef HAVE_GMTIME_R
+LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) gmtime_mutex;
+#endif
+
+LDAP_SLAPD_V (ber_socket_t)    dtblsize;
+
+LDAP_SLAPD_V (int)             use_reverse_lookup;
+
 LDAP_SLAPD_V (struct berval)   AllUser;
 LDAP_SLAPD_V (struct berval)   AllOper;
 LDAP_SLAPD_V (struct berval)   NoAttrs;