]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/proto-slap.h
fix substring_comp_candidates logic if intersection of candidates
[openldap] / servers / slapd / proto-slap.h
index 6c60096a47eec21744ded9b3dbbc33a87b1e6838..4931978ea528974fde750ef35b4cc1ba9f0330b0 100644 (file)
@@ -119,6 +119,7 @@ void charray_free LDAP_P(( char **array ));
 int charray_inlist LDAP_P(( char **a, char *s ));
 char ** charray_dup LDAP_P(( char **a ));
 char ** str2charray LDAP_P(( char *str, char *brkstr ));
+char * charray2str LDAP_P(( char **a ));
 
 /*
  * controls.c
@@ -128,6 +129,8 @@ int get_ctrls LDAP_P((
        Operation *op,
        int senderrors ));
 
+int get_manageDSAit LDAP_P(( Operation *op ));
+
 /*
  * config.c
  */
@@ -144,10 +147,11 @@ int connections_timeout_idle LDAP_P((time_t));
 
 long connection_init LDAP_P((
        ber_socket_t s,
-       const char* name, const char* addr));
+       const char* name, const char* addr, int use_tls));
 
 void connection_closing LDAP_P(( Connection *c ));
 int connection_state_closing LDAP_P(( Connection *c ));
+char *connection_state2str LDAP_P(( int state ));
 
 int connection_write LDAP_P((ber_socket_t s));
 int connection_read LDAP_P((ber_socket_t s));
@@ -218,6 +222,9 @@ int load_module LDAP_P(( const char* file_name, int argc, char *argv[] ));
 /*
  * monitor.c
  */
+extern char *supportedExtensions[];
+extern char *supportedControls[];
+extern char *supportedSASLMechanisms[];
 
 void monitor_info LDAP_P(( Connection *conn, Operation *op ));
 
