]> git.sur5r.net Git - openldap/commitdiff
Quick sb_max_incoming hack, should be configurable (likely
authorKurt Zeilenga <kurt@openldap.org>
Fri, 4 May 2001 21:55:07 +0000 (21:55 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Fri, 4 May 2001 21:55:07 +0000 (21:55 +0000)
with differing anonymous vs authenticated values).

servers/slapd/connection.c
servers/slapd/slap.h

index 941297947605ecfceb3047c8fffe0841e565fdfa..56c4b1bfc0678aa2c84287622e8b45bbb883b926 100644 (file)
@@ -404,33 +404,39 @@ long connection_init(
 
     assert( c != NULL );
 
-    if( c->c_struct_state == SLAP_C_UNINITIALIZED ) {
+       if( c->c_struct_state == SLAP_C_UNINITIALIZED ) {
                c->c_authmech = NULL;
-       c->c_dn = NULL;
-       c->c_cdn = NULL;
+               c->c_dn = NULL;
+               c->c_cdn = NULL;
 
                c->c_listener_url = NULL;
                c->c_peer_domain = NULL;
-       c->c_peer_name = NULL;
-       c->c_sock_name = NULL;
+               c->c_peer_name = NULL;
+               c->c_sock_name = NULL;
 
-       c->c_ops = NULL;
-       c->c_pending_ops = NULL;
+               c->c_ops = NULL;
+               c->c_pending_ops = NULL;
 
                c->c_sasl_bind_mech = NULL;
                c->c_sasl_context = NULL;
                c->c_sasl_extra = NULL;
 
-       c->c_sb = ber_sockbuf_alloc( );
+               c->c_sb = ber_sockbuf_alloc( );
+
+               {
+                       ber_len_t max = SLAP_MAX_INCOMING;
+                       ber_sockbuf_ctrl( c->c_sb, LBER_SB_OPT_SET_MAX_INCOMING, &max );
+               }
+
                c->c_currentber = NULL;
 
-       /* should check status of thread calls */
-       ldap_pvt_thread_mutex_init( &c->c_mutex );
-       ldap_pvt_thread_mutex_init( &c->c_write_mutex );
-       ldap_pvt_thread_cond_init( &c->c_write_cv );
+               /* should check status of thread calls */
+               ldap_pvt_thread_mutex_init( &c->c_mutex );
+               ldap_pvt_thread_mutex_init( &c->c_write_mutex );
+               ldap_pvt_thread_cond_init( &c->c_write_cv );
 
-       c->c_struct_state = SLAP_C_UNUSED;
-    }
+               c->c_struct_state = SLAP_C_UNUSED;
+       }
 
     ldap_pvt_thread_mutex_lock( &c->c_mutex );
 
@@ -625,8 +631,14 @@ connection_destroy( Connection *c )
        }
 
        ber_sockbuf_free( c->c_sb );
+
        c->c_sb = ber_sockbuf_alloc( );
 
+       {
+               ber_len_t max = SLAP_MAX_INCOMING;
+               ber_sockbuf_ctrl( c->c_sb, LBER_SB_OPT_SET_MAX_INCOMING, &max );
+       }
+
     c->c_conn_state = SLAP_C_INVALID;
     c->c_struct_state = SLAP_C_UNUSED;
 }
index 5afd568472af18a4751a32472e795ad07d5e06fe..7aab3ca522092d7f7a71002a3bba8eaccf689418 100644 (file)
@@ -58,6 +58,7 @@ LDAP_BEGIN_DECL
 
 #define MAXREMATCHES 10
 
+#define SLAP_MAX_INCOMING (1<<18 - 1)
 #define SLAP_MAX_WORKER_THREADS                32