X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fproto-slap.h;h=583b09e5b1fbb6af05bbd40df8061fec4988b655;hb=50d490be6c54e81fbbe464ae1233660e90fff958;hp=f0c503b915d532795244c6419f09356e8e6f0f78;hpb=b713f42650dbc5ae6d99d9f8fa92dcd3e06c83be;p=openldap diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index f0c503b915..583b09e5b1 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -16,7 +16,8 @@ LDAP_BEGIN_DECL LDAP_SLAPD_F (int) access_allowed LDAP_P(( Backend *be, Connection *conn, Operation *op, Entry *e, AttributeDescription *desc, struct berval *val, - slap_access_t access )); + slap_access_t access, + AccessControlState *state )); LDAP_SLAPD_F (int) acl_check_modlist LDAP_P(( Backend *be, Connection *conn, Operation *op, Entry *e, Modifications *ml )); @@ -52,13 +53,11 @@ LDAP_SLAPD_F (int) slap_bv2ad LDAP_P(( AttributeDescription **ad, const char **text )); -LDAP_SLAPD_F (AttributeDescription *) ad_dup LDAP_P(( - AttributeDescription *desc )); - LDAP_SLAPD_F (void) ad_destroy LDAP_P(( AttributeDescription * )); -#define ad_cmp(l,r) (((l)->ad_cname.bv_len == (r)->ad_cname.bv_len) \ - ? strcasecmp((l)->ad_cname.bv_val, (r)->ad_cname.bv_val ) : 1 ) +#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) \ + ? 1 : strcasecmp((l)->ad_cname.bv_val, (r)->ad_cname.bv_val ))) LDAP_SLAPD_F (int) is_ad_subtype LDAP_P(( AttributeDescription *sub, @@ -167,7 +166,7 @@ LDAP_SLAPD_F (BackendDB *) select_backend LDAP_P(( int noSubordinates )); LDAP_SLAPD_F (int) be_issuffix LDAP_P(( Backend *be, - const char *suffix )); + struct berval *suffix )); LDAP_SLAPD_F (int) be_isroot LDAP_P(( Backend *be, struct berval *ndn )); LDAP_SLAPD_F (int) be_isroot_pw LDAP_P(( Backend *be, @@ -185,7 +184,7 @@ LDAP_SLAPD_F( int ) backend_check_restrictions LDAP_P(( BackendDB *be, Connection *conn, Operation *op, - const void *opdata, + struct berval *opdata, const char **text )); LDAP_SLAPD_F( int ) backend_check_referrals LDAP_P(( @@ -268,11 +267,6 @@ LDAP_SLAPD_F (char **) str2charray LDAP_P(( const char *str, const char *brkstr LDAP_SLAPD_F (int) charray_strcmp LDAP_P(( const char **a1, const char **a2 )); LDAP_SLAPD_F (int) charray_strcasecmp LDAP_P(( const char **a1, const char **a2 )); -LDAP_SLAPD_F (char *) slap_strcopy LDAP_P(( - char *dst, const char *src )); -LDAP_SLAPD_F (char *) slap_strncopy LDAP_P(( - char *dst, const char *src, size_t n )); - /* * controls.c */ @@ -348,6 +342,8 @@ LDAP_SLAPD_F (void) slapd_clr_read LDAP_P((ber_socket_t s, int wake)); #define dn_match(dn1, dn2) ( ber_bvcmp((dn1), (dn2)) == 0 ) +LDAP_SLAPD_V( const struct berval ) slap_empty_bv; + LDAP_SLAPD_F (int) dnValidate LDAP_P(( Syntax *syntax, struct berval *val )); @@ -401,14 +397,11 @@ LDAP_SLAPD_F (void) build_new_dn LDAP_P(( struct berval * parent_dn, struct berval * newrdn )); -LDAP_SLAPD_F (int) dnParent LDAP_P(( const char *dn, const char **pdn )); +LDAP_SLAPD_F (void) dnParent LDAP_P(( struct berval *dn, struct berval *pdn )); -#define SLAP_DN_MIGRATION -#ifdef SLAP_DN_MIGRATION - /* These routines are deprecated!!! */ -LDAP_SLAPD_F (char *) dn_normalize LDAP_P(( char *dn )); -LDAP_SLAPD_F (char *) dn_parent LDAP_P(( Backend *be, const char *dn )); -#endif +LDAP_SLAPD_F (int) dnX509normalize LDAP_P(( void *x509_name, struct berval *out )); + +LDAP_SLAPD_F (int) dnX509peerNormalize LDAP_P(( void *ssl, struct berval *dn )); /* * entry.c @@ -444,10 +437,6 @@ typedef int (SLAP_EXTOP_MAIN_FN) LDAP_P(( typedef int (SLAP_EXTOP_GETOID_FN) LDAP_P(( int index, char *oid, int blen )); -LDAP_SLAPD_F (int) load_extension LDAP_P(( - const void *module, const char *file_name)); -LDAP_SLAPD_F (char *) get_supported_extension LDAP_P((int index)); - LDAP_SLAPD_F (int) load_extop LDAP_P(( const char *ext_oid, SLAP_EXTOP_MAIN_FN *ext_main )); @@ -456,7 +445,7 @@ LDAP_SLAPD_F (int) extops_init LDAP_P(( void )); LDAP_SLAPD_F (int) extops_kill LDAP_P(( void )); -LDAP_SLAPD_F (char *) get_supported_extop LDAP_P((int index)); +LDAP_SLAPD_F (struct berval *) get_supported_extop LDAP_P((int index)); /* * filter.c @@ -465,11 +454,18 @@ LDAP_SLAPD_F (int) get_filter LDAP_P(( Connection *conn, BerElement *ber, Filter **filt, - struct berval *fstr, const char **text )); LDAP_SLAPD_F (void) filter_free LDAP_P(( Filter *f )); -LDAP_SLAPD_F (void) filter_print LDAP_P(( Filter *f )); +LDAP_SLAPD_F (void) filter2bv LDAP_P(( Filter *f, struct berval *bv )); + +LDAP_SLAPD_F (int) get_vrFilter( Connection *conn, BerElement *ber, + ValuesReturnFilter **f, + const char **text ); + +LDAP_SLAPD_F (void) vrFilter_free( ValuesReturnFilter *f ); +LDAP_SLAPD_F (void) vrFilter2bv( ValuesReturnFilter *f, struct berval *fstr ); + /* * filterentry.c @@ -481,7 +477,6 @@ LDAP_SLAPD_F (int) test_filter LDAP_P(( /* * index.c */ -LDAP_SLAPD_F (int) slap_index2prefix LDAP_P(( int indextype )); LDAP_SLAPD_F (int) slap_str2index LDAP_P(( const char *str, slap_mask_t *idx )); /* @@ -519,6 +514,16 @@ LDAP_SLAPD_F (FILE *) lock_fopen LDAP_P(( const char *fname, const char *type, FILE **lfp )); LDAP_SLAPD_F (int) lock_fclose LDAP_P(( FILE *fp, FILE *lfp )); +/* + * matchedValues.c + */ +LDAP_SLAPD_F (int) filter_matched_values( + Backend *be, + Connection *conn, + Operation *op, + Attribute *a, + char ***e_flags ); + /* * modify.c */ @@ -529,6 +534,7 @@ LDAP_SLAPD_F( int ) slap_mods_check( char *textbuf, size_t textlen ); LDAP_SLAPD_F( int ) slap_mods_opattrs( + Backend *be, Operation *op, Modifications *mods, Modifications **modlist, @@ -538,6 +544,16 @@ LDAP_SLAPD_F( int ) slap_mods_opattrs( /* * mods.c */ +LDAP_SLAPD_F( int ) modify_add_values( Entry *e, + Modification *mod, + const char **text, char *textbuf, size_t textlen ); +LDAP_SLAPD_F( int ) modify_delete_values( Entry *e, + Modification *mod, + const char **text, char *textbuf, size_t textlen ); +LDAP_SLAPD_F( int ) modify_replace_values( Entry *e, + Modification *mod, + 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_modlist_free( LDAPModList *ml ); @@ -590,6 +606,7 @@ LDAP_SLAPD_F (int) register_matching_rule LDAP_P(( const char *associated )); LDAP_SLAPD_F (int) mr_schema_info( Entry *e ); +LDAP_SLAPD_F (int) mru_schema_info( Entry *e ); /* * mra.c @@ -605,6 +622,7 @@ LDAP_SLAPD_F (void) mra_free LDAP_P(( /* oc.c */ LDAP_SLAPD_F (int) oc_add LDAP_P(( LDAPObjectClass *oc, + int user, const char **err)); LDAP_SLAPD_F (void) oc_destroy LDAP_P(( void )); @@ -613,8 +631,8 @@ LDAP_SLAPD_F (ObjectClass *) oc_find LDAP_P(( LDAP_SLAPD_F (ObjectClass *) oc_bvfind LDAP_P(( struct berval *ocname)); LDAP_SLAPD_F (int) is_object_subclass LDAP_P(( - ObjectClass *sub, - ObjectClass *sup )); + ObjectClass *sup, + ObjectClass *sub )); LDAP_SLAPD_F (int) is_entry_objectclass LDAP_P(( Entry *, ObjectClass *oc, int set_flags )); @@ -627,9 +645,9 @@ LDAP_SLAPD_F (int) is_entry_objectclass LDAP_P(( #define is_entry_subentry(e) \ (((e)->e_ocflags & SLAP_OC__END) ? ((e)->e_ocflags & SLAP_OC_SUBENTRY) : \ is_entry_objectclass((e), slap_schema.si_oc_subentry, 1)) -#define is_entry_collectiveAttributes(e) \ - (((e)->e_ocflags & SLAP_OC__END) ? ((e)->e_ocflags & SLAP_OC_COLLECTIVEATTRIBUTES) : \ - is_entry_objectclass((e), slap_schema.si_oc_collectiveAttributes, 1)) +#define is_entry_collectiveAttributeSubentry(e) \ + (((e)->e_ocflags & SLAP_OC__END) ? ((e)->e_ocflags & SLAP_OC_COLLECTIVEATTRIBUTESUBENTRY) : \ + is_entry_objectclass((e), slap_schema.si_oc_collectiveAttributeSubentry, 1)) #define is_entry_dynamicObject(e) \ (((e)->e_ocflags & SLAP_OC__END) ? ((e)->e_ocflags & SLAP_OC_DYNAMICOBJECT) : \ is_entry_objectclass((e), slap_schema.si_oc_dynamicObject, 1)) @@ -715,6 +733,8 @@ LDAP_SLAPD_F (int) add_replica_info LDAP_P(( Backend *be, const char *host )); 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, + int nr, char *attrs, int exclude )); LDAP_SLAPD_F (void) replog LDAP_P(( Backend *be, Operation *op, struct berval *dn, struct berval *ndn, void *change )); @@ -804,17 +824,41 @@ LDAP_SLAPD_F (int) slap_sasl_bind LDAP_P(( Connection *conn, Operation *op, struct berval *dn, struct berval *ndn, struct berval *cred, - char **edn, slap_ssf_t *ssf )); + struct berval *edn, slap_ssf_t *ssf )); + +LDAP_SLAPD_F (int) slap_sasl_setpass( + Connection *conn, + Operation *op, + const char *reqoid, + struct berval *reqdata, + char **rspoid, + struct berval **rspdata, + LDAPControl *** rspctrls, + const char **text ); + +LDAP_SLAPD_F (int) slap_sasl_config( + int cargc, + char **cargv, + char *line, + const char *fname, + int lineno ); + /* * saslauthz.c */ -LDAP_SLAPD_F (char *) slap_sasl2dn LDAP_P(( char *saslname )); +LDAP_SLAPD_F (void) slap_sasl2dn LDAP_P(( + Connection *conn, + struct berval *saslname, + struct berval *dn )); LDAP_SLAPD_F (int) slap_sasl_authorized LDAP_P(( - char *authcid, - char *authzid )); + Connection *conn, + struct berval *authcid, + struct berval *authzid )); LDAP_SLAPD_F (int) slap_sasl_regexp_config LDAP_P(( const char *match, const char *replace )); +LDAP_SLAPD_F (int) slap_sasl_setpolicy LDAP_P(( const char * )); + /* * schema.c @@ -936,12 +980,22 @@ LDAP_SLAPD_F (void) slap_init_user LDAP_P(( char *username, char *groupname )); /* * value.c */ +LDAP_SLAPD_F (int) value_validate LDAP_P(( + MatchingRule *mr, + struct berval *in, + const char ** text )); LDAP_SLAPD_F (int) value_normalize LDAP_P(( AttributeDescription *ad, unsigned usage, struct berval *in, struct berval *out, const char ** text )); +LDAP_SLAPD_F (int) value_validate_normalize LDAP_P(( + AttributeDescription *ad, + unsigned usage, + struct berval *in, + struct berval *out, + const char ** text )); LDAP_SLAPD_F (int) value_match LDAP_P(( int *match, AttributeDescription *ad, @@ -980,20 +1034,17 @@ LDAP_SLAPD_V (const char) Versionstr[]; LDAP_SLAPD_V (struct slap_limits_set) deflimit; LDAP_SLAPD_V (slap_access_t) global_default_access; +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 (int) sasl_external_x509dn_convert; 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 (int) nSaslRegexp; -LDAP_SLAPD_V (SaslRegexp_t*) SaslRegexp; - LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) num_sent_mutex; LDAP_SLAPD_V (unsigned long) num_bytes_sent; LDAP_SLAPD_V (unsigned long) num_pdu_sent; @@ -1003,6 +1054,10 @@ LDAP_SLAPD_V (unsigned long) num_refs_sent; LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) num_ops_mutex; LDAP_SLAPD_V (unsigned long) num_ops_completed; LDAP_SLAPD_V (unsigned long) num_ops_initiated; +#ifdef SLAPD_MONITOR +LDAP_SLAPD_V (unsigned long) num_ops_completed_[SLAP_OP_LAST]; +LDAP_SLAPD_V (unsigned long) num_ops_initiated_[SLAP_OP_LAST]; +#endif /* SLAPD_MONITOR */ LDAP_SLAPD_V (char *) slapd_pid_file; LDAP_SLAPD_V (char *) slapd_args_file; @@ -1026,6 +1081,8 @@ LDAP_SLAPD_V (AccessControl *) global_acl; LDAP_SLAPD_V (ber_socket_t) dtblsize; +LDAP_SLAPD_V (int) use_reverse_lookup; + /* * operations */