]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/proto-slap.h
sync with HEAD
[openldap] / servers / slapd / proto-slap.h
index f3d6a8b0b346478505805e4e893fbcae63879699..4bbe4e5de3610289669d63e351f7d029e2b255b3 100644 (file)
@@ -184,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((
@@ -267,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
  */
@@ -285,7 +280,7 @@ LDAP_SLAPD_F (char *) get_supported_ctrl LDAP_P((int index));
 /*
  * config.c
  */
-LDAP_SLAPD_F (int) read_config LDAP_P(( const char *fname ));
+LDAP_SLAPD_F (int) read_config LDAP_P(( const char *fname, int depth ));
 LDAP_SLAPD_F (void) config_destroy LDAP_P ((void));
 
 /*
@@ -346,6 +341,7 @@ 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 )
+#define bvmatch(bv1, bv2)      ( ((bv1)->bv_len == (bv2)->bv_len) && memcmp((bv1)->bv_val, (bv2)->bv_val, (bv1)->bv_len) == 0 )
 
 LDAP_SLAPD_V( const struct berval ) slap_empty_bv;
 
@@ -404,6 +400,10 @@ LDAP_SLAPD_F (void) build_new_dn LDAP_P((
 
 LDAP_SLAPD_F (void) dnParent LDAP_P(( struct berval *dn, struct berval *pdn ));
 
+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
  */
@@ -460,6 +460,14 @@ LDAP_SLAPD_F (int) get_filter LDAP_P((
 LDAP_SLAPD_F (void) filter_free 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
  */
@@ -507,6 +515,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
  */
@@ -517,6 +535,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,
@@ -567,25 +586,13 @@ LDAP_SLAPD_F (void) *module_resolve LDAP_P((
 LDAP_SLAPD_F (MatchingRule *) mr_bvfind LDAP_P((struct berval *mrname));
 LDAP_SLAPD_F (MatchingRule *) mr_find LDAP_P((const char *mrname));
 LDAP_SLAPD_F (int) mr_add LDAP_P(( LDAPMatchingRule *mr,
-       unsigned usage,
-       slap_mr_convert_func *convert,
-       slap_mr_normalize_func *normalize,
-       slap_mr_match_func *match,
-       slap_mr_indexer_func *indexer,
-       slap_mr_filter_func *filter,
+       slap_mrule_defs_rec *def,
        MatchingRule * associated,
        const char **err ));
 LDAP_SLAPD_F (void) mr_destroy LDAP_P(( void ));
 
 LDAP_SLAPD_F (int) register_matching_rule LDAP_P((
-       const char * desc,
-       unsigned usage,
-       slap_mr_convert_func *convert,
-       slap_mr_normalize_func *normalize,
-       slap_mr_match_func *match,
-       slap_mr_indexer_func *indexer,
-       slap_mr_filter_func *filter,
-       const char *associated ));
+       slap_mrule_defs_rec *def ));
 
 LDAP_SLAPD_F (int) mr_schema_info( Entry *e );
 LDAP_SLAPD_F (int) mru_schema_info( Entry *e );
@@ -604,6 +611,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 ));
 
@@ -658,7 +666,7 @@ LDAP_SLAPD_F (Operation *) slap_op_pop LDAP_P(( Operation **olist ));
 /*
  * operational.c
  */
-LDAP_SLAPD_F (Attribute *) slap_operational_subschemaSubentry( void );
+LDAP_SLAPD_F (Attribute *) slap_operational_subschemaSubentry( Backend *be );
 LDAP_SLAPD_F (Attribute *) slap_operational_hasSubordinate( int has );
 
 /*
@@ -807,17 +815,39 @@ LDAP_SLAPD_F (int) slap_sasl_bind LDAP_P((
        struct berval *cred,
        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 (void) slap_sasl2dn LDAP_P((
+       Connection *conn,
        struct berval *saslname,
        struct berval *dn ));
 LDAP_SLAPD_F (int) slap_sasl_authorized LDAP_P((
+       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
@@ -899,33 +929,14 @@ LDAP_SLAPD_F (Syntax *) syn_find LDAP_P((
        const char *synname ));
 LDAP_SLAPD_F (Syntax *) syn_find_desc LDAP_P((
        const char *syndesc, int *slen ));
-#ifdef SLAPD_BINARY_CONVERSION
 LDAP_SLAPD_F (int) syn_add LDAP_P((
        LDAPSyntax *syn,
-       unsigned flags,
-       slap_syntax_validate_func *validate,
-       slap_syntax_transform_func *normalize,
-       slap_syntax_transform_func *pretty,
-       slap_syntax_transform_func *ber2str,
-       slap_syntax_transform_func *str2ber,
+       slap_syntax_defs_rec *def,
        const char **err ));
-#else
-LDAP_SLAPD_F (int) syn_add LDAP_P((
-       LDAPSyntax *syn,
-       unsigned flags,
-       slap_syntax_validate_func *validate,
-       slap_syntax_transform_func *normalize,
-       slap_syntax_transform_func *pretty,
-       const char **err ));
-#endif
 LDAP_SLAPD_F (void) syn_destroy LDAP_P(( void ));
 
 LDAP_SLAPD_F (int) register_syntax LDAP_P((
-       const char *desc,
-       unsigned flags,
-       slap_syntax_validate_func *validate,
-       slap_syntax_transform_func *normalize,
-       slap_syntax_transform_func *pretty ));
+       slap_syntax_defs_rec *def ));
 
 LDAP_SLAPD_F (int) syn_schema_info( Entry *e );
 
@@ -993,19 +1004,21 @@ 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;
+#ifdef SLAPD_SCHEMA_DN
+LDAP_SLAPD_V (struct berval)   global_schemadn;
+LDAP_SLAPD_V (struct berval)   global_schemandn;
+#endif
 
 LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) num_sent_mutex;
 LDAP_SLAPD_V (unsigned long)           num_bytes_sent;