+ if( edn.bv_len != 0 ) {
+ /* edn is always normalized already */
+ ber_dupbv( &conn->c_ndn, &conn->c_dn );
+ }
+ conn->c_authmech = conn->c_sasl_bind_mech;
+ conn->c_sasl_bind_mech.bv_val = NULL;
+ conn->c_sasl_bind_mech.bv_len = 0;
+ conn->c_sasl_bind_in_progress = 0;
+
+ conn->c_sasl_ssf = ssf;
+ if( ssf > conn->c_ssf ) {
+ conn->c_ssf = ssf;
+ }
+
+ if( conn->c_dn.bv_len != 0 ) {
+ ber_len_t max = sockbuf_max_incoming_auth;
+ ber_sockbuf_ctrl( conn->c_sb,
+ LBER_SB_OPT_SET_MAX_INCOMING, &max );
+ }
+
+#ifdef NEW_LOGGING
+ LDAP_LOG( OPERATION, DETAIL1,
+ "do_bind: SASL/%s bind: dn=\"%s\" ssf=%d\n",
+ conn->c_authmech.bv_val, conn->c_dn.bv_val, ssf );
+#else
+ Debug( LDAP_DEBUG_TRACE,
+ "do_bind: SASL/%s bind: dn=\"%s\" ssf=%d\n",
+ conn->c_authmech.bv_val, conn->c_dn.bv_val, ssf );
+#endif