]> git.sur5r.net Git - openldap/commitdiff
fix ITS#3484
authorPierangelo Masarati <ando@openldap.org>
Wed, 12 Jan 2005 23:22:56 +0000 (23:22 +0000)
committerPierangelo Masarati <ando@openldap.org>
Wed, 12 Jan 2005 23:22:56 +0000 (23:22 +0000)
servers/slapd/back-ldap/chain.c
servers/slapd/passwd.c
tests/scripts/test032-chain

index bb615aaa2a3f811d8224d409ef8559ade346d0ae..b8659d93a76ad6462b895e9218ac058070f06ecb 100644 (file)
@@ -362,6 +362,12 @@ end_of_searchref:;
                break;
        case LDAP_REQ_EXTENDED:
                rc = lback->bi_extended( op, rs );
+               /* FIXME: ldap_back_extended() by design 
+                * doesn't send result; frontend is expected
+                * to send it... */
+               if ( rc != SLAPD_ABANDON ) {
+                       send_ldap_extended( op, rs );
+               }
                break;
        default:
                rc = SLAP_CB_CONTINUE;
index dd04fcfe5c73066e61e9314cc88fe7c90b5aadb3..bc48e0133b91017cf5ef9b24526958bb5bb53616 100644 (file)
@@ -113,6 +113,11 @@ int passwd_extop(
                goto error_return;
        }
 
+       /* check for referrals */
+       if ( backend_check_referrals( op, rs ) != LDAP_SUCCESS ) {
+               rc = rs->sr_err;
+               goto error_return;
+       }
 
 #ifndef SLAPD_MULTIMASTER
        /* This does not apply to multi-master case */
index 442863a5c4c73092e654f6cc98d87fcececcf98f..de27ec0fce855c383982382ac3fc599630eb6534 100755 (executable)
@@ -217,6 +217,28 @@ for P in $PORT1 $PORT2 ; do
        fi
 done
 
+NEWPW=newsecret
+echo "Using ldappasswd on second server with scope on first server..."
+$LDAPPASSWD -h $LOCALHOST -p $PORT2 \
+       -w secret -s $NEWPW \
+       -D "$MANAGERDN" "$BJORNSDN" >> $TESTOUT 2>&1
+RC=$?
+if test $RC != 0 ; then
+       echo "ldappasswd failed ($RC)!"
+       test $KILLSERVERS != no && kill -HUP $KILLPIDS
+       exit $RC
+fi
+
+echo "Binding with newly changed password on first server..."
+$LDAPWHOAMI -h $LOCALHOST -p $PORT1 \
+       -D "$BJORNSDN" -w $NEWPW
+RC=$?
+if test $RC != 0 ; then
+       echo "ldapwhoami failed ($RC)!"
+       test $KILLSERVERS != no && kill -HUP $KILLPIDS
+       exit $RC
+fi
+
 test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
 echo ">>>>> Test succeeded"