]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/proto-slap.h
Revert previous commit
[openldap] / servers / slapd / proto-slap.h
index e278a0bd72f902f955d1566b1916911e265b3a73..583b09e5b1fbb6af05bbd40df8061fec4988b655 100644 (file)
@@ -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,9 +53,6 @@ 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) \
@@ -168,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,
@@ -186,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((
@@ -269,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
  */
@@ -349,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 ));
@@ -402,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
@@ -445,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 ));
@@ -457,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
@@ -466,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
@@ -482,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 ));
 
 /*
@@ -520,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
  */
@@ -530,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,
@@ -601,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
@@ -616,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 ));
 
@@ -624,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 ));
@@ -638,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))
@@ -726,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 ));
 
@@ -815,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
@@ -947,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,
@@ -991,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;
@@ -1014,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;
@@ -1037,6 +1081,8 @@ LDAP_SLAPD_V (AccessControl *) global_acl;
 
 LDAP_SLAPD_V (ber_socket_t)    dtblsize;
 
+LDAP_SLAPD_V (int)             use_reverse_lookup;
+
 /*
  * operations
  */