]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/bind.c
Round two of referrals/aliases: WORK IN PROGRESS, may not compile!
[openldap] / servers / slapd / bind.c
index df2a1845deb7cedf7ad8bae1d0010927bb319b64..c8daed7bfe2bab60394ff27c11edfd81d114a4d0 100644 (file)
@@ -159,7 +159,7 @@ do_bind(
        if ( version < LDAP_VERSION_MIN || version > LDAP_VERSION_MAX ) {
                Debug( LDAP_DEBUG_ANY, "unknown version %d\n", version, 0, 0 );
                send_ldap_result( conn, op, rc = LDAP_PROTOCOL_ERROR,
-                       NULL, "version not supported", NULL );
+                       NULL, "version not supported", NULL, NULL );
                goto cleanup;
        }
 
@@ -178,7 +178,7 @@ do_bind(
                                "do_bind: no sasl mechanism provided\n",
                                version, 0, 0 );
                        send_ldap_result( conn, op, rc = LDAP_AUTH_METHOD_NOT_SUPPORTED,
-                               NULL, "no sasl mechanism provided", NULL );
+                               NULL, "no sasl mechanism provided", NULL, NULL );
                        goto cleanup;
                }
 
@@ -187,7 +187,7 @@ do_bind(
                                "do_bind: sasl mechanism \"%s\" not supported.\n",
                                mech, 0, 0 );
                        send_ldap_result( conn, op, rc = LDAP_AUTH_METHOD_NOT_SUPPORTED,
-                               NULL, "sasl mechanism not supported", NULL );
+                               NULL, "sasl mechanism not supported", NULL, NULL );
                        goto cleanup;
                }
 
@@ -242,7 +242,8 @@ do_bind(
                 * we already forced connection to "anonymous", we just
                 * need to send success
                 */
-               send_ldap_result( conn, op, LDAP_SUCCESS, NULL, NULL, NULL );
+               send_ldap_result( conn, op, LDAP_SUCCESS,
+                       NULL, NULL, NULL, NULL );
                goto cleanup;
        }
 
@@ -255,15 +256,15 @@ do_bind(
        if ( (be = select_backend( ndn )) == NULL ) {
                if ( cred.bv_len == 0 ) {
                        send_ldap_result( conn, op, LDAP_SUCCESS,
-                               NULL, NULL, NULL );
+                               NULL, NULL, NULL, NULL );
 
                } else if ( default_referral ) {
                        send_ldap_result( conn, op, rc = LDAP_REFERRAL,
-                               NULL, NULL, default_referral );
+                               NULL, NULL, default_referral, NULL );
 
                } else {
                        send_ldap_result( conn, op, rc = LDAP_INVALID_CREDENTIALS,
-                               NULL, NULL, NULL );
+                               NULL, NULL, NULL, NULL );
                }
 
                goto cleanup;
@@ -273,8 +274,6 @@ do_bind(
                /* alias suffix */
                char *edn;
 
-               ndn = suffixAlias( ndn, op, be );
-
                if ( (*be->be_bind)( be, conn, op, ndn, method, mech, &cred, &edn ) == 0 ) {
                        ldap_pvt_thread_mutex_lock( &conn->c_mutex );
 
@@ -295,7 +294,7 @@ do_bind(
 
                        /* send this here to avoid a race condition */
                        send_ldap_result( conn, op, LDAP_SUCCESS,
-                               NULL, NULL, NULL );
+                               NULL, NULL, NULL, NULL );
 
                } else if (edn != NULL) {
                        free( edn );
@@ -303,7 +302,7 @@ do_bind(
 
        } else {
                send_ldap_result( conn, op, rc = LDAP_UNWILLING_TO_PERFORM,
-                       NULL, "Function not implemented", NULL );
+                       NULL, "Function not implemented", NULL, NULL );
        }
 
 cleanup: