]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/result.c
ITS#4088 force cursors to use same locker
[openldap] / servers / slapd / result.c
index 1593e22bb0fc9d0db62590182c1771e428d6162e..6ee58c16a383e08d22a337ddaa91de0727a77059 100644 (file)
@@ -836,7 +836,7 @@ slap_send_search_entry( Operation *op, SlapReply *rs )
                int finish = 0;
 
                if ( rs->sr_attrs == NULL ) {
-                       /* all attrs request, skip operational attributes */
+                       /* all user attrs request, skip operational attributes */
                        if( is_at_operational( desc->ad_type ) ) {
                                continue;
                        }
@@ -845,14 +845,13 @@ slap_send_search_entry( Operation *op, SlapReply *rs )
                        /* specific attrs requested */
                        if ( is_at_operational( desc->ad_type ) ) {
                                if ( !SLAP_OPATTRS( rs->sr_attr_flags ) &&
-                                               !ad_inlist( desc, rs->sr_attrs ) )
+                                       !ad_inlist( desc, rs->sr_attrs ) )
                                {
                                        continue;
                                }
 
                        } else {
-                               if ( !userattrs && !ad_inlist( desc, rs->sr_attrs ) )
-                               {
+                               if ( !userattrs && !ad_inlist( desc, rs->sr_attrs ) ) {
                                        continue;
                                }
                        }
@@ -994,7 +993,7 @@ slap_send_search_entry( Operation *op, SlapReply *rs )
                AttributeDescription *desc = a->a_desc;
 
                if ( rs->sr_attrs == NULL ) {
-                       /* all attrs request, skip operational attributes */
+                       /* all user attrs request, skip operational attributes */
                        if( is_at_operational( desc->ad_type ) ) {
                                continue;
                        }
@@ -1003,7 +1002,7 @@ slap_send_search_entry( Operation *op, SlapReply *rs )
                        /* specific attrs requested */
                        if( is_at_operational( desc->ad_type ) ) {
                                if ( !SLAP_OPATTRS( rs->sr_attr_flags ) && 
-                                               !ad_inlist( desc, rs->sr_attrs ) )
+                                       !ad_inlist( desc, rs->sr_attrs ) )
                                {
                                        continue;
                                }
@@ -1334,10 +1333,19 @@ slap_send_search_reference( Operation *op, SlapReply *rs )
 #ifdef LDAP_CONNECTIONLESS
        }
 #endif
+       if ( rs->sr_ref != NULL ) {
+               int     r;
+
+               for ( r = 0; !BER_BVISNULL( &rs->sr_ref[ r ] ); r++ ) {
+                       Statslog( LDAP_DEBUG_STATS2, "%s REF #%d \"%s\"\n",
+                               op->o_log_prefix, r, rs->sr_ref[0].bv_val,
+                               0, 0 );
+               }
 
-       Statslog( LDAP_DEBUG_STATS2, "%s REF dn=\"%s\"\n",
-               op->o_log_prefix, rs->sr_entry ? rs->sr_entry->e_dn : "(null)",
-               0, 0, 0 );
+       } else {
+               Statslog( LDAP_DEBUG_STATS2, "%s REF \"(null)\"\n",
+                       op->o_log_prefix, 0, 0, 0, 0 );
+       }
 
        Debug( LDAP_DEBUG_TRACE, "<= send_search_reference\n", 0, 0, 0 );