@@ -253,17 +260,49 @@ void replog LDAP_P(( Backend *be, int optype, char *dn, void *change, int flag )
  * result.c
  */
 
-void send_ldap_result LDAP_P(( Connection *conn, Operation *op, int err, char *matched,
-       char *text ));
-void send_ldap_search_result LDAP_P(( Connection *conn, Operation *op, int err,
-       char *matched, char *text, int nentries ));
+struct berval **get_entry_referrals LDAP_P((
+       Backend *be, Connection *conn, Operation *op,
+       Entry *e ));
+
+void send_ldap_result LDAP_P((
+       Connection *conn, Operation *op,
+       int err, char *matched, char *text,
+       struct berval **refs,
+       LDAPControl **ctrls ));
+
+void send_ldap_disconnect LDAP_P((
+       Connection *conn, Operation *op,
+       int err, char *text ));
+
+void send_search_result LDAP_P((
+       Connection *conn, Operation *op,
+       int err, char *matched, char *text,
+       struct berval **refs,
+       LDAPControl **ctrls,
+       int nentries ));
+
+int send_search_reference LDAP_P((
+       Backend *be, Connection *conn, Operation *op,
+       Entry *e, struct berval **refs, int scope,
+       LDAPControl **ctrls,
+       struct berval ***v2refs ));
+
+int send_search_entry LDAP_P((
+       Backend *be, Connection *conn, Operation *op,
+       Entry *e, char **attrs, int attrsonly, int opattrs,
+       LDAPControl **ctrls ));
+
+int str2result LDAP_P(( char *s,
+       int *code, char **matched, char **info ));
 
 /*
  * schema.c
  */
 
 int oc_schema_check LDAP_P(( Entry *e ));
-int oc_check_operational LDAP_P(( char *type ));
+int oc_check_operational_attr LDAP_P(( char *type ));
+int oc_check_usermod_attr LDAP_P(( char *type ));
+int oc_check_no_usermod_attr LDAP_P(( char *type ));
 ObjectClass *oc_find LDAP_P((const char *ocname));
 int oc_add LDAP_P((LDAP_OBJECT_CLASS *oc, const char **err));
 Syntax *syn_find LDAP_P((const char *synname));
@@ -273,6 +312,10 @@ int mr_add LDAP_P((LDAP_MATCHING_RULE *mr, slap_mr_normalize_func *normalize, sl
 void schema_info LDAP_P((Connection *conn, Operation *op, char **attrs, int attrsonly));
 int schema_init LDAP_P((void));
 
+int is_entry_objectclass LDAP_P(( Entry *, char* objectclass ));
+#define is_entry_alias(e)              is_entry_objectclass((e), "ALIAS")
+#define is_entry_referral(e)   is_entry_objectclass((e), "REFERRAL")
+
 
 /*
  * schemaparse.c
@@ -301,11 +344,6 @@ int value_cmp LDAP_P(( struct berval *v1, struct berval *v2, int syntax,
 int value_find LDAP_P(( struct berval **vals, struct berval *v, int syntax,
        int normalize ));
 
-/*
- * suffixAlias.c
- */
-char *suffixAlias LDAP_P(( char *dn, Operation *op, Backend *be ));
-
 /*
  * user.c
  */
@@ -317,7 +355,7 @@ void slap_init_user LDAP_P(( char *username, char *groupname ));
  * Other...
  */
 
-extern char            *default_referral;
+extern struct berval **default_referral;
 extern char            *replogfile;
 extern const char Versionstr[];
 extern int             active_threads;
@@ -328,12 +366,15 @@ extern int                global_default_access;
 extern int             global_lastmod;
 extern int             global_idletimeout;
 extern int             global_schemacheck;
+extern char            *global_realm;
 extern int             lber_debug;
 extern int             ldap_syslog;
 
 extern ldap_pvt_thread_mutex_t num_sent_mutex;
 extern long            num_bytes_sent;
+extern long            num_pdu_sent;
 extern long            num_entries_sent;
+extern long            num_refs_sent;
 
 extern ldap_pvt_thread_mutex_t num_ops_mutex;
 extern long            num_ops_completed;
@@ -359,16 +400,20 @@ extern ldap_pvt_thread_mutex_t    gmtime_mutex;
 
 extern struct acl              *global_acl;
 
-extern int     slap_init LDAP_P((int mode, char* name));
-extern int     slap_startup LDAP_P((int dbnum));
-extern int     slap_shutdown LDAP_P((int dbnum));
-extern int     slap_destroy LDAP_P((void));
+int    slap_init LDAP_P((int mode, char* name));
+int    slap_startup LDAP_P((int dbnum));
+int    slap_shutdown LDAP_P((int dbnum));
+int    slap_destroy LDAP_P((void));
 
 struct sockaddr_in;
 
 struct slapd_args {
        struct sockaddr_in *addr;
        int tcps;
+#ifdef HAVE_TLS
+       struct sockaddr_in *tls_addr;
+       int tls_tcps;
+#endif
 };
 
 extern int     slapd_daemon LDAP_P((struct slapd_args *args));
@@ -386,18 +431,18 @@ extern void       slap_do_nothing   LDAP_P((int sig));
 
 extern void    config_info LDAP_P((Connection *conn, Operation *op));
 extern void    root_dse_info LDAP_P((Connection *conn, Operation *op, char **attrs, int attrsonly));
-extern void    do_abandon LDAP_P((Connection *conn, Operation *op));
-extern void    do_add LDAP_P((Connection *conn, Operation *op));
-extern void    do_bind LDAP_P((Connection *conn, Operation *op));
-extern void    do_compare LDAP_P((Connection *conn, Operation *op));
-extern void    do_delete LDAP_P((Connection *conn, Operation *op));
-extern void    do_modify LDAP_P((Connection *conn, Operation *op));
-extern void    do_modrdn LDAP_P((Connection *conn, Operation *op));
-extern void    do_search LDAP_P((Connection *conn, Operation *op));
-extern void    do_unbind LDAP_P((Connection *conn, Operation *op));
-
-extern int send_search_entry LDAP_P((Backend *be, Connection *conn, Operation *op, Entry *e, char **attrs, int attrsonly));
-extern int str2result LDAP_P(( char *s, int *code, char **matched, char **info ));
+
+extern int     do_abandon LDAP_P((Connection *conn, Operation *op));
+extern int     do_add LDAP_P((Connection *conn, Operation *op));
+extern int     do_bind LDAP_P((Connection *conn, Operation *op));
+extern int     do_compare LDAP_P((Connection *conn, Operation *op));
+extern int     do_delete LDAP_P((Connection *conn, Operation *op));
+extern int     do_modify LDAP_P((Connection *conn, Operation *op));
+extern int     do_modrdn LDAP_P((Connection *conn, Operation *op));
+extern int     do_search LDAP_P((Connection *conn, Operation *op));
+extern int     do_unbind LDAP_P((Connection *conn, Operation *op));
+extern int     do_extended LDAP_P((Connection *conn, Operation *op));
+
 
 extern ber_socket_t dtblsize;