free( cred.bv_val );
}
+ conn->c_protocol = version;
+
send_ldap_result( conn, op, LDAP_SUCCESS, NULL, NULL );
return;
}
free( cred.bv_val );
}
if ( cred.bv_len == 0 ) {
+ conn->c_protocol = version;
send_ldap_result( conn, op, LDAP_SUCCESS,
NULL, NULL );
} else if ( default_referral && *default_referral ) {
if ( (*be->be_bind)( be, conn, op, ndn, method, &cred, &edn ) == 0 ) {
pthread_mutex_lock( &conn->c_dnmutex );
+ conn->c_protocol = version;
+
if ( conn->c_cdn != NULL ) {
free( conn->c_cdn );
}
char *c_cdn; /* DN provided by the client */
char *c_dn; /* DN bound to this conn */
pthread_mutex_t c_dnmutex; /* mutex for c_dn field */
+ int c_protocol; /* version of the LDAP protocol used by client */
int c_authtype; /* auth method used to bind c_dn */
#ifdef LDAP_COMPAT
int c_version; /* for compatibility w/2.0, 3.0 */