]> git.sur5r.net Git - openldap/commitdiff
fix return attributes (ITS#4203)
authorPierangelo Masarati <ando@openldap.org>
Wed, 23 Nov 2005 10:04:33 +0000 (10:04 +0000)
committerPierangelo Masarati <ando@openldap.org>
Wed, 23 Nov 2005 10:04:33 +0000 (10:04 +0000)
servers/slapd/overlays/pcache.c
tests/scripts/test020-proxycache

index ed8217eb408ae564040877f7dd2a768a855c4d75..0eca802cbe4a3d9fe4f40430f879deffa85b7af8 100644 (file)
@@ -1121,13 +1121,16 @@ proxy_cache_response(
                        }
                }
 
-               if (rs->sr_attrs != op->ors_attrs ) {
+               if ( rs->sr_attrs != op->ors_attrs ) {
                        op->o_tmpfree( rs->sr_attrs, op->o_tmpmemctx );
                }
-               rs->sr_attrs = si->query.save_attrs;
-               op->o_tmpfree( op->ors_attrs, op->o_tmpmemctx );
-               op->ors_attrs = si->query.save_attrs;
-               si->query.save_attrs = NULL;
+
+               if ( si->query.save_attrs != NULL ) {
+                       rs->sr_attrs = si->query.save_attrs;
+                       op->o_tmpfree( op->ors_attrs, op->o_tmpmemctx );
+                       op->ors_attrs = si->query.save_attrs;
+                       si->query.save_attrs = NULL;
+               }
 
        } else if ( rs->sr_type == REP_RESULT ) {
                if ( si->count && cache_entries( op, rs, &uuid ) == 0 ) {
index 0fc9f8b719b8cdbabf5bedb2fbafe802b1853324..5b4c6e27aa8e210c219153044c85c2a9cc1c678d 100755 (executable)
@@ -114,10 +114,13 @@ if test $RC != 0 ; then
        exit $RC
 fi
 
+cat /dev/null > $SLAVEOUT
+
 echo "Making queries on the proxy cache..." 
 echo "Query 1: filter:(sn=Jon) attrs: all" 
+echo "# Query 1: filter:(sn=Jon) attrs: all" >> $SLAVEOUT
 $LDAPSEARCH -x -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
-       'sn=Jon' > $SLAVEOUT 2>&1
+       'sn=Jon' >> $SLAVEOUT 2>&1
 RC=$?
 if test $RC != 0 ; then
        echo "ldapsearch failed ($RC)!"
@@ -126,6 +129,7 @@ if test $RC != 0 ; then
 fi
 
 echo "Query 2: filter:(|(cn=*Jon*)(sn=Jon*)) attrs:cn sn title uid"  
+echo "# Query 2: filter:(|(cn=*Jon*)(sn=Jon*)) attrs:cn sn title uid" >> $SLAVEOUT
 $LDAPSEARCH -x -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
        '(|(cn=*Jon*)(sn=Jon*))' cn sn title uid >> $SLAVEOUT 2>&1
 RC=$?
@@ -136,6 +140,7 @@ if test $RC != 0 ; then
 fi
 
 echo "Query 3: filter:(sn=Smith*) attrs:cn sn title uid"  
+echo "# Query 3: filter:(sn=Smith*) attrs:cn sn title uid" >> $SLAVEOUT
 $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
        'sn=Smith*' cn sn title uid >> $SLAVEOUT 2>&1
 RC=$?
@@ -146,6 +151,7 @@ if test $RC != 0 ; then
 fi
 
 echo "Query 4: filter:(sn=Doe*) attrs:cn sn title uid"  
+echo "# Query 4: filter:(sn=Doe*) attrs:cn sn title uid" >> $SLAVEOUT
 $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
        'sn=Doe' cn sn title uid >> $SLAVEOUT 2>&1
 RC=$?
@@ -156,6 +162,7 @@ if test $RC != 0 ; then
 fi
  
 echo "Query 5: filter:(uid=bjorn) attrs:mail postaladdress telephonenumber cn uid"  
+echo "# Query 5: filter:(uid=bjorn) attrs:mail postaladdress telephonenumber cn uid" >> $SLAVEOUT
 $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
        'uid=bjorn' mail postaladdress telephonenumber cn uid >> $SLAVEOUT 2>&1
 RC=$?
@@ -166,6 +173,7 @@ if test $RC != 0 ; then
 fi
 
 echo "Query 6: filter:(mail=*@mail.alumni.example.com) cn sn title uid"  
+echo "# Query 6: filter:(mail=*@mail.alumni.example.com) cn sn title uid" >> $SLAVEOUT
 $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
        'mail=*@mail.alumni.example.com' cn sn title uid >> $SLAVEOUT 2>&1
 RC=$?
@@ -176,6 +184,7 @@ if test $RC != 0 ; then
 fi
 
 echo "Query 7: filter:(mail=*) cn sn title uid"  
+echo "# Query 7: filter:(mail=*) cn sn title uid" >> $SLAVEOUT
 $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
        'mail=*' cn sn title uid >> $SLAVEOUT 2>&1
 RC=$?
@@ -209,6 +218,7 @@ else
 fi
 
 echo "Query 8: filter:(|(cn=*Jones)(sn=Jones)) attrs:cn sn title uid"  
+echo "# Query 8: filter:(|(cn=*Jones)(sn=Jones)) attrs:cn sn title uid" >> $SLAVEOUT
 $LDAPSEARCH -x -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
        '(|(cn=*Jones)(sn=Jones))' cn sn title uid >> $SLAVEOUT 2>&1
 RC=$?
@@ -219,6 +229,7 @@ if test $RC != 0 ; then
 fi
 
 echo "Query 9: filter:(sn=Smith) attrs:cn sn title uid"  
+echo "# Query 9: filter:(sn=Smith) attrs:cn sn title uid" >> $SLAVEOUT
 $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
        'sn=Smith' cn sn title uid >> $SLAVEOUT 2>&1
 RC=$?
@@ -229,6 +240,7 @@ if test $RC != 0 ; then
 fi
 
 echo "Query 10: filter:(uid=bjorn) attrs:mail postaladdress telephonenumber cn uid"  
+echo "# Query 10: filter:(uid=bjorn) attrs:mail postaladdress telephonenumber cn uid" >> $SLAVEOUT
 $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
        'uid=bjorn' mail postaladdress telephonenumber cn uid >> $SLAVEOUT 2>&1
 RC=$?
@@ -239,6 +251,7 @@ if test $RC != 0 ; then
 fi
 
 echo "Query 11: filter:(mail=jaj@mail.alumni.example.com) cn sn title uid"  
+echo "# Query 11: filter:(mail=jaj@mail.alumni.example.com) cn sn title uid" >> $SLAVEOUT
 $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
        'mail=jaj@mail.alumni.example.com' cn sn title uid >> $SLAVEOUT 2>&1
 RC=$?