X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fproto-slap.h;h=5ad9092de766b5f8545a5c4989df91913ed1b5a9;hb=f38e72b26c4a245dc0aa43c0f6310f20ae3fd9cc;hp=4a7c0057713478a6471b4f582dc2e9d3766fdb80;hpb=2007c4b8b9b2c4a8f9e9a473904a2f67fe9627ea;p=openldap diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index 4a7c005771..5ad9092de7 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -157,7 +157,7 @@ LDAP_SLAPD_V( AttributeName * ) slap_anlist_all_attributes; * add.c */ LDAP_SLAPD_F (int) slap_mods2entry LDAP_P(( Modifications *mods, Entry **e, - int repl_user, int dup, const char **text, char *textbuf, size_t textlen )); + int initial, int dup, const char **text, char *textbuf, size_t textlen )); LDAP_SLAPD_F (int) slap_entry2mods LDAP_P(( Entry *e, Modifications **mods, const char **text, @@ -264,7 +264,7 @@ LDAP_SLAPD_F (int) backend_startup_one LDAP_P((Backend *be)); LDAP_SLAPD_F (int) backend_sync LDAP_P((Backend *be)); LDAP_SLAPD_F (int) backend_shutdown LDAP_P((Backend *be)); LDAP_SLAPD_F (int) backend_destroy LDAP_P((void)); -LDAP_SLAPD_F (void) backend_destroy_one LDAP_P((BackendDB *bd)); +LDAP_SLAPD_F (void) backend_destroy_one LDAP_P((BackendDB *bd, int dynamic)); LDAP_SLAPD_F (BackendInfo *) backend_info LDAP_P(( const char *type )); LDAP_SLAPD_F (BackendDB *) backend_db_init LDAP_P(( const char *type )); @@ -342,17 +342,9 @@ LDAP_SLAPD_F (int) backend_operational LDAP_P(( LDAP_SLAPD_V(BackendInfo) slap_binfo[]; -/* - * backglue.c - */ - -LDAP_SLAPD_F (int) glue_back_initialize( BackendInfo *bi ); -LDAP_SLAPD_F (int) glue_sub_init( void ); - /* * backover.c */ - 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 (void) overlay_destroy_one LDAP_P(( @@ -365,6 +357,18 @@ LDAP_SLAPD_F (int) overlay_is_inst LDAP_P(( BackendDB *be, const char *name )); LDAP_SLAPD_F (int) overlay_register_control LDAP_P(( BackendDB *be, const char *oid )); +LDAP_SLAPD_F (int) overlay_op_walk LDAP_P(( + Operation *op, + SlapReply *rs, + slap_operation_t which, + slap_overinfo *oi, + slap_overinst *on )); + +/* + * bconfig.c + */ +LDAP_SLAPD_F (int) slap_loglevel_register LDAP_P (( slap_mask_t m, struct berval *s )); +LDAP_SLAPD_F (int) str2loglevel LDAP_P(( const char *s, int *l )); /* * ch_malloc.c @@ -531,6 +535,10 @@ LDAP_SLAPD_F (int) mask_to_verbs LDAP_P(( slap_verbmasks *v, slap_mask_t m, BerVarray *bva )); 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 )); +LDAP_SLAPD_F (int) slap_verbmasks_destroy LDAP_P(( slap_verbmasks *v )); +LDAP_SLAPD_F (int) slap_verbmasks_append LDAP_P(( slap_verbmasks **vp, + slap_mask_t m, struct berval *v, slap_mask_t *ignore )); LDAP_SLAPD_F (int) bindconf_parse LDAP_P(( const char *word, slap_bindconf *bc )); LDAP_SLAPD_F (int) bindconf_unparse LDAP_P(( @@ -882,7 +890,7 @@ LDAP_SLAPD_F (void) slap_compose_sync_cookie LDAP_P(( LDAP_SLAPD_F (void) slap_sync_cookie_free LDAP_P(( struct sync_cookie *, int free_cookie )); LDAP_SLAPD_F (int) slap_parse_sync_cookie LDAP_P(( - struct sync_cookie * )); + struct sync_cookie *, void *memctx )); LDAP_SLAPD_F (int) slap_init_sync_cookie_ctxcsn LDAP_P(( struct sync_cookie * )); LDAP_SLAPD_F (struct sync_cookie *) slap_dup_sync_cookie LDAP_P(( @@ -907,6 +915,7 @@ LDAP_SLAPD_F (void) limits_unparse_one LDAP_P(( struct slap_limits_set *limit, int which, struct berval *bv )); LDAP_SLAPD_F (void) limits_unparse LDAP_P(( struct slap_limits *limit, struct berval *bv )); +LDAP_SLAPD_F (void) limits_destroy LDAP_P(( struct slap_limits **lm )); /* * lock.c @@ -949,6 +958,13 @@ LDAP_SLAPD_F( int ) slap_mods_no_user_mod_check( const char **text, char *textbuf, size_t textlen ); +LDAP_SLAPD_F ( int ) slap_mods_no_repl_user_mod_check( + Operation *op, + Modifications *ml, + const char **text, + char *textbuf, + size_t textlen ); + LDAP_SLAPD_F( int ) slap_mods_check( Modifications *ml, const char **text, @@ -991,7 +1007,7 @@ LDAP_SLAPD_F( int ) modify_increment_values( Entry *e, const char **text, char *textbuf, size_t textlen ); LDAP_SLAPD_F( void ) slap_mod_free( Modification *mod, int freeit ); -LDAP_SLAPD_F( void ) slap_mods_free( Modifications *mods ); +LDAP_SLAPD_F( void ) slap_mods_free( Modifications *mods, int freevals ); LDAP_SLAPD_F( void ) slap_modlist_free( LDAPModList *ml ); /* @@ -1213,6 +1229,7 @@ LDAP_SLAPD_F (int) get_alias_dn LDAP_P(( */ LDAP_SLAPD_F (int) add_replica_info LDAP_P(( Backend *be, const char *uri, const char *host )); +LDAP_SLAPD_F (int) destroy_replica_info LDAP_P (( Backend *be )); LDAP_SLAPD_F (int) add_replica_suffix LDAP_P(( Backend *be, int nr, const char *suffix )); LDAP_SLAPD_F (int) add_replica_attrs LDAP_P(( Backend *be, @@ -1342,7 +1359,7 @@ LDAP_SLAPD_F( int ) structural_class( char *textbuf, size_t textlen ); LDAP_SLAPD_F( int ) entry_schema_check( - Backend *be, + Operation *op, Entry *e, Attribute *attrs, int manage, @@ -1628,10 +1645,33 @@ LDAP_SLAPD_F (int) fe_op_delete LDAP_P((Operation *op, SlapReply *rs)); LDAP_SLAPD_F (int) fe_op_modify LDAP_P((Operation *op, SlapReply *rs)); LDAP_SLAPD_F (int) fe_op_modrdn LDAP_P((Operation *op, SlapReply *rs)); LDAP_SLAPD_F (int) fe_op_search LDAP_P((Operation *op, SlapReply *rs)); +LDAP_SLAPD_F (int) fe_aux_operational LDAP_P((Operation *op, SlapReply *rs)); #if 0 LDAP_SLAPD_F (int) fe_op_unbind LDAP_P((Operation *op, SlapReply *rs)); #endif LDAP_SLAPD_F (int) fe_extended LDAP_P((Operation *op, SlapReply *rs)); +LDAP_SLAPD_F (int) fe_acl_group LDAP_P(( + Operation *op, + Entry *target, + struct berval *gr_ndn, + struct berval *op_ndn, + ObjectClass *group_oc, + AttributeDescription *group_at )); +LDAP_SLAPD_F (int) fe_acl_attribute LDAP_P(( + Operation *op, + Entry *target, + struct berval *edn, + AttributeDescription *entry_at, + BerVarray *vals, + slap_access_t access )); +LDAP_SLAPD_F (int) fe_access_allowed LDAP_P(( + Operation *op, + Entry *e, + AttributeDescription *desc, + struct berval *val, + slap_access_t access, + AccessControlState *state, + slap_mask_t *maskp )); /* NOTE: this macro assumes that bv has been allocated * by ber_* malloc functions or is { 0L, NULL } */ @@ -1672,15 +1712,20 @@ LDAP_SLAPD_F (int) fe_extended LDAP_P((Operation *op, SlapReply *rs)); (bv)->bv_len = len; \ } while ( 0 ) #else /* ! HAVE_BIGNUM && ! HAVE_GMP */ +#ifdef HAVE_LONG_LONG +#define UI2BV_FORMAT "%llu" +#else /* ! HAVE_LONG_LONG */ +#define UI2BV_FORMAT "%lu" +#endif /* ! HAVE_LONG_LONG */ #define UI2BVX(bv,ui,ctx) \ do { \ char buf[] = "+9223372036854775807L"; \ ber_len_t len; \ - snprintf( buf, sizeof( buf ), "%lu", (ui) ); \ - len = strlen( buf ); \ + len = snprintf( buf, sizeof( buf ), UI2BV_FORMAT, (ui) ); \ if ( len > (bv)->bv_len ) { \ (bv)->bv_val = ber_memrealloc_x( (bv)->bv_val, len + 1, (ctx) ); \ } \ + (bv)->bv_len = len; \ AC_MEMCPY( (bv)->bv_val, buf, len + 1 ); \ } while ( 0 ) #endif /* ! HAVE_GMP */