/* $OpenLDAP$ */
/*
- * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
* COPYING RESTRICTIONS APPLY, see COPYRIGHT file
*/
#ifndef _PROTO_SLAP
LDAP_SLAPD_F (int) ad_inlist LDAP_P((
AttributeDescription *desc,
- struct berval **attrs ));
+ AttributeName *attrs ));
LDAP_SLAPD_F (int) slap_str2undef_ad LDAP_P((
const char *,
AttributeType *type,
struct berval *lang ));
+LDAP_SLAPD_F (AttributeName *) str2anlist LDAP_P(( AttributeName *an,
+ char *str, const char *brkstr ));
+LDAP_SLAPD_F (int) an_find LDAP_P(( AttributeName *a, struct berval *s ));
+
/*
* acl.c
*/
LDAP_SLAPD_F (int) attr_merge LDAP_P(( Entry *e,
AttributeDescription *desc,
- struct berval **vals ));
+ BVarray vals ));
LDAP_SLAPD_F (Attribute *) attrs_find LDAP_P((
Attribute *a, AttributeDescription *desc ));
LDAP_SLAPD_F (Attribute *) attr_find LDAP_P((
Entry *target,
struct berval *entry_ndn,
AttributeDescription *entry_at,
- struct berval ***vals
+ BVarray *vals
));
LDAP_SLAPD_F (Attribute *) backend_operational(
Connection *conn,
Operation *op,
Entry *e,
- struct berval **attrs,
+ AttributeName *attrs,
int opattrs );
LDAP_SLAPD_F (int) charray_inlist LDAP_P(( char **a, const char *s ));
LDAP_SLAPD_F (char **) charray_dup LDAP_P(( char **a ));
LDAP_SLAPD_F (char **) str2charray LDAP_P(( const char *str, const char *brkstr ));
-LDAP_SLAPD_F (struct berval **) str2bvec LDAP_P(( struct berval **vec,
- 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 (int) bvarray_add LDAP_P(( BVarray *a, struct berval *bv ));
+LDAP_SLAPD_F (void) bvarray_free LDAP_P(( struct berval *a ));
+
LDAP_SLAPD_F (char *) slap_strcopy LDAP_P((
char *dst, const char *src ));
-LDAP_SLAPD_F (int) bvec_inlist LDAP_P((
- struct berval **a,
- struct berval *s ));
/*
* controls.c
Operation *op,
int senderrors ));
-LDAP_SLAPD_F (int) get_manageDSAit LDAP_P(( Operation *op ));
+LDAP_SLAPD_F (char *) get_supported_ctrl LDAP_P((int index));
/*
* config.c
* extended.c
*/
-typedef int (*SLAP_EXTOP_MAIN_FN) LDAP_P((
+typedef int (SLAP_EXTOP_MAIN_FN) LDAP_P((
Connection *conn, Operation *op,
const char * reqoid,
struct berval * reqdata,
struct berval ** rspdata,
LDAPControl *** rspctrls,
const char ** text,
- struct berval *** refs ));
+ BVarray *refs ));
-typedef int (*SLAP_EXTOP_GETOID_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((
LDAP_SLAPD_F (int) load_extop LDAP_P((
const char *ext_oid,
- SLAP_EXTOP_MAIN_FN ext_main ));
+ SLAP_EXTOP_MAIN_FN *ext_main ));
LDAP_SLAPD_F (int) extops_init LDAP_P(( void ));
LDAP_SLAPD_F( void ) slap_mods_free( Modifications *mods );
LDAP_SLAPD_F( void ) slap_modlist_free( LDAPModList *ml );
+LDAP_SLAPD_F( int ) slap_mods_check(
+ Modifications *ml,
+ int update,
+ const char **text,
+ char *textbuf, size_t textlen );
+
LDAP_SLAPD_F( int ) slap_modlist2mods(
LDAPModList *ml,
int update,
#endif /* SLAPD_MODULES */
-/*
- * controls.c
- */
-LDAP_SLAPD_V (char *) supportedControls[];
-
/*
* mra.c
*/
MatchingRuleAssertion *mra,
int freeit ));
+/*
+ * oidm.c
+ */
+LDAP_SLAPD_F(char *) oidm_find(char *oid);
+LDAP_SLAPD_F (void) oidm_destroy LDAP_P(( void ));
+LDAP_SLAPD_F (int) parse_oidm LDAP_P((
+ const char *fname, int lineno, int argc, char **argv ));
+
/*
* operation.c
*/
LDAP_SLAPD_F (int) validate_global_referral LDAP_P((
const char *url ));
-LDAP_SLAPD_F (struct berval **) get_entry_referrals LDAP_P((
+LDAP_SLAPD_F (BVarray) get_entry_referrals LDAP_P((
Backend *be, Connection *conn, Operation *op, Entry *e ));
-LDAP_SLAPD_F (struct berval **) referral_rewrite LDAP_P((
- struct berval **refs,
+LDAP_SLAPD_F (BVarray) referral_rewrite LDAP_P((
+ BVarray refs,
struct berval *base,
struct berval *target,
int scope ));
LDAP_SLAPD_F (void) send_ldap_result LDAP_P((
Connection *conn, Operation *op,
ber_int_t err, const char *matched, const char *text,
- struct berval **refs,
+ BVarray refs,
LDAPControl **ctrls ));
LDAP_SLAPD_F (void) send_ldap_sasl LDAP_P((
Connection *conn, Operation *op,
ber_int_t err, const char *matched,
const char *text,
- struct berval **refs,
+ BVarray refs,
LDAPControl **ctrls,
struct berval *cred ));
LDAP_SLAPD_F (void) send_ldap_extended LDAP_P((
Connection *conn, Operation *op,
ber_int_t err, const char *matched,
- const char *text, struct berval **refs,
+ const char *text, BVarray refs,
const char *rspoid, struct berval *rspdata,
LDAPControl **ctrls ));
LDAP_SLAPD_F (void) send_search_result LDAP_P((
Connection *conn, Operation *op,
ber_int_t err, const char *matched, const char *text,
- struct berval **refs,
+ BVarray refs,
LDAPControl **ctrls,
int nentries ));
LDAP_SLAPD_F (int) send_search_reference LDAP_P((
Backend *be, Connection *conn, Operation *op,
- Entry *e, struct berval **refs,
+ Entry *e, BVarray refs,
LDAPControl **ctrls,
- struct berval ***v2refs ));
+ BVarray *v2refs ));
LDAP_SLAPD_F (int) send_search_entry LDAP_P((
Backend *be, Connection *conn, Operation *op,
- Entry *e, struct berval **attrs, int attrsonly,
+ Entry *e, AttributeName *attrs, int attrsonly,
LDAPControl **ctrls ));
LDAP_SLAPD_F (int) str2result LDAP_P(( char *s,
LDAP_SLAPD_F (void) oc_destroy LDAP_P(( void ));
LDAP_SLAPD_F (void) at_destroy LDAP_P(( void ));
-LDAP_SLAPD_F (void) ad_destroy LDAP_P(( void * ));
+LDAP_SLAPD_F (void) ad_destroy LDAP_P(( AttributeDescription * ));
LDAP_SLAPD_F (void) mr_destroy LDAP_P(( void ));
LDAP_SLAPD_F (void) syn_destroy LDAP_P(( void ));
LDAP_SLAPD_F (void) schema_destroy LDAP_P(( void ));
is_entry_objectclass((e), slap_schema.si_oc_alias)
#define is_entry_referral(e) \
is_entry_objectclass((e), slap_schema.si_oc_referral)
+#define is_entry_subentry(e) \
+ is_entry_objectclass((e), slap_schema.si_oc_subentry)
+#define is_entry_dynamicObject(e) \
+ is_entry_objectclass((e), slap_schema.si_oc_dynamicObject)
/*
*/
LDAP_SLAPD_F( int ) oc_check_allowed(
AttributeType *type,
- struct berval **oclist,
+ BVarray oclist,
ObjectClass *sc );
LDAP_SLAPD_F( int ) structural_class(
- struct berval **ocs,
+ BVarray ocs,
struct berval *scbv,
+ ObjectClass **sc,
const char **text,
char *textbuf, size_t textlen );
LDAP_SLAPD_F( int ) entry_schema_check(
- Entry *e, Attribute *attrs,
+ Backend *be, Entry *e, Attribute *attrs,
const char** text,
char *textbuf, size_t textlen );
/*
* schema_init.c
*/
-LDAP_SLAPD_F (int) schema_init LDAP_P((void));
-LDAP_SLAPD_F (int) schema_prep LDAP_P((void));
+LDAP_SLAPD_F (int) slap_schema_init LDAP_P((void));
+
+/*
+ * schema_prep.c
+ */
+LDAP_SLAPD_F (int) slap_schema_load LDAP_P((void));
+LDAP_SLAPD_F (int) slap_schema_check LDAP_P((void));
/*
* schemaparse.c
const char *fname, int lineno, char *line, char **argv ));
LDAP_SLAPD_F (int) parse_at LDAP_P((
const char *fname, int lineno, char *line, char **argv ));
-LDAP_SLAPD_F (int) parse_oidm LDAP_P((
- const char *fname, int lineno, int argc, char **argv ));
LDAP_SLAPD_F (char *) scherr2str LDAP_P((int code)) LDAP_GCCATTR((const));
LDAP_SLAPD_F (int) dscompare LDAP_P(( const char *s1, const char *s2del,
char delim ));
/*
* starttls.c
*/
-
-LDAP_SLAPD_F (int) starttls_extop LDAP_P((
- Connection *conn, Operation *op,
- const char * reqoid,
- struct berval * reqdata,
- char ** rspoid,
- struct berval ** rspdata,
- LDAPControl ***rspctrls,
- const char ** text,
- struct berval *** refs ));
+LDAP_SLAPD_F (SLAP_EXTOP_MAIN_FN) starttls_extop;
/*
AttributeDescription *ad,
unsigned usage,
struct berval *in,
- struct berval **out,
+ struct berval *out,
const char ** text ));
LDAP_SLAPD_F (int) value_match LDAP_P((
int *match,
LDAP_SLAPD_F (int) value_find_ex LDAP_P((
AttributeDescription *ad,
unsigned flags,
- struct berval **values,
+ BVarray values,
struct berval *value ));
LDAP_SLAPD_F (int) value_add LDAP_P((
- struct berval ***vals,
- struct berval **addvals ));
+ BVarray *vals,
+ BVarray addvals ));
/*
* user.c
/*
* passwd.c
*/
-LDAP_SLAPD_F (int) passwd_extop LDAP_P((
- Connection *conn, Operation *op,
- const char * reqoid,
- struct berval * reqdata,
- char ** rspoid,
- struct berval ** rspdata,
- LDAPControl *** rspctrls,
- const char ** text,
- struct berval *** refs ));
+LDAP_SLAPD_F (SLAP_EXTOP_MAIN_FN) passwd_extop;
LDAP_SLAPD_F (int) slap_passwd_check(
Connection *conn,
Attribute *attr,
struct berval *cred );
-LDAP_SLAPD_F (struct berval *) slap_passwd_generate( void );
+LDAP_SLAPD_F (void) slap_passwd_generate( struct berval * );
-LDAP_SLAPD_F (struct berval *) slap_passwd_hash(
- struct berval *cred );
+LDAP_SLAPD_F (void) slap_passwd_hash(
+ struct berval *cred,
+ struct berval *hash );
LDAP_SLAPD_F (struct berval *) slap_passwd_return(
struct berval *cred );
LDAP_SLAPD_F (int) slap_passwd_parse(
struct berval *reqdata,
- struct berval **id,
- struct berval **oldpass,
- struct berval **newpass,
+ struct berval *id,
+ struct berval *oldpass,
+ struct berval *newpass,
const char **text );
/*
LDAP_SLAPD_V (slap_mask_t) global_requires;
LDAP_SLAPD_V (slap_ssf_set_t) global_ssf_set;
-LDAP_SLAPD_V (struct berval **) default_referral;
+LDAP_SLAPD_V (BVarray) default_referral;
LDAP_SLAPD_V (char *) replogfile;
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_lastmod;
LDAP_SLAPD_V (int) global_idletimeout;
LDAP_SLAPD_V (int) global_schemacheck;
LDAP_SLAPD_V (char *) global_host;
LDAP_SLAPD_F (int) do_extended LDAP_P((Connection *conn, Operation *op));
-LDAP_SLAPD_V (ber_socket_t) dtblsize;
+LDAP_SLAPD_V (ber_socket_t) dtblsize;
+LDAP_SLAPD_V (Listener **) slap_listeners;
LDAP_END_DECL