X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fproto-slap.h;h=198303d786f052c3e9c835e5b3c0fd1a7d6d63d4;hb=5fcc9285fb8c549a5264921a2b61cfc40803d720;hp=f9cb9e9ac73ab34dda23483826004b995ffa1efe;hpb=e153f41e907c79e37ad9fdb33e85a39bf9b6d084;p=openldap diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index f9cb9e9ac7..198303d786 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2009 The OpenLDAP Foundation. + * Copyright 1998-2012 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -129,6 +129,7 @@ LDAP_SLAPD_F (int) slap_bv2ad LDAP_P(( const char **text )); LDAP_SLAPD_F (void) ad_destroy LDAP_P(( AttributeDescription * )); +LDAP_SLAPD_F (int) ad_keystring LDAP_P(( struct berval *bv )); #define ad_cmp(l,r) (((l)->ad_cname.bv_len < (r)->ad_cname.bv_len) \ ? -1 : (((l)->ad_cname.bv_len > (r)->ad_cname.bv_len) \ @@ -428,6 +429,8 @@ LDAP_SLAPD_F (int) backend_operational LDAP_P(( SlapReply *rs )); +LDAP_SLAPD_F (ID) backend_tool_entry_first LDAP_P(( BackendDB *be )); + LDAP_SLAPD_V(BackendInfo) slap_binfo[]; /* @@ -480,7 +483,10 @@ LDAP_SLAPD_F (void) overlay_move LDAP_P(( BackendDB *be, slap_overinst *on, int idx )); #ifdef SLAP_CONFIG_DELETE LDAP_SLAPD_F (void) overlay_remove LDAP_P(( - BackendDB *be, slap_overinst *on )); + BackendDB *be, slap_overinst *on, Operation *op )); +LDAP_SLAPD_F (void) overlay_unregister_control LDAP_P(( + BackendDB *be, + const char *oid )); #endif /* SLAP_CONFIG_DELETE */ LDAP_SLAPD_F (int) overlay_callback_after_backover LDAP_P(( Operation *op, slap_callback *sc, int append )); @@ -513,6 +519,15 @@ LDAP_SLAPD_F (void) ch_free LDAP_P(( void * )); #define free ch_free #endif +/* + * compare.c + */ + +LDAP_SLAPD_F (int) slap_compare_entry LDAP_P(( + Operation *op, + Entry *e, + AttributeAssertion *ava )); + /* * component.c */ @@ -636,6 +651,11 @@ LDAP_SLAPD_F (int) get_ctrls LDAP_P(( Operation *op, SlapReply *rs, int senderrors )); +LDAP_SLAPD_F (int) get_ctrls2 LDAP_P(( + Operation *op, + SlapReply *rs, + int senderrors, + ber_tag_t ctag )); LDAP_SLAPD_F (int) register_supported_control2 LDAP_P(( const char *controloid, slap_mask_t controlmask, @@ -645,6 +665,10 @@ LDAP_SLAPD_F (int) register_supported_control2 LDAP_P(( int *controlcid )); #define register_supported_control(oid, mask, exops, fn, cid) \ register_supported_control2((oid), (mask), (exops), (fn), 0, (cid)) +#ifdef SLAP_CONFIG_DELETE +LDAP_SLAPD_F (int) unregister_supported_control LDAP_P(( + const char* controloid )); +#endif /* SLAP_CONFIG_DELETE */ 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)); @@ -696,6 +720,10 @@ LDAP_SLAPD_F (int) verbs_to_mask LDAP_P(( int argc, char *argv[], slap_verbmasks *v, slap_mask_t *m )); LDAP_SLAPD_F (int) mask_to_verbs LDAP_P(( slap_verbmasks *v, slap_mask_t m, BerVarray *bva )); +LDAP_SLAPD_F (int) mask_to_verbstring LDAP_P(( + slap_verbmasks *v, slap_mask_t m, char delim, struct berval *bv )); +LDAP_SLAPD_F (int) verbstring_to_mask LDAP_P(( + slap_verbmasks *v, char *str, char delim, slap_mask_t *m )); LDAP_SLAPD_F (int) enum_to_verb LDAP_P(( slap_verbmasks *v, slap_mask_t m, struct berval *bv )); LDAP_SLAPD_F (int) slap_verbmasks_init LDAP_P(( slap_verbmasks **vp, slap_verbmasks *v )); @@ -732,6 +760,7 @@ LDAP_SLAPD_F (int) connections_init LDAP_P((void)); LDAP_SLAPD_F (int) connections_shutdown LDAP_P((void)); LDAP_SLAPD_F (int) connections_destroy LDAP_P((void)); LDAP_SLAPD_F (int) connections_timeout_idle LDAP_P((time_t)); +LDAP_SLAPD_F (void) connections_drop LDAP_P((void)); LDAP_SLAPD_F (Connection *) connection_client_setup LDAP_P(( ber_socket_t s, @@ -814,10 +843,13 @@ LDAP_SLAPD_F (ContentRule *) cr_bvfind LDAP_P(( */ LDAP_SLAPD_V( int ) slap_serverID; +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 *maxcsn, int *foundit )); 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 *, struct berval *, int )); LDAP_SLAPD_F (void) slap_queue_csn LDAP_P(( Operation *, struct berval * )); @@ -831,13 +863,14 @@ LDAP_SLAPD_F (int) slapd_daemon(void); LDAP_SLAPD_F (Listener **) slapd_get_listeners LDAP_P((void)); LDAP_SLAPD_F (void) slapd_remove LDAP_P((ber_socket_t s, Sockbuf *sb, int wasactive, int wake, int locked )); -LDAP_SLAPD_F (void) slapd_sd_lock LDAP_P((void)); -LDAP_SLAPD_F (void) slapd_sd_unlock LDAP_P((void)); LDAP_SLAPD_F (RETSIGTYPE) slap_sig_shutdown LDAP_P((int sig)); LDAP_SLAPD_F (RETSIGTYPE) slap_sig_wake LDAP_P((int sig)); LDAP_SLAPD_F (void) slap_wake_listener LDAP_P((void)); +LDAP_SLAPD_F (void) slap_suspend_listeners LDAP_P((void)); +LDAP_SLAPD_F (void) slap_resume_listeners LDAP_P((void)); + LDAP_SLAPD_F (void) slapd_set_write LDAP_P((ber_socket_t s, int wake)); 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)); @@ -851,6 +884,12 @@ LDAP_SLAPD_V (int) slapd_register_slp; LDAP_SLAPD_V (const char *) slapd_slp_attrs; LDAP_SLAPD_V (slap_ssf_t) local_ssf; LDAP_SLAPD_V (struct runqueue_s) slapd_rq; +LDAP_SLAPD_V (int) slapd_daemon_threads; +LDAP_SLAPD_V (int) slapd_daemon_mask; +#ifdef LDAP_TCP_BUFFER +LDAP_SLAPD_V (int) slapd_tcp_rmem; +LDAP_SLAPD_V (int) slapd_tcp_wmem; +#endif /* LDAP_TCP_BUFFER */ #ifdef HAVE_WINSOCK LDAP_SLAPD_F (ber_socket_t) slapd_socknew(ber_socket_t s); @@ -970,12 +1009,15 @@ LDAP_SLAPD_F (int) entry_destroy LDAP_P((void)); LDAP_SLAPD_F (Entry *) str2entry LDAP_P(( char *s )); LDAP_SLAPD_F (Entry *) str2entry2 LDAP_P(( char *s, int checkvals )); LDAP_SLAPD_F (char *) entry2str LDAP_P(( Entry *e, int *len )); +LDAP_SLAPD_F (char *) entry2str_wrap LDAP_P(( Entry *e, int *len, ber_len_t wrap )); LDAP_SLAPD_F (ber_len_t) entry_flatsize LDAP_P(( Entry *e, int norm )); LDAP_SLAPD_F (void) entry_partsize LDAP_P(( Entry *e, ber_len_t *len, int *nattrs, int *nvals, int norm )); LDAP_SLAPD_F (int) entry_header LDAP_P(( EntryHeader *eh )); +LDAP_SLAPD_F (int) entry_decode_dn LDAP_P(( + EntryHeader *eh, struct berval *dn, struct berval *ndn )); #ifdef SLAP_ZONE_ALLOC LDAP_SLAPD_F (int) entry_decode LDAP_P(( EntryHeader *eh, Entry **e, void *ctx )); @@ -991,7 +1033,7 @@ LDAP_SLAPD_F (int) entry_cmp LDAP_P(( Entry *a, Entry *b )); LDAP_SLAPD_F (int) entry_dn_cmp LDAP_P(( const void *v_a, const void *v_b )); LDAP_SLAPD_F (int) entry_id_cmp LDAP_P(( const void *v_a, const void *v_b )); LDAP_SLAPD_F (Entry *) entry_dup LDAP_P(( Entry *e )); -LDAP_SLAPD_F (int) entry_dup_to LDAP_P(( Entry *src, Entry *dest )); +LDAP_SLAPD_F (Entry *) entry_dup2 LDAP_P(( Entry *dest, Entry *src )); LDAP_SLAPD_F (Entry *) entry_dup_bv LDAP_P(( Entry *e )); LDAP_SLAPD_F (Entry *) entry_alloc LDAP_P((void)); LDAP_SLAPD_F (int) entry_prealloc LDAP_P((int num)); @@ -1024,6 +1066,10 @@ LDAP_SLAPD_F (int) load_extop2 LDAP_P(( unsigned tmpflags )); #define load_extop(ext_oid, flags, ext_main) \ load_extop2((ext_oid), (flags), (ext_main), 0) +LDAP_SLAPD_F (int) unload_extop LDAP_P(( + const struct berval *ext_oid, + SLAP_EXTOP_MAIN_FN *ext_main, + unsigned tmpflags )); LDAP_SLAPD_F (int) extops_init LDAP_P(( void )); @@ -1058,6 +1104,8 @@ LDAP_SLAPD_F (void) filter_free LDAP_P(( Filter *f )); LDAP_SLAPD_F (void) filter_free_x LDAP_P(( Operation *op, Filter *f, int freeme )); LDAP_SLAPD_F (void) filter2bv LDAP_P(( Filter *f, struct berval *bv )); LDAP_SLAPD_F (void) filter2bv_x LDAP_P(( Operation *op, Filter *f, struct berval *bv )); +LDAP_SLAPD_F (void) filter2bv_undef LDAP_P(( Filter *f, int noundef, struct berval *bv )); +LDAP_SLAPD_F (void) filter2bv_undef_x LDAP_P(( Operation *op, Filter *f, int noundef, struct berval *bv )); LDAP_SLAPD_F (Filter *) filter_dup LDAP_P(( Filter *f, void *memctx )); LDAP_SLAPD_F (int) get_vrFilter LDAP_P(( Operation *op, BerElement *ber, @@ -1129,6 +1177,10 @@ LDAP_SLAPD_F (int) slap_parse_csn_sid LDAP_P(( struct berval * )); LDAP_SLAPD_F (int *) slap_parse_csn_sids LDAP_P(( BerVarray, int, void *memctx )); +LDAP_SLAPD_F (int) slap_sort_csn_sids LDAP_P(( + BerVarray, int *, int, void *memctx )); +LDAP_SLAPD_F (void) slap_insert_csn_sids LDAP_P(( + struct sync_cookie *ck, int, int, struct berval * )); LDAP_SLAPD_F (int) slap_parse_sync_cookie LDAP_P(( struct sync_cookie *, void *memctx )); LDAP_SLAPD_F (int) slap_init_sync_cookie_ctxcsn LDAP_P(( @@ -1505,6 +1557,45 @@ LDAP_SLAPD_F (int) get_alias_dn LDAP_P(( /* * result.c */ +#if USE_RS_ASSERT /*defined(USE_RS_ASSERT)?(USE_RS_ASSERT):defined(LDAP_TEST)*/ +#ifdef __GNUC__ +# define RS_FUNC_ __FUNCTION__ +#elif defined(__STDC_VERSION__) && (__STDC_VERSION__) >= 199901L +# define RS_FUNC_ __func__ +#else +# define rs_assert_(file, line, func, cond) rs_assert__(file, line, cond) +#endif +LDAP_SLAPD_V(int) rs_suppress_assert; +LDAP_SLAPD_F(void) rs_assert_(const char*, unsigned, const char*, const char*); +# define RS_ASSERT(cond) ((rs_suppress_assert > 0 || (cond)) \ + ? (void) 0 : rs_assert_(__FILE__, __LINE__, RS_FUNC_, #cond)) +#else +# define RS_ASSERT(cond) ((void) 0) +# define rs_assert_ok(rs) ((void) (rs)) +# define rs_assert_ready(rs) ((void) (rs)) +# define rs_assert_done(rs) ((void) (rs)) +#endif +LDAP_SLAPD_F (void) (rs_assert_ok) LDAP_P(( const SlapReply *rs )); +LDAP_SLAPD_F (void) (rs_assert_ready) LDAP_P(( const SlapReply *rs )); +LDAP_SLAPD_F (void) (rs_assert_done) LDAP_P(( const SlapReply *rs )); + +#define rs_reinit(rs, type) do { \ + SlapReply *const rsRI = (rs); \ + rs_assert_done( rsRI ); \ + rsRI->sr_type = (type); \ + /* Got type before memset in case of rs_reinit(rs, rs->sr_type) */ \ + assert( !offsetof( SlapReply, sr_type ) ); \ + memset( (slap_reply_t *) rsRI + 1, 0, \ + sizeof(*rsRI) - sizeof(slap_reply_t) ); \ + } while ( 0 ) +LDAP_SLAPD_F (void) (rs_reinit) LDAP_P(( SlapReply *rs, slap_reply_t type )); +LDAP_SLAPD_F (void) rs_flush_entry LDAP_P(( Operation *op, + SlapReply *rs, slap_overinst *on )); +LDAP_SLAPD_F (void) rs_replace_entry LDAP_P(( Operation *op, + SlapReply *rs, slap_overinst *on, Entry *e )); +LDAP_SLAPD_F (int) rs_entry2modifiable LDAP_P(( Operation *op, + SlapReply *rs, slap_overinst *on )); +#define rs_ensure_entry_modifiable rs_entry2modifiable /* older name */ LDAP_SLAPD_F (void) slap_send_ldap_result LDAP_P(( Operation *op, SlapReply *rs )); LDAP_SLAPD_F (void) send_ldap_sasl LDAP_P(( Operation *op, SlapReply *rs )); LDAP_SLAPD_F (void) send_ldap_disconnect LDAP_P(( Operation *op, SlapReply *rs )); @@ -1774,6 +1865,9 @@ LDAP_SLAPD_F (Filter *) str2filter_x LDAP_P(( Operation *op, const char *str )); LDAP_SLAPD_F (int) syncrepl_add_glue LDAP_P(( Operation*, Entry* )); +LDAP_SLAPD_F (void) syncrepl_diff_entry LDAP_P(( + Operation *op, Attribute *old, Attribute *anew, + Modifications **mods, Modifications **ml, int is_ctx )); LDAP_SLAPD_F (void) syncinfo_free LDAP_P(( struct syncinfo_s *, int all )); /* syntax.c */ @@ -1947,6 +2041,10 @@ LDAP_SLAPD_V (struct berval) global_host_bv; LDAP_SLAPD_V (char *) global_realm; LDAP_SLAPD_V (char *) sasl_host; LDAP_SLAPD_V (char *) slap_sasl_auxprops; +#ifdef SLAP_AUXPROP_DONTUSECOPY +LDAP_SLAPD_V (int) slap_dontUseCopy_ignore; +LDAP_SLAPD_V (BerVarray) slap_dontUseCopy_propnames; +#endif /* SLAP_AUXPROP_DONTUSECOPY */ LDAP_SLAPD_V (char **) default_passwd_hash; LDAP_SLAPD_V (int) lber_debug; LDAP_SLAPD_V (int) ldap_syslog; @@ -1968,8 +2066,12 @@ LDAP_SLAPD_V (int) slap_tool_thread_max; LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) entry2str_mutex; -LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) gmtime_mutex; +#ifndef LDAP_DEVEL + /* to be removed with 2.5 */ +#define gmtime_mutex ldap_int_gmtime_mutex +#endif /* ! LDAP_DEVEL */ +LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) ad_index_mutex; LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) ad_undef_mutex; LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) oc_undef_mutex; @@ -2100,4 +2202,3 @@ LDAP_SLAPD_F (int) fe_access_allowed LDAP_P(( LDAP_END_DECL #endif /* PROTO_SLAP_H */ -