]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#4545 when referral chasing is off, complete the request
authorHoward Chu <hyc@openldap.org>
Wed, 13 Dec 2006 00:36:12 +0000 (00:36 +0000)
committerHoward Chu <hyc@openldap.org>
Wed, 13 Dec 2006 00:36:12 +0000 (00:36 +0000)
libraries/libldap/result.c

index 03bd73601dfe23ae46bff3a6a1e02b3754febb14..df0b056038e360a6146fa742dd14cb8ddbe781aa 100644 (file)
@@ -655,7 +655,7 @@ nextresp2:
                                                                lr->lr_msgid, 0, 0 );
                                                }
 
-                                               /* We sucessfully chased the reference */
+                                               /* We successfully chased the reference */
                                                v3ref = V3REF_SUCCESS;
                                        }
                                }
@@ -728,6 +728,20 @@ nextresp2:
                                        LDAP_FREE( lr->lr_res_error );
                                        lr->lr_res_error = NULL;
                                }
+
+                               /* Since it's not a SearchReference, it must be a
+                                * result. Since we're not chasing the referral,
+                                * this request is done.
+                                */
+                               if ( v3ref == V3REF_TOAPP ) {
+                                       lr->lr_status = LDAP_REQST_COMPLETED;
+                                       Debug( LDAP_DEBUG_TRACE,
+                                               "request done: ld %p msgid %d, "
+                                               "referral returned to app\n",
+                                               (void *)ld, lr->lr_msgid, 0);
+                                       ldap_return_request( ld, lr, 1 );
+                                       lr = NULL;
+                               }
                        }
                }
        }